Patchwork [RFC,11/17] PowerPC: booke64: Fix machine check handler to use the right prolog

login
register
mail settings
Submitter Mihai Caraman
Date June 25, 2012, 12:26 p.m.
Message ID <1340627195-11544-12-git-send-email-mihai.caraman@freescale.com>
Download mbox | patch
Permalink /patch/167067/
State New
Headers show

Comments

Mihai Caraman - June 25, 2012, 12:26 p.m.
Machine check exception handler was using a wrong prolog. Hypervisors, like
KVM, which are called early from the exception handler rely on the interrupt
source.

Signed-off-by: Mihai Caraman <mihai.caraman@freescale.com>
---
 arch/powerpc/kernel/exceptions-64e.S |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
Benjamin Herrenschmidt - June 26, 2012, 10:13 p.m.
On Mon, 2012-06-25 at 15:26 +0300, Mihai Caraman wrote:
> Machine check exception handler was using a wrong prolog. Hypervisors, like
> KVM, which are called early from the exception handler rely on the interrupt
> source.
> 
> Signed-off-by: Mihai Caraman <mihai.caraman@freescale.com>

Ack.

Please separate your "core" patches from your KVM series and submit them
separately. I'll take care of the core Book3E part.

Cheers,
Ben.

> ---
>  arch/powerpc/kernel/exceptions-64e.S |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/arch/powerpc/kernel/exceptions-64e.S b/arch/powerpc/kernel/exceptions-64e.S
> index 52aa96b..06f7aec 100644
> --- a/arch/powerpc/kernel/exceptions-64e.S
> +++ b/arch/powerpc/kernel/exceptions-64e.S
> @@ -290,7 +290,7 @@ interrupt_end_book3e:
>  
>  /* Machine Check Interrupt */
>  	START_EXCEPTION(machine_check);
> -	CRIT_EXCEPTION_PROLOG(0x200, PROLOG_ADDITION_NONE)
> +	MC_EXCEPTION_PROLOG(0x200, PROLOG_ADDITION_NONE)
>  //	EXCEPTION_COMMON(0x200, PACA_EXMC, INTS_DISABLE)
>  //	bl	special_reg_save_mc
>  //	addi	r3,r1,STACK_FRAME_OVERHEAD


--
To unsubscribe from this list: send the line "unsubscribe kvm-ppc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

diff --git a/arch/powerpc/kernel/exceptions-64e.S b/arch/powerpc/kernel/exceptions-64e.S
index 52aa96b..06f7aec 100644
--- a/arch/powerpc/kernel/exceptions-64e.S
+++ b/arch/powerpc/kernel/exceptions-64e.S
@@ -290,7 +290,7 @@  interrupt_end_book3e:
 
 /* Machine Check Interrupt */
 	START_EXCEPTION(machine_check);
-	CRIT_EXCEPTION_PROLOG(0x200, PROLOG_ADDITION_NONE)
+	MC_EXCEPTION_PROLOG(0x200, PROLOG_ADDITION_NONE)
 //	EXCEPTION_COMMON(0x200, PACA_EXMC, INTS_DISABLE)
 //	bl	special_reg_save_mc
 //	addi	r3,r1,STACK_FRAME_OVERHEAD