Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b88d4bce authored by Benjamin Herrenschmidt's avatar Benjamin Herrenschmidt Committed by Michael Ellerman
Browse files

powerpc/book64s: Move a few exception common handlers to make room



This moves the CBE RAS and facility unavailable "common" handlers
down to after the FWNMI page.

This frees up some space in the very demanded spaces before the
relocation-on vectors and before the FWNMI page. They are still
within 64K of __start, so CONFIG_RELOCATABLE should still work.

Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
parent 9fedd3f8
Loading
Loading
Loading
Loading
+9 −8
Original line number Diff line number Diff line
@@ -742,11 +742,6 @@ kvmppc_skip_Hinterrupt:
#else
	STD_EXCEPTION_COMMON(0x1700, altivec_assist, unknown_exception)
#endif
#ifdef CONFIG_CBE_RAS
	STD_EXCEPTION_COMMON(0x1200, cbe_system_error, cbe_system_error_exception)
	STD_EXCEPTION_COMMON(0x1600, cbe_maintenance, cbe_maintenance_exception)
	STD_EXCEPTION_COMMON(0x1800, cbe_thermal, cbe_thermal_exception)
#endif /* CONFIG_CBE_RAS */

	/*
	 * Relocation-on interrupts: A subset of the interrupts can be delivered
@@ -1111,9 +1106,6 @@ END_FTR_SECTION_IFSET(CPU_FTR_VSX)
	bl	vsx_unavailable_exception
	b	ret_from_except

	STD_EXCEPTION_COMMON(0xf60, facility_unavailable, facility_unavailable_exception)
	STD_EXCEPTION_COMMON(0xf80, hv_facility_unavailable, facility_unavailable_exception)

	/* Equivalents to the above handlers for relocation-on interrupt vectors */
	STD_RELON_EXCEPTION_HV_OOL(0xe40, emulation_assist)
	MASKABLE_RELON_EXCEPTION_HV_OOL(0xe80, h_doorbell)
@@ -1150,6 +1142,15 @@ fwnmi_data_area:
	. = 0x8000
#endif /* defined(CONFIG_PPC_PSERIES) || defined(CONFIG_PPC_POWERNV) */

	STD_EXCEPTION_COMMON(0xf60, facility_unavailable, facility_unavailable_exception)
	STD_EXCEPTION_COMMON(0xf80, hv_facility_unavailable, facility_unavailable_exception)

#ifdef CONFIG_CBE_RAS
	STD_EXCEPTION_COMMON(0x1200, cbe_system_error, cbe_system_error_exception)
	STD_EXCEPTION_COMMON(0x1600, cbe_maintenance, cbe_maintenance_exception)
	STD_EXCEPTION_COMMON(0x1800, cbe_thermal, cbe_thermal_exception)
#endif /* CONFIG_CBE_RAS */

	.globl hmi_exception_early
hmi_exception_early:
	EXCEPTION_PROLOG_1(PACA_EXGEN, NOTEST, 0xe60)