Add the machine-specific definitions for configuring the new physical
memory allocator. Set the size of phys_avail[] and dump_avail[] using one of these definitions. Approved by: re
This commit is contained in:
parent
1d558d6a15
commit
5b4a3e940f
@ -163,7 +163,13 @@ int cold = 1;
|
||||
long Maxmem = 0;
|
||||
long realmem = 0;
|
||||
|
||||
#define PHYSMAP_SIZE (2 * 30)
|
||||
/*
|
||||
* The number of PHYSMAP entries must be one less than the number of
|
||||
* PHYSSEG entries because the PHYSMAP entry that spans the largest
|
||||
* physical address that is accessible by ISA DMA is split into two
|
||||
* PHYSSEG entries.
|
||||
*/
|
||||
#define PHYSMAP_SIZE (2 * (VM_PHYSSEG_MAX - 1))
|
||||
|
||||
vm_paddr_t phys_avail[PHYSMAP_SIZE + 2];
|
||||
vm_paddr_t dump_avail[PHYSMAP_SIZE + 2];
|
||||
|
@ -92,6 +92,44 @@
|
||||
*/
|
||||
#define VM_PHYSSEG_DENSE
|
||||
|
||||
/*
|
||||
* The number of PHYSSEG entries must be one greater than the number
|
||||
* of phys_avail entries because the phys_avail entry that spans the
|
||||
* largest physical address that is accessible by ISA DMA is split
|
||||
* into two PHYSSEG entries.
|
||||
*/
|
||||
#define VM_PHYSSEG_MAX 31
|
||||
|
||||
/*
|
||||
* Create two free page pools: VM_FREEPOOL_DEFAULT is the default pool
|
||||
* from which physical pages are allocated and VM_FREEPOOL_DIRECT is
|
||||
* the pool from which physical pages for page tables and small UMA
|
||||
* objects are allocated.
|
||||
*/
|
||||
#define VM_NFREEPOOL 2
|
||||
#define VM_FREEPOOL_DEFAULT 0
|
||||
#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.
|
||||
*/
|
||||
#define VM_NFREELIST 2
|
||||
#define VM_FREELIST_DEFAULT 0
|
||||
#define VM_FREELIST_ISADMA 1
|
||||
|
||||
/*
|
||||
* An allocation size of 16MB is supported in order to optimize the
|
||||
* use of the direct map by UMA. Specifically, a cache line contains
|
||||
* at most 8 PDEs, collectively mapping 16MB of physical memory. By
|
||||
* reducing the number of distinct 16MB "pages" that are used by UMA,
|
||||
* the physical memory allocator reduces the likelihood of both 2MB
|
||||
* page TLB misses and cache misses caused by 2MB page TLB misses.
|
||||
*/
|
||||
#define VM_NFREEORDER 13
|
||||
|
||||
/*
|
||||
* Virtual addresses of things. Derived from the page directory and
|
||||
* page table indexes from pmap.h for precision.
|
||||
|
Loading…
Reference in New Issue
Block a user