Create 'k' versions of the kernel malloc API.
authorMatthew Dillon <dillon@dragonflybsd.org>
Mon, 4 Sep 2006 23:03:38 +0000 (23:03 +0000)
committerMatthew Dillon <dillon@dragonflybsd.org>
Mon, 4 Sep 2006 23:03:38 +0000 (23:03 +0000)
sys/conf/options
sys/kern/kern_slaballoc.c
sys/sys/malloc.h

index e22835e..d2e12fa 100644 (file)
@@ -1,5 +1,5 @@
 # $FreeBSD: src/sys/conf/options,v 1.191.2.53 2003/06/04 17:56:58 sam Exp $
 # $FreeBSD: src/sys/conf/options,v 1.191.2.53 2003/06/04 17:56:58 sam Exp $
-# $DragonFly: src/sys/conf/options,v 1.52 2006/08/19 01:36:39 swildner Exp $
+# $DragonFly: src/sys/conf/options,v 1.53 2006/09/04 23:03:34 dillon Exp $
 #
 #        On the handling of kernel options
 #
 #
 #        On the handling of kernel options
 #
@@ -388,6 +388,7 @@ DONTPROBE_1284              opt_ppb_1284.h
 ENABLE_ALART           opt_intpm.h
 
 # These cause changes all over the kernel
 ENABLE_ALART           opt_intpm.h
 
 # These cause changes all over the kernel
+KMALLOC_ONLY           opt_global.h
 BLKDEV_IOSIZE          opt_global.h
 DEBUG                  opt_global.h
 DEBUG_LOCKS            opt_global.h
 BLKDEV_IOSIZE          opt_global.h
 DEBUG                  opt_global.h
 DEBUG_LOCKS            opt_global.h
index 6938027..82df2af 100644 (file)
@@ -33,7 +33,7 @@
  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  * 
  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  * 
- * $DragonFly: src/sys/kern/kern_slaballoc.c,v 1.39 2006/09/04 07:00:58 dillon Exp $
+ * $DragonFly: src/sys/kern/kern_slaballoc.c,v 1.40 2006/09/04 23:03:36 dillon Exp $
  *
  * This module implements a slab allocator drop-in replacement for the
  * kernel malloc().
  *
  * This module implements a slab allocator drop-in replacement for the
  * kernel malloc().
@@ -387,8 +387,9 @@ zoneindex(unsigned long *bytes)
  *
  * MPSAFE
  */
  *
  * MPSAFE
  */
+
 void *
 void *
-malloc(unsigned long size, struct malloc_type *type, int flags)
+kmalloc(unsigned long size, struct malloc_type *type, int flags)
 {
     SLZone *z;
     SLChunk *chunk;
 {
     SLZone *z;
     SLChunk *chunk;
@@ -685,7 +686,7 @@ fail:
  * new size fits within the chunking of the old pointer's zone.
  */
 void *
  * new size fits within the chunking of the old pointer's zone.
  */
 void *
-realloc(void *ptr, unsigned long size, struct malloc_type *type, int flags)
+krealloc(void *ptr, unsigned long size, struct malloc_type *type, int flags)
 {
     SLZone *z;
     void *nptr;
 {
     SLZone *z;
     void *nptr;
@@ -788,7 +789,7 @@ free_remote(void *ptr)
  * MPSAFE
  */
 void
  * MPSAFE
  */
 void
-free(void *ptr, struct malloc_type *type)
+kfree(void *ptr, struct malloc_type *type)
 {
     SLZone *z;
     SLChunk *chunk;
 {
     SLZone *z;
     SLChunk *chunk;
@@ -1006,6 +1007,31 @@ chunk_mark_free(SLZone *z, void *chunk)
 
 #endif
 
 
 #endif
 
+#if !defined(KMALLOC_ONLY)
+/*
+ * Compatibility code for old libc-hostile function names
+ */
+
+void *
+malloc(unsigned long size, struct malloc_type *type, int flags)
+{
+    return(kmalloc(size, type, flags));
+}
+
+void *
+realloc(void *ptr, unsigned long size, struct malloc_type *type, int flags)
+{
+    return(krealloc(ptr, size, type, flags));
+}
+
+void
+free(void *ptr, struct malloc_type *type)
+{
+    kfree(ptr, type);
+}
+
+#endif
+
 /*
  * kmem_slab_alloc()
  *
 /*
  * kmem_slab_alloc()
  *
index 7facd80..f13b2a5 100644 (file)
@@ -32,7 +32,7 @@
  *
  *     @(#)malloc.h    8.5 (Berkeley) 5/3/95
  * $FreeBSD: src/sys/sys/malloc.h,v 1.48.2.2 2002/03/16 02:19:16 archie Exp $
  *
  *     @(#)malloc.h    8.5 (Berkeley) 5/3/95
  * $FreeBSD: src/sys/sys/malloc.h,v 1.48.2.2 2002/03/16 02:19:16 archie Exp $
- * $DragonFly: src/sys/sys/malloc.h,v 1.23 2006/09/04 07:00:58 dillon Exp $
+ * $DragonFly: src/sys/sys/malloc.h,v 1.24 2006/09/04 23:03:38 dillon Exp $
  */
 
 #ifndef _SYS_MALLOC_H_
  */
 
 #ifndef _SYS_MALLOC_H_
@@ -201,14 +201,24 @@ void      contigfree (void *addr, unsigned long size,
 void   *contigmalloc (unsigned long size, struct malloc_type *type,
                           int flags, vm_paddr_t low, vm_paddr_t high,
                           unsigned long alignment, unsigned long boundary);
 void   *contigmalloc (unsigned long size, struct malloc_type *type,
                           int flags, vm_paddr_t low, vm_paddr_t high,
                           unsigned long alignment, unsigned long boundary);
-void   free (void *addr, struct malloc_type *type);
-void   *malloc (unsigned long size, struct malloc_type *type, int flags);
 void   malloc_init (void *);
 void   malloc_uninit (void *);
 void   malloc_init (void *);
 void   malloc_uninit (void *);
+
+/*
+ * XXX remove the old malloc functions once all references to them have
+ * been renamed to the new kmalloc functions.
+ */
+#if !defined(KMALLOC_ONLY)
+void   *malloc (unsigned long size, struct malloc_type *type, int flags);
 void   *realloc (void *addr, unsigned long size,
                      struct malloc_type *type, int flags);
 void   *realloc (void *addr, unsigned long size,
                      struct malloc_type *type, int flags);
-void   *reallocf (void *addr, unsigned long size,
+void   free (void *addr, struct malloc_type *type);
+#endif
+
+void   *kmalloc (unsigned long size, struct malloc_type *type, int flags);
+void   *krealloc (void *addr, unsigned long size,
                      struct malloc_type *type, int flags);
                      struct malloc_type *type, int flags);
+void   kfree (void *addr, struct malloc_type *type);
 char   *kstrdup (const char *, struct malloc_type *);
 
 #endif /* _KERNEL */
 char   *kstrdup (const char *, struct malloc_type *);
 
 #endif /* _KERNEL */