On Fri, Nov 09, 2012 at 05:18:58PM +1100, Michael Neuling wrote: > This set of patches adds support for taking exceptions with the MMU on which > is > supported by POWER8. > > A new set of exception vectors is added at 0xc000_0000_0000_4xxx. When the HW > takes us here, MSR IR/DR will be set already and we no longer need a costly > RFID to turn the MMU back on again. > > The original 0x0 based exception vectors remain for when the HW can't leave > the > MMU on. Examples of this are when we can't trust the current the MMU > mappings, ^^^ Extra "the" (here and in a couple of patches).
Can't do much more since I don't have any hardware past G5, but the series looks nice and avoiding transient excursions to real mode is a good thing. Gabriel > like when we are changing from guest to hypervisor (HV 0 -> 1) or when the MMU > was off already. In these cases the HW will take us to the original 0x0 based > exception vectors with the MMU off as before. > > The core of these patches were originally written by Matt Evans. > > Ian Munsie (5): > powerpc: Add set_mode hcall > powerpc: Add wrappers to enable/disable relocation on exceptions > powerpc: Move get_longbusy_msecs into hvcall.h and remove duplicate > function > powerpc: Enable relocation on during exceptions at boot > powerpc: Disable relocation on exceptions when kexecing > > Michael Neuling (9): > powerpc: Add POWER8 architected mode to cputable > powerpc: Whitespace changes in exception64s.S > powerpc: Remove unessessary 0x3000 location enforcement > powerpc: Make load_hander handle upto 64k offset > powerpc: Turn syscall handler into macros > powerpc: Add new macros needed for relocation on exceptions > powerpc: Add relocation on exception vector handlers > powerpc: Move initial mfspr LPCR out of __init_LPCR > powerpc: Setup relocation on exceptions for bare metal systems > > arch/powerpc/include/asm/exception-64s.h | 97 ++++++- > arch/powerpc/include/asm/firmware.h | 4 +- > arch/powerpc/include/asm/hvcall.h | 23 +- > arch/powerpc/include/asm/reg.h | 2 + > arch/powerpc/kernel/cpu_setup_power.S | 8 +- > arch/powerpc/kernel/cputable.c | 15 ++ > arch/powerpc/kernel/exceptions-64s.S | 306 > +++++++++++++++++++---- > arch/powerpc/kernel/head_64.S | 3 +- > arch/powerpc/kernel/setup_64.c | 5 + > arch/powerpc/platforms/pseries/firmware.c | 1 + > arch/powerpc/platforms/pseries/plpar_wrappers.h | 36 +++ > arch/powerpc/platforms/pseries/setup.c | 71 ++++++ > drivers/infiniband/hw/ehca/hcp_if.c | 20 -- > drivers/net/ethernet/ibm/ehea/ehea_phyp.h | 20 -- > 14 files changed, 516 insertions(+), 95 deletions(-) > > -- > 1.7.9.5 > > _______________________________________________ > Linuxppc-dev mailing list > Linuxppc-dev@lists.ozlabs.org > https://lists.ozlabs.org/listinfo/linuxppc-dev _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev