Module Name: src
Committed By: rmind
Date: Sat Jan 28 23:05:48 UTC 2012
Modified Files:
src/sys/kern: subr_vmem.c
Log Message:
- Make subr_vmem.c compile as standalone again.
- Reduce some #ifdefs.
To generate a diff of this commit:
cvs rdiff -u -r1.66 -r1.67 src/sys/kern/subr_vmem.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/kern/subr_vmem.c
diff -u src/sys/kern/subr_vmem.c:1.66 src/sys/kern/subr_vmem.c:1.67
--- src/sys/kern/subr_vmem.c:1.66 Fri Jan 27 19:48:40 2012
+++ src/sys/kern/subr_vmem.c Sat Jan 28 23:05:48 2012
@@ -1,4 +1,4 @@
-/* $NetBSD: subr_vmem.c,v 1.66 2012/01/27 19:48:40 para Exp $ */
+/* $NetBSD: subr_vmem.c,v 1.67 2012/01/28 23:05:48 rmind Exp $ */
/*-
* Copyright (c)2006,2007,2008,2009 YAMAMOTO Takashi,
@@ -34,7 +34,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: subr_vmem.c,v 1.66 2012/01/27 19:48:40 para Exp $");
+__KERNEL_RCSID(0, "$NetBSD: subr_vmem.c,v 1.67 2012/01/28 23:05:48 rmind Exp $");
#if defined(_KERNEL)
#include "opt_ddb.h"
@@ -85,6 +85,7 @@ VMEM_EVCNT_DEFINE(bt_inuse)
kcondvar_t name;
#else /* defined(_KERNEL) */
+#include <stdio.h>
#include <errno.h>
#include <assert.h>
#include <stdlib.h>
@@ -220,7 +221,6 @@ static kmutex_t vmem_list_lock;
static LIST_HEAD(, vmem) vmem_list = LIST_HEAD_INITIALIZER(vmem_list);
#endif /* defined(_KERNEL) */
-
/* ---- misc */
#define VMEM_ALIGNUP(addr, align) \
@@ -234,34 +234,14 @@ static LIST_HEAD(, vmem) vmem_list = LIS
#if !defined(_KERNEL)
#define xmalloc(sz, flags) malloc(sz)
-#define xfree(p) free(p)
+#define xfree(p, sz) free(p)
#define bt_alloc(vm, flags) malloc(sizeof(bt_t))
#define bt_free(vm, bt) free(bt)
-#else /* !defined(_KERNEL) */
-
-static inline void *
-xmalloc(size_t sz, vm_flag_t flags)
-{
-
-#if defined(_KERNEL)
- return kmem_alloc(sz, (flags & VM_SLEEP) ? KM_SLEEP : KM_NOSLEEP);
-#else /* defined(_KERNEL) */
- return malloc(sz);
-#endif /* defined(_KERNEL) */
-}
-
-static inline void
-xfree(void *p, size_t sz)
-{
-
-#if defined(_KERNEL)
- kmem_free(p, sz);
#else /* defined(_KERNEL) */
- free(p);
-#endif /* defined(_KERNEL) */
-}
-#if defined(_KERNEL)
+#define xmalloc(sz, flags) \
+ kmem_alloc(sz, ((flags) & VM_SLEEP) ? KM_SLEEP : KM_NOSLEEP);
+#define xfree(p, sz) kmem_free(p, sz);
#define BT_MINRESERVE 6
#define BT_MAXFREE 64
@@ -288,8 +268,7 @@ static size_t vmem_btag_count = STATIC_B
/* ---- boundary tag */
-#define BT_PER_PAGE \
- (PAGE_SIZE / sizeof(bt_t))
+#define BT_PER_PAGE (PAGE_SIZE / sizeof(bt_t))
static int bt_refill(vmem_t *vm, vm_flag_t flags);
@@ -361,14 +340,11 @@ bt_refill(vmem_t *vm, vm_flag_t flags)
return 0;
}
-#endif /* defined(_KERNEL) */
static inline bt_t *
bt_alloc(vmem_t *vm, vm_flag_t flags)
{
bt_t *bt;
-
-#if defined(_KERNEL)
again:
VMEM_LOCK(vm);
if (vm->vm_nfreetags < BT_MINRESERVE &&
@@ -384,9 +360,6 @@ again:
vm->vm_nfreetags--;
VMEM_UNLOCK(vm);
VMEM_EVCNT_INCR(bt_inuse);
-#else /* defined(_KERNEL) */
- bt = malloc(sizeof *bt);
-#endif /* defined(_KERNEL) */
return bt;
}
@@ -395,7 +368,6 @@ static inline void
bt_free(vmem_t *vm, bt_t *bt)
{
-#if defined(_KERNEL)
VMEM_LOCK(vm);
LIST_INSERT_HEAD(&vm->vm_freetags, bt, bt_freelist);
vm->vm_nfreetags++;
@@ -410,15 +382,12 @@ bt_free(vmem_t *vm, bt_t *bt)
}
VMEM_UNLOCK(vm);
VMEM_EVCNT_DECR(bt_inuse);
-#else /* defined(_KERNEL) */
- free(bt);
-#endif /* defined(_KERNEL) */
}
-#endif /* !defined(_KERNEL) */
+#endif /* defined(_KERNEL) */
/*
- * freelist[0] ... [1, 1]
+ * freelist[0] ... [1, 1]
* freelist[1] ... [2, 3]
* freelist[2] ... [4, 7]
* freelist[3] ... [8, 15]
@@ -1056,8 +1025,7 @@ vmem_create_internal(const char *name, v
vmem_t *
vmem_create(const char *name, vmem_addr_t base, vmem_size_t size,
vmem_size_t quantum, vmem_import_t *importfn, vmem_release_t *releasefn,
- vmem_t *source, vmem_size_t qcache_max, vm_flag_t flags,
- int ipl)
+ vmem_t *source, vmem_size_t qcache_max, vm_flag_t flags, int ipl)
{
KASSERT((flags & (VM_SLEEP|VM_NOSLEEP)) != 0);
@@ -1077,8 +1045,7 @@ vmem_create(const char *name, vmem_addr_
vmem_t *
vmem_xcreate(const char *name, vmem_addr_t base, vmem_size_t size,
vmem_size_t quantum, vmem_ximport_t *importfn, vmem_release_t *releasefn,
- vmem_t *source, vmem_size_t qcache_max, vm_flag_t flags,
- int ipl)
+ vmem_t *source, vmem_size_t qcache_max, vm_flag_t flags, int ipl)
{
KASSERT((flags & (VM_SLEEP|VM_NOSLEEP)) != 0);
@@ -1865,4 +1832,3 @@ main(void)
exit(EXIT_SUCCESS);
}
#endif /* defined(UNITTEST) */
-