[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <d5e96b4f-ac51-9d56-fcf3-b4f18779b76e@loongson.cn>
Date: Fri, 24 Feb 2023 21:04:03 +0800
From: Jinyang He <hejinyang@...ngson.cn>
To: Xi Ruoyao <xry111@...111.site>,
Huacai Chen <chenhuacai@...nel.org>,
WANG Xuerui <kernel@...0n.name>
Cc: Youling Tang <tangyouling@...ngson.cn>, loongarch@...ts.linux.dev,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH 6/6] LoongArch: Clean up la_abs macro
在 2023/2/24 18:43, Xi Ruoyao 写道:
> On Fri, 2023-02-24 at 18:10 +0800, Jinyang He wrote:
>
> /* snip */
>
>> diff --git a/arch/loongarch/kernel/entry.S
>> b/arch/loongarch/kernel/entry.S
>> index ca4651f91e73..4de6b31dc3bf 100644
>> --- a/arch/loongarch/kernel/entry.S
>> +++ b/arch/loongarch/kernel/entry.S
> /* snip */
>
>> @@ -65,7 +65,7 @@ SYM_FUNC_START(handle_sys)
>> and tp, tp, sp
>>
>> move a0, sp
>> - la_abs ra, do_syscall
>> + la.pcrel ra, do_syscall
>> jirl ra, ra, 0
> bl do_syscall
>
>>
>> RESTORE_ALL_AND_RET
>> 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
> /* snip */
>
>> @@ -45,7 +45,7 @@ SYM_FUNC_START(handle_vint\idx)
>> 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
> bl do_vint
>
>> RESTORE_ALL_AND_RET
>> 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
> bl do_\handler
>
> /* snip */
>
>> diff --git a/arch/loongarch/mm/tlbex.S b/arch/loongarch/mm/tlbex.S
>> 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
> bl do_page_fault
>
> /* snip */
>
>> @@ -190,7 +190,7 @@ SYM_FUNC_START(handle_tlb_load\idx)
>> 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
> b tlb_do_page_fault_0
>
> /* snip */
>
>> @@ -341,7 +341,7 @@ tlb_huge_update_store:
>> 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
> b tlb_do_page_fault_1
>
> /* snip */
>
>> @@ -490,7 +490,7 @@ tlb_huge_update_modify:
>> 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
> b tlb_do_page_fault_1
>
>> SYM_FUNC_END(handle_tlb_modify)
>> .endm
Thanks, I'll check other places, too.
Jinyang
Powered by blists - more mailing lists