Commit 88f094120bd2f012ff494ae50a8d4e0d8af8f69e

Authored by Michael Neuling
Committed by Benjamin Herrenschmidt
1 parent e0e1361462

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>

Showing 1 changed file with 3 additions and 2 deletions Side-by-side Diff

arch/powerpc/kernel/exceptions-64s.S
... ... @@ -848,7 +848,7 @@
848 848 . = 0x4f80
849 849 SET_SCRATCH0(r13)
850 850 EXCEPTION_PROLOG_0(PACA_EXGEN)
851   - b facility_unavailable_relon_hv
  851 + b hv_facility_unavailable_relon_hv
852 852  
853 853 STD_RELON_EXCEPTION_PSERIES(0x5300, 0x1300, instruction_breakpoint)
854 854 #ifdef CONFIG_PPC_DENORMALISATION
... ... @@ -1175,6 +1175,7 @@
1175 1175 b .ret_from_except
1176 1176  
1177 1177 STD_EXCEPTION_COMMON(0xf60, facility_unavailable, .facility_unavailable_exception)
  1178 + STD_EXCEPTION_COMMON(0xf80, hv_facility_unavailable, .facility_unavailable_exception)
1178 1179  
1179 1180 .align 7
1180 1181 .globl __end_handlers
... ... @@ -1188,7 +1189,7 @@
1188 1189 STD_RELON_EXCEPTION_PSERIES_OOL(0xf20, altivec_unavailable)
1189 1190 STD_RELON_EXCEPTION_PSERIES_OOL(0xf40, vsx_unavailable)
1190 1191 STD_RELON_EXCEPTION_PSERIES_OOL(0xf60, facility_unavailable)
1191   - STD_RELON_EXCEPTION_HV_OOL(0xf80, facility_unavailable)
  1192 + STD_RELON_EXCEPTION_HV_OOL(0xf80, hv_facility_unavailable)
1192 1193  
1193 1194 #if defined(CONFIG_PPC_PSERIES) || defined(CONFIG_PPC_POWERNV)
1194 1195 /*