Re: [REGRESSION] mipsel: no RTC CMOS on the Malta platform in QEMU
From: Jiaxun Yang
Date: Tue Jan 14 2025 - 05:09:58 EST
在2025年1月14日一月 上午8:02,Geert Uytterhoeven写道:
> Hi Jiaxun,
[...]
>>
>> You are right, this is what should be done.
>>
>> A quick fix would be #undef PCI_IOBASE in arch/mips/include/asm/io.h
>> just after including #include <asm-generic/io.h>, with ralink and loongson64
>> as exception.
>
> Shouldn't arch/mips/include/asm/io.h do
>
> #define PCI_IOBASE mips_io_port_base
>
> unconditionally, _before_ including <asm-generic/io.h>?
The problem here is defining PCI_IOBASE implied use of logic_pio and VM mapped
io access, which is not true for many MIPS systems...
>
>> In the long term, we should scrutinize platform usage of mips_io_base
>> following ralink's approach.
>
> Currently ralink handles that in a mach-specific include:
>
> arch/mips/include/asm/mach-ralink/spaces.h:#define PCI_IOBASE
> mips_io_port_base
>
> Loongson does it differently:
>
> arch/mips/include/asm/mach-loongson64/spaces.h:#define PCI_IOBASE
> _AC(0xc000000000000000 + SZ_128K, UL)
>
> But still sets mips_io_port_base in prom_init():
>
> arch/mips/loongson64/init.c: set_io_port_base(PCI_IOBASE);
>
> so defining PCI_IOBASE to mips_io_port_base in the main <asm/io.h>
> should work.
Yes, we need to make sure malta problem won't happen on other platforms
before making this definition.
Thanks
>
> Gr{oetje,eeting}s,
>
> Geert
>
> --
> Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx
>
> In personal conversations with technical people, I call myself a hacker. But
> when I'm talking to journalists I just say "programmer" or something like that.
> -- Linus Torvalds
--
- Jiaxun