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
1c9a6e5327
commit
414dfd6eee
@ -189,7 +189,13 @@ static void freebsd4_sendsig(sig_t catcher, ksiginfo_t *, sigset_t *mask);
|
|||||||
long Maxmem = 0;
|
long Maxmem = 0;
|
||||||
long realmem = 0;
|
long realmem = 0;
|
||||||
|
|
||||||
#define PHYSMAP_SIZE (2 * 16)
|
/*
|
||||||
|
* 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 phys_avail[PHYSMAP_SIZE + 2];
|
||||||
vm_paddr_t dump_avail[PHYSMAP_SIZE + 2];
|
vm_paddr_t dump_avail[PHYSMAP_SIZE + 2];
|
||||||
|
@ -84,6 +84,43 @@
|
|||||||
*/
|
*/
|
||||||
#define VM_PHYSSEG_DENSE
|
#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 17
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Create one free page pool. Since the i386 kernel virtual address
|
||||||
|
* space does not include a mapping onto the machine's entire physical
|
||||||
|
* memory, VM_FREEPOOL_DIRECT is defined as an alias for the default
|
||||||
|
* pool, VM_FREEPOOL_DEFAULT.
|
||||||
|
*/
|
||||||
|
#define VM_NFREEPOOL 1
|
||||||
|
#define VM_FREEPOOL_DEFAULT 0
|
||||||
|
#define VM_FREEPOOL_DIRECT 0
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 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
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The largest allocation size is 2MB under PAE and 4MB otherwise.
|
||||||
|
*/
|
||||||
|
#ifdef PAE
|
||||||
|
#define VM_NFREEORDER 10
|
||||||
|
#else
|
||||||
|
#define VM_NFREEORDER 11
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Kernel physical load address.
|
* Kernel physical load address.
|
||||||
*/
|
*/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user