aboutsummaryrefslogtreecommitdiff
path: root/sys/vm/uma.h
diff options
context:
space:
mode:
authorAlan Cox <alc@FreeBSD.org>2018-08-25 19:38:08 +0000
committerAlan Cox <alc@FreeBSD.org>2018-08-25 19:38:08 +0000
commit49bfa624ac861d7fafc87f06dc2cdf4972aed854 (patch)
tree67c3d87a41a1d37c805695647c6c1502e3a81c80 /sys/vm/uma.h
parentee6281c3d385306e6b6a7cc272f122154d409cba (diff)
Eliminate the arena parameter to kmem_free(). Implicitly this corrects an
error in the function hypercall_memfree(), where the wrong arena was being passed to kmem_free(). Introduce a per-page flag, VPO_KMEM_EXEC, to mark physical pages that are mapped in kmem with execute permissions. Use this flag to determine which arena the kmem virtual addresses are returned to. Eliminate UMA_SLAB_KRWX. The introduction of VPO_KMEM_EXEC makes it redundant. Update the nearby comment for UMA_SLAB_KERNEL. Reviewed by: kib, markj Discussed with: jeff Approved by: re (marius) Differential Revision: https://reviews.freebsd.org/D16845
Notes
Notes: svn path=/head/; revision=338318
Diffstat (limited to 'sys/vm/uma.h')
-rw-r--r--sys/vm/uma.h5
1 files changed, 2 insertions, 3 deletions
diff --git a/sys/vm/uma.h b/sys/vm/uma.h
index 87ace146bad2..06a3f3545cfb 100644
--- a/sys/vm/uma.h
+++ b/sys/vm/uma.h
@@ -616,12 +616,11 @@ void uma_zone_set_freef(uma_zone_t zone, uma_free freef);
* These flags are setable in the allocf and visible in the freef.
*/
#define UMA_SLAB_BOOT 0x01 /* Slab alloced from boot pages */
-#define UMA_SLAB_KRWX 0x02 /* Slab alloced from kernel_rwx_arena */
-#define UMA_SLAB_KERNEL 0x04 /* Slab alloced from kernel_map */
+#define UMA_SLAB_KERNEL 0x04 /* Slab alloced from kmem */
#define UMA_SLAB_PRIV 0x08 /* Slab alloced from priv allocator */
#define UMA_SLAB_OFFP 0x10 /* Slab is managed separately */
#define UMA_SLAB_MALLOC 0x20 /* Slab is a large malloc slab */
-/* 0x40 and 0x80 are available */
+/* 0x02, 0x40, and 0x80 are available */
/*
* Used to pre-fill a zone with some number of items