freebsd-nq/sys/mips/include
John Baldwin a3870a1826 Very rough first cut at NUMA support for the physical page allocator. For
now it uses a very dumb first-touch allocation policy.  This will change in
the future.
- Each architecture indicates the maximum number of supported memory domains
  via a new VM_NDOMAIN parameter in <machine/vmparam.h>.
- Each cpu now has a PCPU_GET(domain) member to indicate the memory domain
  a CPU belongs to.  Domain values are dense and numbered from 0.
- When a platform supports multiple domains, the default freelist
  (VM_FREELIST_DEFAULT) is split up into N freelists, one for each domain.
  The MD code is required to populate an array of mem_affinity structures.
  Each entry in the array defines a range of memory (start and end) and a
  domain for the range.  Multiple entries may be present for a single
  domain.  The list is terminated by an entry where all fields are zero.
  This array of structures is used to split up phys_avail[] regions that
  fall in VM_FREELIST_DEFAULT into per-domain freelists.
- Each memory domain has a separate lookup-array of freelists that is
  used when fulfulling a physical memory allocation.  Right now the
  per-domain freelists are listed in a round-robin order for each domain.
  In the future a table such as the ACPI SLIT table may be used to order
  the per-domain lookup lists based on the penalty for each memory domain
  relative to a specific domain.  The lookup lists may be examined via a
  new vm.phys.lookup_lists sysctl.
- The first-touch policy is implemented by using PCPU_GET(domain) to
  pick a lookup list when allocating memory.

Reviewed by:	alc
2010-07-27 20:33:50 +00:00
..
_align.h Merge from projects/mips to head by hand: 2010-01-10 19:50:24 +00:00
_bus.h Update the port of FreeBSD to Cavium Octeon to use the Cavium Simple Executive 2010-07-20 19:25:11 +00:00
_inttypes.h Adjust limits and formats for ABIs with 64-bit longs. 2010-04-16 23:54:56 +00:00
_limits.h Adjust limits and formats for ABIs with 64-bit longs. 2010-04-16 23:54:56 +00:00
_stdint.h
_types.h Merge from projects/mips to head by hand: 2010-01-10 19:50:24 +00:00
asm.h Move common macros into asm.h. Replace MIPS_CPU_NOP_DELAY with 2010-07-16 06:35:17 +00:00
atomic.h Merge from projects/mips to head by hand: 2010-01-10 19:50:24 +00:00
bootinfo.h
bswap.h
bus_dma.h
bus.h Add BUS_SPACE_UNRESTRICTED and define it to be ~0, just like all the 2010-04-08 19:34:55 +00:00
cache_mipsNN.h Update the port of FreeBSD to Cavium Octeon to use the Cavium Simple Executive 2010-07-20 19:25:11 +00:00
cache_r4k.h
cache.h Merge from projects/mips to head by hand: 2010-01-10 19:50:24 +00:00
cdefs.h Update macros for multiple ABI support from NetBSD. 2010-03-02 07:27:30 +00:00
clock.h Remove unused stuff from cpu.h. 2010-07-15 01:58:20 +00:00
clockvar.h
cpu.h Use #define for get_cyclecount rather than inline function. 2010-07-16 06:09:51 +00:00
cpufunc.h Update the port of FreeBSD to Cavium Octeon to use the Cavium Simple Executive 2010-07-20 19:25:11 +00:00
cpuinfo.h Remove some unused cruft. 2010-03-04 05:37:19 +00:00
cpuregs.h Update the port of FreeBSD to Cavium Octeon to use the Cavium Simple Executive 2010-07-20 19:25:11 +00:00
cputypes.h
db_machdep.h Use cpuregs.h spellings over the cpu.h spellings. 2010-07-14 00:52:29 +00:00
elf.h - Copy symbol-related tables (.symtab and .strtab) to the end of 2010-01-24 02:59:22 +00:00
endian.h Merge from projects/mips to head by hand: 2010-01-10 19:50:24 +00:00
exec.h
float.h Merge from projects/mips to head by hand: 2010-01-10 19:50:24 +00:00
floatingpoint.h
fls64.h With this commit our friend RMI will now compile. I have 2009-10-30 08:53:11 +00:00
fpu.h
frame.h
gdb_machdep.h
hwfunc.h Adds JC's cleanup patches that fix it so 2010-05-18 04:02:34 +00:00
ieee.h
ieeefp.h
in_cksum.h
intr_machdep.h Some fixes to the current RMI interrupt handling, changes in this patch are: 2010-02-20 16:30:29 +00:00
iodev.h
kdb.h Stash the context of the running thread at the time an IPI_STOP is received 2010-03-11 07:17:14 +00:00
limits.h
locore.h This pushes all of JC's patches that I have in place. I 2010-05-16 19:43:48 +00:00
md_var.h Remove unused stuff from cpu.h. 2010-07-15 01:58:20 +00:00
memdev.h
metadata.h
minidump.h
mips_opcode.h
mp_watchdog.h
mutex.h
param.h This pushes all of JC's patches that I have in place. I 2010-05-16 19:43:48 +00:00
pcb.h o) Make pcb_onfault a pointer rather than an obscure integer value. 2010-04-17 09:42:07 +00:00
pci_cfgreg.h
pcpu.h SMP support for the mips port. 2010-02-09 06:24:43 +00:00
pmap.h Merge jmallett@'s n64 work into HEAD - changeset 8 2010-07-08 14:49:55 +00:00
pmc_mdep.h Add support for hwpmc(4) on the MIPS 24K, 32 bit, embedded processor. 2010-03-03 15:05:58 +00:00
ppireg.h
proc.h Style: use #define<TAB> instead of #define<SPACE>. 2010-04-27 09:48:43 +00:00
profile.h o) Use inline functions to access coprocessor 0 registers rather than external 2010-04-17 01:17:31 +00:00
pte.h Merge jmallett@'s n64 work into HEAD 2010-07-12 07:42:42 +00:00
ptrace.h
reg.h
regdef.h Merge from projects/mips to head by hand: 2010-01-10 19:50:24 +00:00
regnum.h o) Eliminate the "stand" frame and its use. Use CALLFRAME_* everywhere. 2010-04-19 07:34:26 +00:00
reloc.h
resource.h
runq.h Use 64 bit type for rqb_word_t in n64 kernel. 2010-07-08 15:37:16 +00:00
setjmp.h Merge jmallett@'s n64 work into HEAD - changeset 7 2010-06-24 08:08:43 +00:00
sf_buf.h o) Use the direct map where possible for uiomove_fromphys, based on code from 2010-04-16 23:48:28 +00:00
sigframe.h
signal.h
smp.h Update MIPS timer code (except RMI) to utilize new MI event timer 2010-07-23 07:46:55 +00:00
stdarg.h
sysarch.h Merge r195128 from project/mips to head. 2010-01-09 04:59:57 +00:00
timerreg.h
tlb.h Move TLB definitions to tlb.h 2010-07-15 03:56:08 +00:00
trap.h o) Use inline functions to access coprocessor 0 registers rather than external 2010-04-17 01:17:31 +00:00
ucontext.h Update macros for multiple ABI support from NetBSD. 2010-03-02 07:27:30 +00:00
varargs.h
vm.h Merge jmallett@'s n64 work into HEAD - changeset 6 2010-06-23 19:42:01 +00:00
vmparam.h Very rough first cut at NUMA support for the physical page allocator. For 2010-07-27 20:33:50 +00:00