提交 c11e2ec0 创建 作者: Austin Clements's avatar Austin Clements

Make zfree take a void* instead of char*

上级 61789426
...@@ -248,7 +248,7 @@ void* pagelookup(struct vmap*, uptr); ...@@ -248,7 +248,7 @@ void* pagelookup(struct vmap*, uptr);
// zalloc.cc // zalloc.cc
char* zalloc(const char* name); char* zalloc(const char* name);
void zfree(char* p); void zfree(void* p);
// other exported/imported functions // other exported/imported functions
void cmain(u64 mbmagic, u64 mbaddr); void cmain(u64 mbmagic, u64 mbaddr);
......
...@@ -17,7 +17,7 @@ struct zallocator { ...@@ -17,7 +17,7 @@ struct zallocator {
void init(int); void init(int);
char* alloc(const char*); char* alloc(const char*);
void free(char*); void free(void*);
void tryrefill(); void tryrefill();
}; };
percpu<zallocator> z_; percpu<zallocator> z_;
...@@ -88,11 +88,11 @@ zallocator::alloc(const char* name) ...@@ -88,11 +88,11 @@ zallocator::alloc(const char* name)
} }
void void
zallocator::free(char* p) zallocator::free(void* p)
{ {
if (0) if (0)
for (int i = 0; i < 4096; i++) for (int i = 0; i < 4096; i++)
assert(p[i] == 0); assert(((char*)p)[i] == 0);
kmem.free((struct run*)p); kmem.free((struct run*)p);
} }
...@@ -104,7 +104,7 @@ zalloc(const char* name) ...@@ -104,7 +104,7 @@ zalloc(const char* name)
} }
void void
zfree(char* p) zfree(void* p)
{ {
z_->free(p); z_->free(p);
} }
......
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论