Changeset View
Changeset View
Standalone View
Standalone View
head/sys/vm/vm_phys.h
Show All 36 Lines | |||||
* Physical memory system definitions | * Physical memory system definitions | ||||
*/ | */ | ||||
#ifndef _VM_PHYS_H_ | #ifndef _VM_PHYS_H_ | ||||
#define _VM_PHYS_H_ | #define _VM_PHYS_H_ | ||||
#ifdef _KERNEL | #ifdef _KERNEL | ||||
#ifndef VM_NFREEORDER_MAX | |||||
#define VM_NFREEORDER_MAX VM_NFREEORDER | |||||
#endif | |||||
/* Domains must be dense (non-sparse) and zero-based. */ | /* Domains must be dense (non-sparse) and zero-based. */ | ||||
struct mem_affinity { | struct mem_affinity { | ||||
vm_paddr_t start; | vm_paddr_t start; | ||||
vm_paddr_t end; | vm_paddr_t end; | ||||
int domain; | int domain; | ||||
}; | }; | ||||
#ifdef NUMA | #ifdef NUMA | ||||
extern struct mem_affinity *mem_affinity; | extern struct mem_affinity *mem_affinity; | ||||
extern int *mem_locality; | extern int *mem_locality; | ||||
#endif | #endif | ||||
struct vm_freelist { | struct vm_freelist { | ||||
struct pglist pl; | struct pglist pl; | ||||
int lcnt; | int lcnt; | ||||
}; | }; | ||||
struct vm_phys_seg { | struct vm_phys_seg { | ||||
vm_paddr_t start; | vm_paddr_t start; | ||||
vm_paddr_t end; | vm_paddr_t end; | ||||
vm_page_t first_page; | vm_page_t first_page; | ||||
int domain; | int domain; | ||||
struct vm_freelist (*free_queues)[VM_NFREEPOOL][VM_NFREEORDER]; | struct vm_freelist (*free_queues)[VM_NFREEPOOL][VM_NFREEORDER_MAX]; | ||||
}; | }; | ||||
extern struct vm_phys_seg vm_phys_segs[]; | extern struct vm_phys_seg vm_phys_segs[]; | ||||
extern int vm_phys_nsegs; | extern int vm_phys_nsegs; | ||||
/* | /* | ||||
* The following functions are only to be used by the virtual memory system. | * The following functions are only to be used by the virtual memory system. | ||||
*/ | */ | ||||
▲ Show 20 Lines • Show All 49 Lines • Show Last 20 Lines |