freebsd-skq/sys/arm/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 Get rid of the _NO_NAMESPACE_POLLUTION kludge by creating an 2009-09-08 20:45:40 +00:00
_bus.h Remove errant % in license comment. 2008-02-26 11:45:32 +00:00
_inttypes.h The NetBSD Foundation has granted permission to remove clauses 3 and 4. 2010-02-16 21:59:17 +00:00
_limits.h
_stdint.h The NetBSD Foundation has granted permission to remove clauses 3 and 4. 2010-02-16 21:59:17 +00:00
_types.h
armreg.h Correct both FA526/FA626TE cpu ids since the cpu id is always 2010-02-20 14:52:07 +00:00
asm.h Define _ARM_ARCH_5E too, so that we know if pld/strd/ldrd are available. 2007-10-13 12:04:10 +00:00
asmacros.h Improve ARM_TP_ADDRESS and RAS area. 2008-02-05 10:22:33 +00:00
atomic.h Fix the userland, RAS, version of atomic_fetchadd_32 : 2009-03-31 23:47:18 +00:00
blockio.h
bootconfig.h Remove __P 2007-03-21 03:28:16 +00:00
bus_dma.h The NetBSD Foundation has granted permission to remove clauses 3 and 4. 2010-02-16 21:59:17 +00:00
bus.h Add BUS_SPACE_UNRESTRICTED and define it to be ~0, just like all the 2010-04-08 19:34:55 +00:00
clock.h
cpu.h
cpuconf.h Add support for FA626TE. 2010-05-04 10:14:05 +00:00
cpufunc.h Add support for FA626TE. 2010-05-04 10:14:05 +00:00
db_machdep.h Add "add pc, whatever" as a branch instruction, we use it in memcpy(). 2008-08-03 15:35:32 +00:00
disassem.h Catchup with new prototype for db_printf(). 2010-05-14 00:00:19 +00:00
elf.h Define architectural load bases for PIE binaries. Addresses were selected 2009-10-10 15:31:24 +00:00
endian.h Whitespace nit. 2008-08-23 23:35:08 +00:00
exec.h
fdt.h Eliminate FDT_IMMR_VA define. 2010-07-19 18:47:18 +00:00
fiq.h
float.h
floatingpoint.h
fp.h
frame.h
gdb_machdep.h
ieee.h Add support for the FPA floating-point format on ARM. The 2008-12-23 22:20:59 +00:00
ieeefp.h
in_cksum.h
intr.h Pass the previously returned IRQ back to arm_get_next_irq() so that 2009-06-09 18:18:41 +00:00
katelib.h
kdb.h Add kdb_cpu_sync_icache(), intended to synchronize instruction 2007-06-09 21:55:17 +00:00
limits.h
machdep.h Take the first baby step towards unifying and cleaning up arminit(): 2008-04-03 16:44:50 +00:00
md_var.h The FA526 belongs to the ARM9TDMI family 2010-05-12 05:50:56 +00:00
memdev.h Remove the unused major/minor numbers from iodev and memdev. 2008-06-25 07:45:31 +00:00
metadata.h Get rid of bootinfo for good in loader (U-Boot-based) and ARM. 2010-07-11 21:11:23 +00:00
minidump.h Support kernel crash mini dumps on ARM architecture. 2008-11-06 16:20:27 +00:00
mutex.h
ofw_machdep.h Initial FDT infrastructure elements for ARM. 2010-06-13 13:12:52 +00:00
param.h Add a new sysctl for reporting all of the supported page sizes. 2009-09-18 17:04:57 +00:00
pcb.h
pcpu.h Remove the unused field "pc_prvspace" from the MD fields for the struct 2008-09-11 20:39:46 +00:00
pmap.h On Alan's advice, rather than do a wholesale conversion on a single 2010-04-30 00:46:43 +00:00
pmc_mdep.h Intel XScale hwpmc(4) support. 2009-12-23 23:16:54 +00:00
proc.h Style: use #define<TAB> instead of #define<SPACE>. 2010-04-27 09:48:43 +00:00
profile.h Use __mcount() instead of _mcount() to reduce diffs with NetBSD. 2007-05-19 16:20:37 +00:00
psl.h
pte.h Fix the cache mode description. 2007-07-27 14:45:33 +00:00
ptrace.h
reg.h
reloc.h
resource.h Introduce basic support for Marvell families of system-on-chip ARM devices: 2008-10-13 20:07:13 +00:00
runq.h
setjmp.h
sf_buf.h
sigframe.h
signal.h
smp.h
stack.h Break out stack(9) from ddb(4): 2007-12-02 20:40:35 +00:00
stdarg.h
swi.h
sysarch.h To prevent various race conditions in the RAS code, store and restore the 2009-02-12 23:23:30 +00:00
trap.h
ucontext.h The NetBSD Foundation has granted permission to remove clauses 3 and 4. 2010-02-16 21:59:17 +00:00
undefined.h Remove __P 2007-03-21 03:28:16 +00:00
utrap.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