Commit cc3e3d3a authored by Marco Crivellari's avatar Marco Crivellari Committed by Thomas Bogendoerfer
Browse files

MIPS: rename rollback_handler with skipover_handler

Recently the rollback region has been changed into an
idle interrupt region [1]. This patch make the appropriate
changes renaming functions and macro, to reflect the change.

[1] https://lore.kernel.org/linux-mips/20250403161143.361461-2-marco.crivellari@suse.com/



Signed-off-by: default avatarMarco Crivellari <marco.crivellari@suse.com>
Signed-off-by: default avatarThomas Bogendoerfer <tsbogend@alpha.franken.de>
parent b713f27e
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -9,7 +9,7 @@ extern void (*cpu_wait)(void);
extern asmlinkage void r4k_wait(void);
extern void r4k_wait_irqoff(void);

static inline int using_rollback_handler(void)
static inline int using_skipover_handler(void)
{
	return cpu_wait == r4k_wait;
}
+5 −5
Original line number Diff line number Diff line
@@ -116,7 +116,7 @@ LEAF(r4k_wait)
	 * If an interrupt lands here, before going idle on the next
	 * instruction, we must *NOT* go idle since the interrupt could
	 * have set TIF_NEED_RESCHED or caused a timer to need resched.
	 * Fall through -- see rollback_handler below -- and have the
	 * Fall through -- see skipover_handler below -- and have the
	 * idle loop take care of things.
	 */
1:	.fill	0
@@ -139,8 +139,8 @@ r4k_wait_exit:
	END(r4k_wait)
	.previous

	.macro	BUILD_ROLLBACK_PROLOGUE handler
	FEXPORT(rollback_\handler)
	.macro	BUILD_SKIPOVER_PROLOGUE handler
	FEXPORT(skipover_\handler)
	.set	push
	.set	noat
	MFC0	k0, CP0_EPC
@@ -156,7 +156,7 @@ r4k_wait_exit:
	.endm

	.align	5
BUILD_ROLLBACK_PROLOGUE handle_int
BUILD_SKIPOVER_PROLOGUE handle_int
NESTED(handle_int, PT_SIZE, sp)
	.cfi_signal_frame
#ifdef CONFIG_TRACE_IRQFLAGS
@@ -276,7 +276,7 @@ NESTED(except_vec_ejtag_debug, 0, sp)
 * This prototype is copied to ebase + n*IntCtl.VS and patched
 * to invoke the handler
 */
BUILD_ROLLBACK_PROLOGUE except_vec_vi
BUILD_SKIPOVER_PROLOGUE except_vec_vi
NESTED(except_vec_vi, 0, sp)
	SAVE_SOME docfi=1
	SAVE_AT docfi=1
+5 −5
Original line number Diff line number Diff line
@@ -77,7 +77,7 @@
#include "access-helper.h"

extern void check_wait(void);
extern asmlinkage void rollback_handle_int(void);
extern asmlinkage void skipover_handle_int(void);
extern asmlinkage void handle_int(void);
extern asmlinkage void handle_adel(void);
extern asmlinkage void handle_ades(void);
@@ -2066,7 +2066,7 @@ void *set_vi_handler(int n, vi_handler_t addr)
{
	extern const u8 except_vec_vi[];
	extern const u8 except_vec_vi_ori[], except_vec_vi_end[];
	extern const u8 rollback_except_vec_vi[];
	extern const u8 skipover_except_vec_vi[];
	unsigned long handler;
	unsigned long old_handler = vi_handlers[n];
	int srssets = current_cpu_data.srsets;
@@ -2095,7 +2095,7 @@ void *set_vi_handler(int n, vi_handler_t addr)
			change_c0_srsmap(0xf << n*4, 0 << n*4);
	}

	vec_start = using_rollback_handler() ? rollback_except_vec_vi :
	vec_start = using_skipover_handler() ? skipover_except_vec_vi :
					       except_vec_vi;
#if defined(CONFIG_CPU_MICROMIPS) || defined(CONFIG_CPU_BIG_ENDIAN)
	ori_offset = except_vec_vi_ori - vec_start + 2;
@@ -2426,8 +2426,8 @@ void __init trap_init(void)
	if (board_be_init)
		board_be_init();

	set_except_vector(EXCCODE_INT, using_rollback_handler() ?
					rollback_handle_int : handle_int);
	set_except_vector(EXCCODE_INT, using_skipover_handler() ?
					skipover_handle_int : handle_int);
	set_except_vector(EXCCODE_MOD, handle_tlbm);
	set_except_vector(EXCCODE_TLBL, handle_tlbl);
	set_except_vector(EXCCODE_TLBS, handle_tlbs);