Эх сурвалжийг харах

powerpc/64s: Consolidate Hypervisor Decrementer 0x980 interrupt

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Nicholas Piggin 9 жил өмнө
parent
commit
facc6d7424

+ 4 - 3
arch/powerpc/kernel/exceptions-64s.S

@@ -843,6 +843,10 @@ EXC_COMMON_ASYNC(decrementer_common, 0x900, timer_interrupt)
 
 
 
 
 EXC_REAL_HV(hdecrementer, 0x980, 0xa00)
 EXC_REAL_HV(hdecrementer, 0x980, 0xa00)
+EXC_VIRT_HV(hdecrementer, 0x4980, 0x4a00, 0x980)
+TRAMP_KVM_HV(PACA_EXGEN, 0x980)
+EXC_COMMON(hdecrementer_common, 0x980, hdec_interrupt)
+
 
 
 EXC_REAL_MASKABLE(doorbell_super, 0xa00, 0xb00)
 EXC_REAL_MASKABLE(doorbell_super, 0xa00, 0xb00)
 
 
@@ -973,7 +977,6 @@ EXC_REAL_NONE(0x1800, 0x1900)
 /*** Out of line interrupts support ***/
 /*** Out of line interrupts support ***/
 
 
 	/* moved from 0x200 */
 	/* moved from 0x200 */
-TRAMP_KVM_HV(PACA_EXGEN, 0x980)
 
 
 #ifdef CONFIG_PPC_DENORMALISATION
 #ifdef CONFIG_PPC_DENORMALISATION
 TRAMP_REAL_BEGIN(denorm_assist)
 TRAMP_REAL_BEGIN(denorm_assist)
@@ -1193,7 +1196,6 @@ TRAMP_REAL_BEGIN(kvmppc_skip_Hinterrupt)
 
 
 /*** Common interrupt handlers ***/
 /*** Common interrupt handlers ***/
 
 
-EXC_COMMON(hdecrementer_common, 0x980, hdec_interrupt)
 
 
 #ifdef CONFIG_PPC_DOORBELL
 #ifdef CONFIG_PPC_DOORBELL
 EXC_COMMON_ASYNC(doorbell_super_common, 0xa00, doorbell_exception)
 EXC_COMMON_ASYNC(doorbell_super_common, 0xa00, doorbell_exception)
@@ -1236,7 +1238,6 @@ EXC_COMMON(altivec_assist_common, 0x1700, unknown_exception)
 	 * come here.
 	 * come here.
 	 */
 	 */
 
 
-EXC_VIRT_HV(hdecrementer, 0x4980, 0x4a00, 0x980)
 EXC_VIRT_MASKABLE(doorbell_super, 0x4a00, 0x4b00, 0xa00)
 EXC_VIRT_MASKABLE(doorbell_super, 0x4a00, 0x4b00, 0xa00)
 EXC_VIRT(trap_0b, 0x4b00, 0x4c00, 0xb00)
 EXC_VIRT(trap_0b, 0x4b00, 0x4c00, 0xb00)