[PATCH 00/14] powerpc: Add support for POWER8 relocation on exceptions
Gabriel Paubert
paubert at iram.es
Fri Nov 9 19:58:15 EST 2012
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 at lists.ozlabs.org
> https://lists.ozlabs.org/listinfo/linuxppc-dev
More information about the Linuxppc-dev
mailing list