Module Name:    src
Committed By:   riastradh
Date:           Mon Aug 27 13:44:54 UTC 2018

Modified Files:
        src/sys/external/bsd/drm2/include/linux: mm.h slab.h vmalloc.h

Log Message:
Implement kvfree by free(9); assume kmalloc/vmalloc use malloc(9).


To generate a diff of this commit:
cvs rdiff -u -r1.8 -r1.9 src/sys/external/bsd/drm2/include/linux/mm.h
cvs rdiff -u -r1.5 -r1.6 src/sys/external/bsd/drm2/include/linux/slab.h \
    src/sys/external/bsd/drm2/include/linux/vmalloc.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/external/bsd/drm2/include/linux/mm.h
diff -u src/sys/external/bsd/drm2/include/linux/mm.h:1.8 src/sys/external/bsd/drm2/include/linux/mm.h:1.9
--- src/sys/external/bsd/drm2/include/linux/mm.h:1.8	Mon Aug 27 07:23:22 2018
+++ src/sys/external/bsd/drm2/include/linux/mm.h	Mon Aug 27 13:44:54 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: mm.h,v 1.8 2018/08/27 07:23:22 riastradh Exp $	*/
+/*	$NetBSD: mm.h,v 1.9 2018/08/27 13:44:54 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2013 The NetBSD Foundation, Inc.
@@ -32,6 +32,8 @@
 #ifndef _LINUX_MM_H_
 #define _LINUX_MM_H_
 
+#include <sys/malloc.h>
+
 #include <uvm/uvm_extern.h>
 
 #include <asm/page.h>
@@ -77,10 +79,17 @@ get_num_physpages(void)
 	return uvmexp.npages;
 }
 
+/*
+ * XXX Requires that kmalloc in <linux/slab.h> and vmalloc in
+ * <linux/vmalloc.h> both use malloc(9).  If you change either of
+ * those, be sure to update this.
+ */
 static inline void
-kvfree(void * ptr)
+kvfree(void *ptr)
 {
-	panic("Unimplemented");
+
+	if (ptr != NULL)
+		free(ptr, M_TEMP);
 }
 
 static inline void

Index: src/sys/external/bsd/drm2/include/linux/slab.h
diff -u src/sys/external/bsd/drm2/include/linux/slab.h:1.5 src/sys/external/bsd/drm2/include/linux/slab.h:1.6
--- src/sys/external/bsd/drm2/include/linux/slab.h:1.5	Mon Mar  2 02:26:37 2015
+++ src/sys/external/bsd/drm2/include/linux/slab.h	Mon Aug 27 13:44:54 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: slab.h,v 1.5 2015/03/02 02:26:37 riastradh Exp $	*/
+/*	$NetBSD: slab.h,v 1.6 2018/08/27 13:44:54 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2013 The NetBSD Foundation, Inc.
@@ -81,6 +81,12 @@ linux_gfp_to_malloc(gfp_t gfp)
 	return flags;
 }
 
+/*
+ * XXX vmalloc and kmalloc both use malloc(9).  If you change this, be
+ * sure to update vmalloc in <linux/vmalloc.h> and kvfree in
+ * <linux/mm.h>.
+ */
+
 static inline void *
 kmalloc(size_t size, gfp_t gfp)
 {
Index: src/sys/external/bsd/drm2/include/linux/vmalloc.h
diff -u src/sys/external/bsd/drm2/include/linux/vmalloc.h:1.5 src/sys/external/bsd/drm2/include/linux/vmalloc.h:1.6
--- src/sys/external/bsd/drm2/include/linux/vmalloc.h:1.5	Mon Aug  6 00:30:07 2018
+++ src/sys/external/bsd/drm2/include/linux/vmalloc.h	Mon Aug 27 13:44:54 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: vmalloc.h,v 1.5 2018/08/06 00:30:07 riastradh Exp $	*/
+/*	$NetBSD: vmalloc.h,v 1.6 2018/08/27 13:44:54 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2013, 2018 The NetBSD Foundation, Inc.
@@ -40,10 +40,14 @@
 
 #include <asm/page.h>
 
+/*
+ * XXX vmalloc and kmalloc both use malloc(9).  If you change this, be
+ * sure to update kmalloc in <linux/slab.h> and kvfree in <linux/mm.h>.
+ */
+
 static inline bool
 is_vmalloc_addr(void *addr)
 {
-	/* XXX Assumes vmalloc and kmalloc both use malloc(9).  */
 	return true;
 }
 

Reply via email to