[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <41080afd-86ab-4dc1-9c9f-eef4701692e0@roeck-us.net>
Date: Thu, 8 Aug 2024 17:56:59 -0700
From: Guenter Roeck <linux@...ck-us.net>
To: John David Anglin <dave.anglin@...l.net>,
Linus Torvalds <torvalds@...ux-foundation.org>,
Thomas Gleixner <tglx@...utronix.de>
Cc: Vlastimil Babka <vbabka@...e.cz>, linux-kernel@...r.kernel.org,
Linux-MM <linux-mm@...ck.org>, Helge Deller <deller@....de>,
linux-parisc@...r.kernel.org,
Richard Henderson <richard.henderson@...aro.org>
Subject: Re: [PATCH 6.10 000/809] 6.10.3-rc3 review
On 8/8/24 15:29, John David Anglin wrote:
> On 2024-08-08 5:50 p.m., John David Anglin wrote:
>> The mode likely problem is the shladd instruction in the following macro in entry.S:
>>
>> .macro L2_ptep pmd,pte,index,va,fault
>> #if CONFIG_PGTABLE_LEVELS == 3
>> extru_safe \va,31-ASM_PMD_SHIFT,ASM_BITS_PER_PMD,\index
>> #else
>> extru_safe \va,31-ASM_PGDIR_SHIFT,ASM_BITS_PER_PGD,\index
>> #endif
>> dep %r0,31,PAGE_SHIFT,\pmd /* clear offset */
>> #if CONFIG_PGTABLE_LEVELS < 3
>> copy %r0,\pte
>> #endif
>> ldw,s \index(\pmd),\pmd
>> bb,>=,n \pmd,_PxD_PRESENT_BIT,\fault
>> dep %r0,31,PxD_FLAG_SHIFT,\pmd /* clear flags */
>> SHLREG \pmd,PxD_VALUE_SHIFT,\pmd
>> extru_safe \va,31-PAGE_SHIFT,ASM_BITS_PER_PTE,\index
>> dep %r0,31,PAGE_SHIFT,\pmd /* clear offset */
>> shladd \index,BITS_PER_PTE_ENTRY,\pmd,\pmd /* pmd is now pte */
>> .endm
>>
>> I believe the shladd instruction should be changed to shladd,l (shift left and add logical).
> diff --git a/arch/parisc/kernel/entry.S b/arch/parisc/kernel/entry.S
> index ab23e61a6f01..1ec60406f841 100644
> --- a/arch/parisc/kernel/entry.S
> +++ b/arch/parisc/kernel/entry.S
> @@ -399,7 +399,7 @@
> SHLREG \pmd,PxD_VALUE_SHIFT,\pmd
> extru_safe \va,31-PAGE_SHIFT,ASM_BITS_PER_PTE,\index
> dep %r0,31,PAGE_SHIFT,\pmd /* clear offset */
> - shladd \index,BITS_PER_PTE_ENTRY,\pmd,\pmd /* pmd is now pte */
> + shladd,l \index,BITS_PER_PTE_ENTRY,\pmd,\pmd /* pmd is now pte */
> .endm
>
> /* Look up PTE in a 3-Level scheme. */
>
> Boots okay. Fixing the addi instruction is harder and it would take some time to test.
>
Odd, it doesn't help for me. Does it crash for you without the above change ?
Or, in other words, is divI at the objecting location ?
Guenter
Powered by blists - more mailing lists