diff options
| author | Konstantin Belousov <kib@FreeBSD.org> | 2015-07-16 14:41:58 +0000 |
|---|---|---|
| committer | Konstantin Belousov <kib@FreeBSD.org> | 2015-07-16 14:41:58 +0000 |
| commit | b402bb69655f8c878a6f43a302dc20f06fb7b104 (patch) | |
| tree | a9994e2652a9004965044919dc052e1e341a9067 /sys/amd64/include | |
| parent | 8ded421e90013b85f75d36019866ff48064ef294 (diff) | |
Notes
Diffstat (limited to 'sys/amd64/include')
| -rw-r--r-- | sys/amd64/include/vmparam.h | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/sys/amd64/include/vmparam.h b/sys/amd64/include/vmparam.h index 14c51343b63e..91066c62f632 100644 --- a/sys/amd64/include/vmparam.h +++ b/sys/amd64/include/vmparam.h @@ -101,14 +101,22 @@ #define VM_FREEPOOL_DIRECT 1 /* - * Create two free page lists: VM_FREELIST_DEFAULT is for physical - * pages that are above the largest physical address that is - * accessible by ISA DMA and VM_FREELIST_ISADMA is for physical pages - * that are below that address. + * Create up to three free page lists: VM_FREELIST_DMA32 is for physical pages + * that have physical addresses below 4G but are not accessible by ISA DMA, + * and VM_FREELIST_ISADMA is for physical pages that are accessible by ISA + * DMA. */ -#define VM_NFREELIST 2 +#define VM_NFREELIST 3 #define VM_FREELIST_DEFAULT 0 -#define VM_FREELIST_ISADMA 1 +#define VM_FREELIST_DMA32 1 +#define VM_FREELIST_ISADMA 2 + +/* + * Create the DMA32 free list only if the number of physical pages above + * physical address 4G is at least 16M, which amounts to 64GB of physical + * memory. + */ +#define VM_DMA32_NPAGES_THRESHOLD 16777216 /* * An allocation size of 16MB is supported in order to optimize the |
