opnsense-src/sys/powerpc/aim
Nathan Whitehorn ae09ab8f63 Rework SLB trap handling so that double-faults into an SLB trap handler are
possible, and double faults within an SLB trap handler are not. The result
is that it possible to take an SLB fault at any time, on any address, for
any reason, at any point in the kernel.

This lets us do two important things. First, it removes the (soft) 16 GB RAM
ceiling on PPC64 as well as any architectural limitations on KVA space.
Second, it lets the kernel tolerate poorly designed hypervisors that
have a tendency to fail to restore the SLB properly after a hypervisor
context switch.

MFC after:	6 weeks
2012-01-15 00:08:14 +00:00
..
clock.c After some off-list discussion, revert a number of changes to the 2010-11-22 19:32:54 +00:00
copyinout.c Use the ABI-mandated thread pointer register (r2 for ppc32, r13 for ppc64) 2011-06-23 22:21:28 +00:00
interrupt.c Remove some dead code: unnecessary isyncs and memory sorting, which are 2011-06-02 14:15:44 +00:00
locore.S MFppc64: 2010-07-13 05:32:19 +00:00
locore32.S Zero BSS on start, in case the ELF loader that started the kernel did not 2011-12-16 23:40:56 +00:00
locore64.S On 64 bit architectures size_t is 8 bytes, thus it should use an 8 bytes 2011-07-19 12:41:57 +00:00
machdep.c Rework SLB trap handling so that double-faults into an SLB trap handler are 2012-01-15 00:08:14 +00:00
mmu_oea.c Allow this to work on embedded systems without Open Firmware by making 2011-12-16 23:46:05 +00:00
mmu_oea64.c Eliminate vestiges of page coloring. 2011-12-15 05:07:16 +00:00
mmu_oea64.h Add an abstraction layer to the 64-bit AIM MMU's page table manipulation 2010-12-04 02:42:52 +00:00
moea64_if.m Add an abstraction layer to the 64-bit AIM MMU's page table manipulation 2010-12-04 02:42:52 +00:00
moea64_native.c Remove some dead code: unnecessary isyncs and memory sorting, which are 2011-06-02 14:15:44 +00:00
mp_cpudep.c Use a global __pure2 function instead of a global register variable for 2011-11-17 15:49:42 +00:00
nexus.c - There's no need to overwrite the default device method with the default 2011-11-22 21:28:20 +00:00
slb.c Rework SLB trap handling so that double-faults into an SLB trap handler are 2012-01-15 00:08:14 +00:00
swtch32.S Use the ABI-mandated thread pointer register (r2 for ppc32, r13 for ppc64) 2011-06-23 22:21:28 +00:00
swtch64.S Use the ABI-mandated thread pointer register (r2 for ppc32, r13 for ppc64) 2011-06-23 22:21:28 +00:00
trap.c Rework SLB trap handling so that double-faults into an SLB trap handler are 2012-01-15 00:08:14 +00:00
trap_subr32.S Fix a bug where the pmap_cpu_bootstrap() ap argument could be clobbered. 2011-11-09 13:48:23 +00:00
trap_subr64.S Rework SLB trap handling so that double-faults into an SLB trap handler are 2012-01-15 00:08:14 +00:00
uma_machdep.c Eliminate vestiges of page coloring. 2011-12-15 05:07:16 +00:00
vm_machdep.c For architectures not using direct map , and requiring real KVA page for 2011-01-18 21:57:02 +00:00