[PATCH] powerpc: add denormalisation exception handling for POWER6/7

Kumar Gala galak at kernel.crashing.org
Wed Jul 13 15:27:07 EST 2011


On Jul 11, 2011, at 12:52 AM, Michael Neuling wrote:

> On POWER6 and POWER7 if the input operand to an instruction is a
> denormalised single precision binary floating we can take a
> denormalisation exception where it's expected that the hypervisor (HV=1)
> will fix up the inputs before the instruction is run.
> 
> This adds code to handle this denormalisation exception for POWER6 and
> POWER7.
> 
> It also add a CONFIG_PPC_DENORMALISATION option and sets it in
> pseries/ppc64_defconfig. 
> 
> This is useful on bare metal systems only.  Based on patch from Milton
> Miller.
> 
> Signed-off-by: Michael Neuling <mikey at neuling.org>
> 
> ---
> arch/powerpc/Kconfig                   |    7 +
> arch/powerpc/configs/ppc64_defconfig   |    1 
> arch/powerpc/configs/pseries_defconfig |    1 
> arch/powerpc/include/asm/ppc-opcode.h  |    2 
> arch/powerpc/include/asm/reg.h         |    1 
> arch/powerpc/kernel/exceptions-64s.S   |  125 +++++++++++++++++++++++++++++++++
> 6 files changed, 137 insertions(+)
> 
> Index: linux-ozlabs/arch/powerpc/Kconfig
> ===================================================================
> --- linux-ozlabs.orig/arch/powerpc/Kconfig
> +++ linux-ozlabs/arch/powerpc/Kconfig
> @@ -556,6 +556,13 @@ config SCHED_SMT
> 	  when dealing with POWER5 cpus at a cost of slightly increased
> 	  overhead in some places. If unsure say N here.
> 
> +config PPC_DENORMALISATION
> +	bool "PowerPC denormalisation exception handling"

Should this at least depend on PPC_BOOK3S_64 ?

> +	default "n"
> +	---help---
> +	  Add support for handling denormalisation of single precision
> +	  values.  Useful for bare metal only.  If unsure say Y here.
> +
> config CMDLINE_BOOL
> 	bool "Default bootloader kernel arguments"
> 
> 

- k


More information about the Linuxppc-dev mailing list