lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<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

Powered by Openwall GNU/*/Linux Powered by OpenVZ