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