On Fri, 2023-02-24 at 18:10 +0800, Jinyang He wrote:
/* snip */
diff --git a/arch/loongarch/kernel/entry.S/* snip */
b/arch/loongarch/kernel/entry.S
index ca4651f91e73..4de6b31dc3bf 100644
--- a/arch/loongarch/kernel/entry.S
+++ b/arch/loongarch/kernel/entry.S
@@ -65,7 +65,7 @@ SYM_FUNC_START(handle_sys)bl do_syscall
and tp, tp, sp
move a0, sp
- la_abs ra, do_syscall
+ la.pcrel ra, do_syscall
jirl ra, ra, 0
RESTORE_ALL_AND_RET/* snip */
diff --git a/arch/loongarch/kernel/genex.S
b/arch/loongarch/kernel/genex.S
index 8705a7661ce9..b6a74246d1c4 100644
--- a/arch/loongarch/kernel/genex.S
+++ b/arch/loongarch/kernel/genex.S
@@ -45,7 +45,7 @@ SYM_FUNC_START(handle_vint\idx)bl do_vint
LONG_S t0, sp, PT_ERA
1: move a0, sp
move a1, sp
- la_abs t0, do_vint
+ la.pcrel t0, do_vint
jirl ra, t0, 0
RESTORE_ALL_AND_RETbl do_\handler
SYM_FUNC_END(handle_vint\idx)
@@ -76,7 +76,7 @@ SYM_FUNC_START(handle_\exception)
SAVE_ALL
build_prep_\prep
move a0, sp
- la_abs t0, do_\handler
+ la.pcrel t0, do_\handler
jirl ra, t0, 0
/* snip */
diff --git a/arch/loongarch/mm/tlbex.S b/arch/loongarch/mm/tlbex.Sbl do_page_fault
index 53321d3447a2..196d9bc870c5 100644
--- a/arch/loongarch/mm/tlbex.S
+++ b/arch/loongarch/mm/tlbex.S
@@ -41,7 +41,7 @@ SYM_FUNC_START(handle_tlb_protect\idx)
move a1, zero
csrrd a2, LOONGARCH_CSR_BADV
REG_S a2, sp, PT_BVADDR
- la_abs t0, do_page_fault
+ la.pcrel t0, do_page_fault
jirl ra, t0, 0
/* snip */
@@ -190,7 +190,7 @@ SYM_FUNC_START(handle_tlb_load\idx)b tlb_do_page_fault_0
5: /* nopage_tlb_load: */
dbar 0
csrrd ra, EXCEPTION_KS2
- la_abs t0, tlb_do_page_fault_0
+ la.pcrel t0, tlb_do_page_fault_0
jr t0
/* snip */
@@ -341,7 +341,7 @@ tlb_huge_update_store:b tlb_do_page_fault_1
nopage_tlb_store:
dbar 0
csrrd ra, EXCEPTION_KS2
- la_abs t0, tlb_do_page_fault_1
+ la.pcrel t0, tlb_do_page_fault_1
jr t0
/* snip */
@@ -490,7 +490,7 @@ tlb_huge_update_modify:b tlb_do_page_fault_1
nopage_tlb_modify:
dbar 0
csrrd ra, EXCEPTION_KS2
- la_abs t0, tlb_do_page_fault_1
+ la.pcrel t0, tlb_do_page_fault_1
jr t0
SYM_FUNC_END(handle_tlb_modify)
.endm