From eff5b98fc40055bf85d38836cdcfebf6486cf0d2 Mon Sep 17 00:00:00 2001 From: grehan Date: Tue, 8 Nov 2005 06:48:08 +0000 Subject: Insert a layer of indirection to the pmap code, using a kobj for the interface. This allows run-time selection of MMU code, based on CPU-type detection, or tunable-overrides when testing new code. Pre-requisite for G5 support. conf/files.powerpc - remove pmap.c - add mmu_if.h, mmu_oea.c, pmap_dispatch.c powerpc/include/mmuvar.h - definitions for MMU implementations powerpc/include/pmap.h - remove pmap_pte_spill declaration - add pmap_mmu_install declaration - size the phys_avail array - pmap_bootstrapped is now global-scope powerpc/powerpc/machdep.c - call kobj_machdep_init early in the boot sequence to allow kobj usage prior to SI_SUB_LOCK - install the OEA pmap code. This will be moved to CPU-specific init code in the future. powerpc/powerpc/mmu_if.m - Kobj MMU interface definitions powerpc/powerpc/pmap_dispatch.c - central dispatch for pmap calls - contains the global mmu kobj and the routine to locate the the mmu implementation and init the kobj --- sys/conf/files.powerpc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'sys/conf') diff --git a/sys/conf/files.powerpc b/sys/conf/files.powerpc index 704a3a2..7bcc533 100644 --- a/sys/conf/files.powerpc +++ b/sys/conf/files.powerpc @@ -45,12 +45,14 @@ powerpc/powerpc/interrupt.c standard powerpc/powerpc/intr_machdep.c standard powerpc/powerpc/locore.S standard no-obj powerpc/powerpc/machdep.c standard +powerpc/powerpc/mmu_if.m standard +powerpc/powerpc/mmu_oea.c standard powerpc/powerpc/nexus.c standard powerpc/powerpc/ofwmagic.S standard powerpc/powerpc/ofw_machdep.c standard powerpc/powerpc/openpic.c standard powerpc/powerpc/pic_if.m standard -powerpc/powerpc/pmap.c standard +powerpc/powerpc/pmap_dispatch.c standard powerpc/powerpc/sc_machdep.c optional sc powerpc/powerpc/setjmp.S standard powerpc/powerpc/sigcode.S standard -- cgit v1.1