powerpc: Fix hypervisor facility unavaliable vector number
Currently if we take hypervisor facility unavaliable (from 0xf80/0x4f80) we mark it as an OS facility unavaliable (0xf60) as the two share the same code path. The becomes a problem in facility_unavailable_exception() as we aren't able to see the hypervisor facility unavailable exceptions. Below fixes this by duplication the required macros. Signed-off-by: Michael Neuling <mikey@neuling.org> Cc: <stable@vger.kernel.org> [v3.10] Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
This commit is contained in:
parent
e0e1361462
commit
88f094120b
1 changed files with 3 additions and 2 deletions
|
@ -848,7 +848,7 @@ hv_facility_unavailable_relon_trampoline:
|
||||||
. = 0x4f80
|
. = 0x4f80
|
||||||
SET_SCRATCH0(r13)
|
SET_SCRATCH0(r13)
|
||||||
EXCEPTION_PROLOG_0(PACA_EXGEN)
|
EXCEPTION_PROLOG_0(PACA_EXGEN)
|
||||||
b facility_unavailable_relon_hv
|
b hv_facility_unavailable_relon_hv
|
||||||
|
|
||||||
STD_RELON_EXCEPTION_PSERIES(0x5300, 0x1300, instruction_breakpoint)
|
STD_RELON_EXCEPTION_PSERIES(0x5300, 0x1300, instruction_breakpoint)
|
||||||
#ifdef CONFIG_PPC_DENORMALISATION
|
#ifdef CONFIG_PPC_DENORMALISATION
|
||||||
|
@ -1175,6 +1175,7 @@ END_FTR_SECTION_IFSET(CPU_FTR_VSX)
|
||||||
b .ret_from_except
|
b .ret_from_except
|
||||||
|
|
||||||
STD_EXCEPTION_COMMON(0xf60, facility_unavailable, .facility_unavailable_exception)
|
STD_EXCEPTION_COMMON(0xf60, facility_unavailable, .facility_unavailable_exception)
|
||||||
|
STD_EXCEPTION_COMMON(0xf80, hv_facility_unavailable, .facility_unavailable_exception)
|
||||||
|
|
||||||
.align 7
|
.align 7
|
||||||
.globl __end_handlers
|
.globl __end_handlers
|
||||||
|
@ -1188,7 +1189,7 @@ __end_handlers:
|
||||||
STD_RELON_EXCEPTION_PSERIES_OOL(0xf20, altivec_unavailable)
|
STD_RELON_EXCEPTION_PSERIES_OOL(0xf20, altivec_unavailable)
|
||||||
STD_RELON_EXCEPTION_PSERIES_OOL(0xf40, vsx_unavailable)
|
STD_RELON_EXCEPTION_PSERIES_OOL(0xf40, vsx_unavailable)
|
||||||
STD_RELON_EXCEPTION_PSERIES_OOL(0xf60, facility_unavailable)
|
STD_RELON_EXCEPTION_PSERIES_OOL(0xf60, facility_unavailable)
|
||||||
STD_RELON_EXCEPTION_HV_OOL(0xf80, facility_unavailable)
|
STD_RELON_EXCEPTION_HV_OOL(0xf80, hv_facility_unavailable)
|
||||||
|
|
||||||
#if defined(CONFIG_PPC_PSERIES) || defined(CONFIG_PPC_POWERNV)
|
#if defined(CONFIG_PPC_PSERIES) || defined(CONFIG_PPC_POWERNV)
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Reference in a new issue