[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