arena: make 'name' a const char *
I'd like to build an arena from Linux code, which tends to use 'const
char*' more aggressively than we did.
Signed-off-by: Barret Rhoden <brho@cs.berkeley.edu>
diff --git a/kern/include/arena.h b/kern/include/arena.h
index 049674c..1950cc2 100644
--- a/kern/include/arena.h
+++ b/kern/include/arena.h
@@ -94,7 +94,8 @@
* units of @quantum. If @source is provided, the arena will alloc new segments
* from @source, calling @afunc to alloc and @ffunc to free. Uses a slab
* allocator for allocations up to @qcache_max (0 = no caching). */
-struct arena *arena_create(char *name, void *base, size_t size, size_t quantum,
+struct arena *arena_create(const char *name, void *base, size_t size,
+ size_t quantum,
void *(*afunc)(struct arena *, size_t, int),
void (*ffunc)(struct arena *, void *, size_t),
struct arena *source, size_t qcache_max, int flags);
@@ -124,7 +125,7 @@
/* Low-level memory allocator intefaces */
extern struct arena *base_arena;
extern struct arena *kpages_arena;
-struct arena *arena_builder(void *pgaddr, char *name, size_t quantum,
+struct arena *arena_builder(void *pgaddr, const char *name, size_t quantum,
void *(*afunc)(struct arena *, size_t, int),
void (*ffunc)(struct arena *, void *, size_t),
struct arena *source, size_t qcache_max);
diff --git a/kern/src/arena.c b/kern/src/arena.c
index 30b1edb..00807ee 100644
--- a/kern/src/arena.c
+++ b/kern/src/arena.c
@@ -133,8 +133,7 @@
}
}
-/* Helper to init. Split out from create so we can bootstrap. */
-static void arena_init(struct arena *arena, char *name, size_t quantum,
+static void arena_init(struct arena *arena, const char *name, size_t quantum,
void *(*afunc)(struct arena *, size_t, int),
void (*ffunc)(struct arena *, void *, size_t),
struct arena *source, size_t qcache_max)
@@ -181,7 +180,8 @@
qunlock(&arenas_and_slabs_lock);
}
-struct arena *arena_create(char *name, void *base, size_t size, size_t quantum,
+struct arena *arena_create(const char *name, void *base, size_t size,
+ size_t quantum,
void *(*afunc)(struct arena *, size_t, int),
void (*ffunc)(struct arena *, void *, size_t),
struct arena *source, size_t qcache_max, int flags)
@@ -1164,7 +1164,7 @@
* This will be used for each NUMA domain's base arena, kpages_arena, and
* kmalloc_arena, since the normal arena_create() won't work yet (no kmalloc).
*/
-struct arena *arena_builder(void *pgaddr, char *name, size_t quantum,
+struct arena *arena_builder(void *pgaddr, const char *name, size_t quantum,
void *(*afunc)(struct arena *, size_t, int),
void (*ffunc)(struct arena *, void *, size_t),
struct arena *source, size_t qcache_max)