Module Name: src Committed By: pooka Date: Fri Jul 20 09:11:33 UTC 2012
Modified Files: src/sys/rump/librump/rumpkern: memalloc.c vm.c Log Message: make unreal allocators work again To generate a diff of this commit: cvs rdiff -u -r1.16 -r1.17 src/sys/rump/librump/rumpkern/memalloc.c cvs rdiff -u -r1.127 -r1.128 src/sys/rump/librump/rumpkern/vm.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/rump/librump/rumpkern/memalloc.c diff -u src/sys/rump/librump/rumpkern/memalloc.c:1.16 src/sys/rump/librump/rumpkern/memalloc.c:1.17 --- src/sys/rump/librump/rumpkern/memalloc.c:1.16 Tue Jun 5 22:51:47 2012 +++ src/sys/rump/librump/rumpkern/memalloc.c Fri Jul 20 09:11:33 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: memalloc.c,v 1.16 2012/06/05 22:51:47 jym Exp $ */ +/* $NetBSD: memalloc.c,v 1.17 2012/07/20 09:11:33 pooka Exp $ */ /* * Copyright (c) 2009 Antti Kantee. All Rights Reserved. @@ -26,7 +26,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: memalloc.c,v 1.16 2012/06/05 22:51:47 jym Exp $"); +__KERNEL_RCSID(0, "$NetBSD: memalloc.c,v 1.17 2012/07/20 09:11:33 pooka Exp $"); #include <sys/param.h> #include <sys/kmem.h> @@ -122,6 +122,10 @@ kmem_free(void *p, size_t size) rumpuser_free(p); } +__strong_alias(kmem_intr_alloc, kmem_alloc); +__strong_alias(kmem_intr_zalloc, kmem_zalloc); +__strong_alias(kmem_intr_free, kmem_free); + /* * pool & pool_cache */ @@ -317,6 +321,12 @@ pool_page_free(struct pool *pp, void *it return pool_put(pp, item); } +struct pool_allocator pool_allocator_kmem = { + .pa_alloc = pool_page_alloc, + .pa_free = pool_page_free, + .pa_pagesz = 0 +}; + void vmem_rehash_start() { Index: src/sys/rump/librump/rumpkern/vm.c diff -u src/sys/rump/librump/rumpkern/vm.c:1.127 src/sys/rump/librump/rumpkern/vm.c:1.128 --- src/sys/rump/librump/rumpkern/vm.c:1.127 Tue Jun 5 22:51:47 2012 +++ src/sys/rump/librump/rumpkern/vm.c Fri Jul 20 09:11:33 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: vm.c,v 1.127 2012/06/05 22:51:47 jym Exp $ */ +/* $NetBSD: vm.c,v 1.128 2012/07/20 09:11:33 pooka Exp $ */ /* * Copyright (c) 2007-2011 Antti Kantee. All Rights Reserved. @@ -41,7 +41,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: vm.c,v 1.127 2012/06/05 22:51:47 jym Exp $"); +__KERNEL_RCSID(0, "$NetBSD: vm.c,v 1.128 2012/07/20 09:11:33 pooka Exp $"); #include <sys/param.h> #include <sys/atomic.h> @@ -331,6 +331,8 @@ uvm_init(void) kernel_map->pmap = pmap_kernel(); pool_subsystem_init(); + +#ifndef RUMP_USE_UNREAL_ALLOCATORS vmem_bootstrap(); kmem_arena = vmem_create("kmem", 0, 1024*1024, PAGE_SIZE, NULL, NULL, NULL, @@ -341,6 +343,7 @@ uvm_init(void) kmem_va_arena = vmem_create("kva", 0, 0, PAGE_SIZE, vmem_alloc, vmem_free, kmem_arena, 8 * PAGE_SIZE, VM_NOSLEEP | VM_BOOTSTRAP, IPL_VM); +#endif /* !RUMP_USE_UNREAL_ALLOCATORS */ pool_cache_bootstrap(&pagecache, sizeof(struct vm_page), 0, 0, 0, "page$", NULL, IPL_NONE, pgctor, pgdtor, NULL);