diff options
author | neal <neal> | 2007-11-19 22:42:36 +0000 |
---|---|---|
committer | neal <neal> | 2007-11-19 22:42:36 +0000 |
commit | 5c2c982ba3cfbe34c79cb2096018567ca6cd8fb6 (patch) | |
tree | 186d51c98040279981a620affa2fdf4b26dadcff /libhurd-mm/capalloc.c | |
parent | f38367b6493d6d4a51011a8d0fa81d1f3f49ca9e (diff) |
hurd/
2007-11-19 Neal H. Walfield <neal@gnu.org>
* addr.h (ADDR_TO_PTR): Assert that the address corresponds to a
pointer, not the root of a mapped page. Update callers.
(PTR_TO_ADDR): Return an address corresponding to a pointer, not
the root of a mapped page. Update callers.
libhurd-mm/
2007-11-19 Neal H. Walfield <neal@gnu.org>
* as.c (__hurd_startup_data): Declare.
(free_space_desc_slab_alloc): Use ADDR_TO_PTR and PTR_TO_ADDR
correctly.
(free_space_desc_slab_dealloc): Likewise.
(allocate_object): Likewise.
(storage_alloc): Likewise.
(as_init): Likewise.
* capalloc.c (cappage_desc_slab_alloc): Likewise.
(cappage_desc_slab_dealloc): Likewise.
* storage.c (__hurd_startup_data): Declare.
(check_slab_space_reserve): Likewise.
(storage_desc_slab_dealloc): Likewise.
(shadow_setup): Likewise.
(storage_free): Likewise.
ruth/
2007-11-19 Neal H. Walfield <neal@gnu.org>
* ruth.c (main): Use ADDR_TO_PTR and PTR_TO_ADDR correctly.
Diffstat (limited to 'libhurd-mm/capalloc.c')
-rw-r--r-- | libhurd-mm/capalloc.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/libhurd-mm/capalloc.c b/libhurd-mm/capalloc.c index f565201..c603dcf 100644 --- a/libhurd-mm/capalloc.c +++ b/libhurd-mm/capalloc.c @@ -89,7 +89,7 @@ cappage_desc_slab_alloc (void *hook, size_t size, void **ptr) cap_page, STORAGE_LONG_LIVED, ADDR_VOID); if (ADDR_IS_VOID (storage)) panic ("Out of storage"); - *ptr = ADDR_TO_PTR (storage); + *ptr = ADDR_TO_PTR (addr_extend (storage, 0, PAGESIZE_LOG2)); return 0; } @@ -99,7 +99,7 @@ cappage_desc_slab_dealloc (void *hook, void *buffer, size_t size) { assert (size == PAGESIZE); - addr_t addr = ADDR ((uintptr_t) buffer, ADDR_BITS - PAGESIZE_LOG2); + addr_t addr = addr_chop (PTR_TO_ADDR (buffer), PAGESIZE_LOG2); storage_free (addr, false); return 0; |