Re: [PATCH v3 1/6] MIPS: Loongson64: Do not write the read only field LPA of CP0_CONFIG3

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi, Tiezhu,

On Tue, Nov 3, 2020 at 3:13 PM Tiezhu Yang <yangtiezhu@xxxxxxxxxxx> wrote:
>
> The field LPA of CP0_CONFIG3 register is read only for Loongson64, so the
> write operations are meaningless, remove them.
>
> Signed-off-by: Tiezhu Yang <yangtiezhu@xxxxxxxxxxx>
> ---
>
> v2: No changes
> v3: No changes
>
>  arch/mips/include/asm/mach-loongson64/kernel-entry-init.h | 8 --------
>  arch/mips/loongson64/numa.c                               | 3 ---
>  2 files changed, 11 deletions(-)
>
> diff --git a/arch/mips/include/asm/mach-loongson64/kernel-entry-init.h b/arch/mips/include/asm/mach-loongson64/kernel-entry-init.h
> index 87a5bfb..e4d77f4 100644
> --- a/arch/mips/include/asm/mach-loongson64/kernel-entry-init.h
> +++ b/arch/mips/include/asm/mach-loongson64/kernel-entry-init.h
> @@ -19,10 +19,6 @@
>         .macro  kernel_entry_setup
>         .set    push
>         .set    mips64
> -       /* Set LPA on LOONGSON3 config3 */
> -       mfc0    t0, CP0_CONFIG3
> -       or      t0, (0x1 << 7)
> -       mtc0    t0, CP0_CONFIG3
Sorry for the late response, I have the same worry as Jiaxun. As you
know, Loongson's user manuals are not always correct, but the original
code comes from Loongson are usually better. So, my opinion is "Don't
change it if it doesn't break anything".

Huacai

>         /* Set ELPA on LOONGSON3 pagegrain */
>         mfc0    t0, CP0_PAGEGRAIN
>         or      t0, (0x1 << 29)
> @@ -54,10 +50,6 @@
>         .macro  smp_slave_setup
>         .set    push
>         .set    mips64
> -       /* Set LPA on LOONGSON3 config3 */
> -       mfc0    t0, CP0_CONFIG3
> -       or      t0, (0x1 << 7)
> -       mtc0    t0, CP0_CONFIG3
>         /* Set ELPA on LOONGSON3 pagegrain */
>         mfc0    t0, CP0_PAGEGRAIN
>         or      t0, (0x1 << 29)
> diff --git a/arch/mips/loongson64/numa.c b/arch/mips/loongson64/numa.c
> index cf9459f..c7e3cced 100644
> --- a/arch/mips/loongson64/numa.c
> +++ b/arch/mips/loongson64/numa.c
> @@ -40,9 +40,6 @@ static void enable_lpa(void)
>         unsigned long value;
>
>         value = __read_32bit_c0_register($16, 3);
> -       value |= 0x00000080;
> -       __write_32bit_c0_register($16, 3, value);
> -       value = __read_32bit_c0_register($16, 3);
>         pr_info("CP0_Config3: CP0 16.3 (0x%lx)\n", value);
>
>         value = __read_32bit_c0_register($5, 1);
> --
> 2.1.0
>



[Index of Archives]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux