freebsd-nq/sys/powerpc/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 MFppc64: 2010-07-13 05:32:19 +00:00
_bus.h MFppc64: 2010-07-13 05:32:19 +00:00
_inttypes.h MFppc64: 2010-07-13 05:32:19 +00:00
_limits.h MFppc64: 2010-07-13 05:32:19 +00:00
_stdint.h MFppc64: 2010-07-13 05:32:19 +00:00
_types.h MFppc64: 2010-07-13 05:32:19 +00:00
altivec.h
asm.h MFppc64: 2010-07-13 05:32:19 +00:00
atomic.h MFppc64: 2010-07-13 05:32:19 +00:00
bat.h
bus_dma.h
bus.h MFppc64: 2010-07-13 05:32:19 +00:00
clock.h
cpu.h Add a CPU features framework on PowerPC and simplify CPU setup a little 2009-11-28 17:33:19 +00:00
cpufunc.h MFppc64: 2010-07-13 05:32:19 +00:00
db_machdep.h MFppc64: 2010-07-13 05:32:19 +00:00
dbdma.h
elf.h MFppc64: 2010-07-12 13:38:26 +00:00
endian.h
exec.h
fdt.h Eliminate FDT_IMMR_VA define. 2010-07-19 18:47:18 +00:00
float.h
floatingpoint.h
fpu.h
frame.h MFppc64: 2010-07-13 05:32:19 +00:00
gdb_machdep.h
hid.h MFppc64: 2010-07-13 05:32:19 +00:00
ieee.h
ieeefp.h
in_cksum.h
intr_machdep.h Configure interrupts on SMP systems to be distributed among all online 2010-06-23 22:33:03 +00:00
kdb.h
limits.h
md_var.h MFppc64: 2010-07-13 05:32:19 +00:00
memdev.h
metadata.h Convert Freescale PowerPC platforms to FDT convention. 2010-07-11 21:08:29 +00:00
mmuvar.h
mutex.h Initial support for SMP on PowerPC MPC85xx. 2009-05-21 11:43:37 +00:00
ofw_machdep.h Factor out platform dependent things unrelated to device drivers into a 2009-05-14 00:34:26 +00:00
openpicreg.h
openpicvar.h Configure interrupts on SMP systems to be distributed among all online 2010-06-23 22:33:03 +00:00
param.h When compat32 binary asks for the value of hw.machine_arch, report the 2010-07-22 09:13:49 +00:00
pcb.h MFppc64: 2010-07-13 05:32:19 +00:00
pcpu.h MFppc64: 2010-07-13 05:32:19 +00:00
pio.h Provide 64-bit big endian bus space operations for PowerPC. They are required 2009-06-06 09:33:32 +00:00
platform.h Factor out platform dependent things unrelated to device drivers into a 2009-05-14 00:34:26 +00:00
platformvar.h Factor out platform dependent things unrelated to device drivers into a 2009-05-14 00:34:26 +00:00
pmap.h MFppc64: 2010-07-13 05:32:19 +00:00
pmc_mdep.h
proc.h MFppc64: 2010-07-13 05:32:19 +00:00
profile.h MFppc64: 2010-07-13 05:32:19 +00:00
psl.h MFppc64: 2010-07-13 05:32:19 +00:00
pte.h MFppc64: 2010-07-13 05:32:19 +00:00
ptrace.h
reg.h MFppc64: 2010-07-13 05:32:19 +00:00
reloc.h
resource.h
runq.h MFppc64: 2010-07-13 05:32:19 +00:00
sc_machdep.h
setjmp.h
sf_buf.h Add support for 64-bit PowerPC CPUs operating in the 64-bit bridge mode 2009-04-04 00:22:44 +00:00
sigframe.h
signal.h
slb.h MFppc64: 2010-07-13 05:32:19 +00:00
smp.h MFppc64: 2010-07-13 05:32:19 +00:00
spr.h MFppc64: 2010-07-13 05:32:19 +00:00
sr.h MFppc64: 2010-07-13 05:32:19 +00:00
stack.h
stdarg.h
sysarch.h Add sysarch.h. It's included by drm(4). 2009-04-04 22:05:36 +00:00
tlb.h
trap_aim.h MFppc64: 2010-07-13 05:32:19 +00:00
trap_booke.h
trap.h
ucontext.h MFppc64: 2010-07-13 05:32:19 +00:00
varargs.h
vm.h Add support to the virtual memory system for configuring machine- 2009-07-12 23:31:20 +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