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;
}