|
@@ -242,7 +242,7 @@ instruction_access_slb_pSeries:
|
|
HMT_MEDIUM_PPR_DISCARD
|
|
HMT_MEDIUM_PPR_DISCARD
|
|
SET_SCRATCH0(r13)
|
|
SET_SCRATCH0(r13)
|
|
EXCEPTION_PROLOG_0(PACA_EXSLB)
|
|
EXCEPTION_PROLOG_0(PACA_EXSLB)
|
|
- EXCEPTION_PROLOG_1(PACA_EXSLB, KVMTEST_PR, 0x480)
|
|
|
|
|
|
+ EXCEPTION_PROLOG_1(PACA_EXSLB, KVMTEST, 0x480)
|
|
std r3,PACA_EXSLB+EX_R3(r13)
|
|
std r3,PACA_EXSLB+EX_R3(r13)
|
|
mfspr r3,SPRN_SRR0 /* SRR0 is faulting address */
|
|
mfspr r3,SPRN_SRR0 /* SRR0 is faulting address */
|
|
#ifdef __DISABLED__
|
|
#ifdef __DISABLED__
|
|
@@ -276,18 +276,18 @@ hardware_interrupt_hv:
|
|
KVM_HANDLER(PACA_EXGEN, EXC_HV, 0x502)
|
|
KVM_HANDLER(PACA_EXGEN, EXC_HV, 0x502)
|
|
FTR_SECTION_ELSE
|
|
FTR_SECTION_ELSE
|
|
_MASKABLE_EXCEPTION_PSERIES(0x500, hardware_interrupt,
|
|
_MASKABLE_EXCEPTION_PSERIES(0x500, hardware_interrupt,
|
|
- EXC_STD, SOFTEN_TEST_HV_201)
|
|
|
|
|
|
+ EXC_STD, SOFTEN_TEST_PR)
|
|
KVM_HANDLER(PACA_EXGEN, EXC_STD, 0x500)
|
|
KVM_HANDLER(PACA_EXGEN, EXC_STD, 0x500)
|
|
ALT_FTR_SECTION_END_IFSET(CPU_FTR_HVMODE | CPU_FTR_ARCH_206)
|
|
ALT_FTR_SECTION_END_IFSET(CPU_FTR_HVMODE | CPU_FTR_ARCH_206)
|
|
|
|
|
|
STD_EXCEPTION_PSERIES(0x600, 0x600, alignment)
|
|
STD_EXCEPTION_PSERIES(0x600, 0x600, alignment)
|
|
- KVM_HANDLER_PR(PACA_EXGEN, EXC_STD, 0x600)
|
|
|
|
|
|
+ KVM_HANDLER(PACA_EXGEN, EXC_STD, 0x600)
|
|
|
|
|
|
STD_EXCEPTION_PSERIES(0x700, 0x700, program_check)
|
|
STD_EXCEPTION_PSERIES(0x700, 0x700, program_check)
|
|
- KVM_HANDLER_PR(PACA_EXGEN, EXC_STD, 0x700)
|
|
|
|
|
|
+ KVM_HANDLER(PACA_EXGEN, EXC_STD, 0x700)
|
|
|
|
|
|
STD_EXCEPTION_PSERIES(0x800, 0x800, fp_unavailable)
|
|
STD_EXCEPTION_PSERIES(0x800, 0x800, fp_unavailable)
|
|
- KVM_HANDLER_PR(PACA_EXGEN, EXC_STD, 0x800)
|
|
|
|
|
|
+ KVM_HANDLER(PACA_EXGEN, EXC_STD, 0x800)
|
|
|
|
|
|
. = 0x900
|
|
. = 0x900
|
|
.globl decrementer_pSeries
|
|
.globl decrementer_pSeries
|
|
@@ -297,10 +297,10 @@ decrementer_pSeries:
|
|
STD_EXCEPTION_HV(0x980, 0x982, hdecrementer)
|
|
STD_EXCEPTION_HV(0x980, 0x982, hdecrementer)
|
|
|
|
|
|
MASKABLE_EXCEPTION_PSERIES(0xa00, 0xa00, doorbell_super)
|
|
MASKABLE_EXCEPTION_PSERIES(0xa00, 0xa00, doorbell_super)
|
|
- KVM_HANDLER_PR(PACA_EXGEN, EXC_STD, 0xa00)
|
|
|
|
|
|
+ KVM_HANDLER(PACA_EXGEN, EXC_STD, 0xa00)
|
|
|
|
|
|
STD_EXCEPTION_PSERIES(0xb00, 0xb00, trap_0b)
|
|
STD_EXCEPTION_PSERIES(0xb00, 0xb00, trap_0b)
|
|
- KVM_HANDLER_PR(PACA_EXGEN, EXC_STD, 0xb00)
|
|
|
|
|
|
+ KVM_HANDLER(PACA_EXGEN, EXC_STD, 0xb00)
|
|
|
|
|
|
. = 0xc00
|
|
. = 0xc00
|
|
.globl system_call_pSeries
|
|
.globl system_call_pSeries
|
|
@@ -332,7 +332,7 @@ system_call_pSeries:
|
|
KVM_HANDLER(PACA_EXGEN, EXC_STD, 0xc00)
|
|
KVM_HANDLER(PACA_EXGEN, EXC_STD, 0xc00)
|
|
|
|
|
|
STD_EXCEPTION_PSERIES(0xd00, 0xd00, single_step)
|
|
STD_EXCEPTION_PSERIES(0xd00, 0xd00, single_step)
|
|
- KVM_HANDLER_PR(PACA_EXGEN, EXC_STD, 0xd00)
|
|
|
|
|
|
+ KVM_HANDLER(PACA_EXGEN, EXC_STD, 0xd00)
|
|
|
|
|
|
/* At 0xe??? we have a bunch of hypervisor exceptions, we branch
|
|
/* At 0xe??? we have a bunch of hypervisor exceptions, we branch
|
|
* out of line to handle them
|
|
* out of line to handle them
|
|
@@ -408,7 +408,7 @@ hv_facility_unavailable_trampoline:
|
|
#endif /* CONFIG_CBE_RAS */
|
|
#endif /* CONFIG_CBE_RAS */
|
|
|
|
|
|
STD_EXCEPTION_PSERIES(0x1300, 0x1300, instruction_breakpoint)
|
|
STD_EXCEPTION_PSERIES(0x1300, 0x1300, instruction_breakpoint)
|
|
- KVM_HANDLER_PR_SKIP(PACA_EXGEN, EXC_STD, 0x1300)
|
|
|
|
|
|
+ KVM_HANDLER_SKIP(PACA_EXGEN, EXC_STD, 0x1300)
|
|
|
|
|
|
. = 0x1500
|
|
. = 0x1500
|
|
.global denorm_exception_hv
|
|
.global denorm_exception_hv
|
|
@@ -436,7 +436,7 @@ denorm_exception_hv:
|
|
#endif /* CONFIG_CBE_RAS */
|
|
#endif /* CONFIG_CBE_RAS */
|
|
|
|
|
|
STD_EXCEPTION_PSERIES(0x1700, 0x1700, altivec_assist)
|
|
STD_EXCEPTION_PSERIES(0x1700, 0x1700, altivec_assist)
|
|
- KVM_HANDLER_PR(PACA_EXGEN, EXC_STD, 0x1700)
|
|
|
|
|
|
+ KVM_HANDLER(PACA_EXGEN, EXC_STD, 0x1700)
|
|
|
|
|
|
#ifdef CONFIG_CBE_RAS
|
|
#ifdef CONFIG_CBE_RAS
|
|
STD_EXCEPTION_HV(0x1800, 0x1802, cbe_thermal)
|
|
STD_EXCEPTION_HV(0x1800, 0x1802, cbe_thermal)
|
|
@@ -536,9 +536,9 @@ machine_check_pSeries_0:
|
|
KVM_HANDLER_SKIP(PACA_EXMC, EXC_STD, 0x200)
|
|
KVM_HANDLER_SKIP(PACA_EXMC, EXC_STD, 0x200)
|
|
KVM_HANDLER_SKIP(PACA_EXGEN, EXC_STD, 0x300)
|
|
KVM_HANDLER_SKIP(PACA_EXGEN, EXC_STD, 0x300)
|
|
KVM_HANDLER_SKIP(PACA_EXSLB, EXC_STD, 0x380)
|
|
KVM_HANDLER_SKIP(PACA_EXSLB, EXC_STD, 0x380)
|
|
- KVM_HANDLER_PR(PACA_EXGEN, EXC_STD, 0x400)
|
|
|
|
- KVM_HANDLER_PR(PACA_EXSLB, EXC_STD, 0x480)
|
|
|
|
- KVM_HANDLER_PR(PACA_EXGEN, EXC_STD, 0x900)
|
|
|
|
|
|
+ KVM_HANDLER(PACA_EXGEN, EXC_STD, 0x400)
|
|
|
|
+ KVM_HANDLER(PACA_EXSLB, EXC_STD, 0x480)
|
|
|
|
+ KVM_HANDLER(PACA_EXGEN, EXC_STD, 0x900)
|
|
KVM_HANDLER(PACA_EXGEN, EXC_HV, 0x982)
|
|
KVM_HANDLER(PACA_EXGEN, EXC_HV, 0x982)
|
|
|
|
|
|
#ifdef CONFIG_PPC_DENORMALISATION
|
|
#ifdef CONFIG_PPC_DENORMALISATION
|
|
@@ -621,13 +621,13 @@ END_FTR_SECTION_IFSET(CPU_FTR_CFAR)
|
|
|
|
|
|
/* moved from 0xf00 */
|
|
/* moved from 0xf00 */
|
|
STD_EXCEPTION_PSERIES_OOL(0xf00, performance_monitor)
|
|
STD_EXCEPTION_PSERIES_OOL(0xf00, performance_monitor)
|
|
- KVM_HANDLER_PR(PACA_EXGEN, EXC_STD, 0xf00)
|
|
|
|
|
|
+ KVM_HANDLER(PACA_EXGEN, EXC_STD, 0xf00)
|
|
STD_EXCEPTION_PSERIES_OOL(0xf20, altivec_unavailable)
|
|
STD_EXCEPTION_PSERIES_OOL(0xf20, altivec_unavailable)
|
|
- KVM_HANDLER_PR(PACA_EXGEN, EXC_STD, 0xf20)
|
|
|
|
|
|
+ KVM_HANDLER(PACA_EXGEN, EXC_STD, 0xf20)
|
|
STD_EXCEPTION_PSERIES_OOL(0xf40, vsx_unavailable)
|
|
STD_EXCEPTION_PSERIES_OOL(0xf40, vsx_unavailable)
|
|
- KVM_HANDLER_PR(PACA_EXGEN, EXC_STD, 0xf40)
|
|
|
|
|
|
+ KVM_HANDLER(PACA_EXGEN, EXC_STD, 0xf40)
|
|
STD_EXCEPTION_PSERIES_OOL(0xf60, facility_unavailable)
|
|
STD_EXCEPTION_PSERIES_OOL(0xf60, facility_unavailable)
|
|
- KVM_HANDLER_PR(PACA_EXGEN, EXC_STD, 0xf60)
|
|
|
|
|
|
+ KVM_HANDLER(PACA_EXGEN, EXC_STD, 0xf60)
|
|
STD_EXCEPTION_HV_OOL(0xf82, facility_unavailable)
|
|
STD_EXCEPTION_HV_OOL(0xf82, facility_unavailable)
|
|
KVM_HANDLER(PACA_EXGEN, EXC_HV, 0xf82)
|
|
KVM_HANDLER(PACA_EXGEN, EXC_HV, 0xf82)
|
|
|
|
|