[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <8ca730b9-fa8c-46ea-bdc5-158da0f29c3a@app.fastmail.com>
Date: Thu, 23 Nov 2023 12:13:11 +0000
From: "Jiaxun Yang" <jiaxun.yang@...goat.com>
To: "Serge Semin" <fancer.lancer@...il.com>,
"Arnd Bergmann" <arnd@...db.de>
Cc: "Thomas Bogendoerfer" <tsbogend@...ha.franken.de>,
"Andrew Morton" <akpm@...ux-foundation.org>,
"Mike Rapoport" <rppt@...nel.org>,
"Matthew Wilcox" <willy@...radead.org>,
"Tiezhu Yang" <yangtiezhu@...ngson.cn>,
"Huacai Chen" <chenhuacai@...nel.org>,
"Yinglu Yang" <yangyinglu@...ngson.cn>,
"Alexey Malahov" <Alexey.Malahov@...kalelectronics.ru>,
"Aleksandar Rikalo" <aleksandar.rikalo@...mia.com>,
"Aleksandar Rikalo" <arikalo@...il.com>,
"Dragan Mladjenovic" <dragan.mladjenovic@...mia.com>,
"Chao-ying Fu" <cfu@...ecomp.com>, "Marc Zyngier" <maz@...nel.org>,
"linux-mips@...r.kernel.org" <linux-mips@...r.kernel.org>,
linux-mm@...ck.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 1/7] mips: dmi: Fix early remap on MIPS32
在2023年11月23日十一月 上午9:32,Serge Semin写道:
> Hi Arnd
>
> On Wed, Nov 22, 2023 at 08:35:01PM +0100, Arnd Bergmann wrote:
>> On Wed, Nov 22, 2023, at 19:23, Serge Semin wrote:
>> > dmi_early_remap() has been defined as ioremap_cache() which on MIPS32 gets
>> > to be converted to the VM-based mapping. DMI early remapping is performed
>> > at the setup_arch() stage with no VM available. So calling the
>> > dmi_early_remap() for MIPS32 causes the system to crash at the early boot
>> > time. Fix that by converting dmi_early_remap() to the uncached remapping
>> > which is always available on both 32 and 64-bits MIPS systems.
>> >
>> > Fixes: be8fa1cb444c ("MIPS: Add support for Desktop Management Interface (DMI)")
>> > Signed-off-by: Serge Semin <fancer.lancer@...il.com>
>> > ---
>> > arch/mips/include/asm/dmi.h | 2 +-
>> > 1 file changed, 1 insertion(+), 1 deletion(-)
>> >
>> > diff --git a/arch/mips/include/asm/dmi.h b/arch/mips/include/asm/dmi.h
>> > index 27415a288adf..525aad1572d1 100644
>> > --- a/arch/mips/include/asm/dmi.h
>> > +++ b/arch/mips/include/asm/dmi.h
>> > @@ -5,7 +5,7 @@
>> > #include <linux/io.h>
>> > #include <linux/memblock.h>
>> >
>> > -#define dmi_early_remap(x, l) ioremap_cache(x, l)
>> > +#define dmi_early_remap(x, l) ioremap_uc(x, l)
>>
>
>> Please don't use ioremap_uc() in new code, we are in the (long)
>> process of removing it from the kernel for everything except
>> x86-32, and it already returns NULL on most of them.
>>
>> Would the normal ioremap() work for you here? It seems to
>> do the same thing as ioremap_uc() on mips and a couple of
>> other architectures that have not yet killed it off.
>
> Ok. Thanks for the heads up. I'll fix the patch to be using ioremap()
> in v2. ioremap_uc() is just an macro-alias of ioremap() on MIPS.
Perhaps we need to fix ioremap_cache so it can give a KSEG1 address?
AFAIK for Loongson DMI is located at cached memory so using ioremap_uc
blindly will cause inconsistency.
Thanks
- Jiaxun
>
> -Serge(y)
>
>>
>> Arnd
--
- Jiaxun
Powered by blists - more mailing lists