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] [thread-next>] [day] [month] [year] [list]
Date:   Fri, 24 Feb 2023 18:43:33 +0800
From:   Xi Ruoyao <xry111@...111.site>
To:     Jinyang He <hejinyang@...ngson.cn>,
        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

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

-- 
Xi Ruoyao <xry111@...111.site>
School of Aerospace Science and Technology, Xidian University

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ