Re: [PATCH v2 1/9] vgacon: rework Kconfig dependencies
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
- To: "Michael Ellerman" <mpe@xxxxxxxxxxxxxx>, "Arnd Bergmann" <arnd@xxxxxxxxxx>, linux-fbdev@xxxxxxxxxxxxxxx, "Thomas Zimmermann" <tzimmermann@xxxxxxx>, "Helge Deller" <deller@xxxxxx>, "Javier Martinez Canillas" <javierm@xxxxxxxxxx>
- Subject: Re: [PATCH v2 1/9] vgacon: rework Kconfig dependencies
- From: "Arnd Bergmann" <arnd@xxxxxxxx>
- Date: Fri, 21 Jul 2023 10:26:30 +0200
- Cc: "David S . Miller" <davem@xxxxxxxxxxxxx>, "K. Y. Srinivasan" <kys@xxxxxxxxxxxxx>, "Ard Biesheuvel" <ardb@xxxxxxxxxx>, "Borislav Petkov" <bp@xxxxxxxxx>, "Brian Cain" <bcain@xxxxxxxxxxx>, "Catalin Marinas" <catalin.marinas@xxxxxxx>, "Christophe Leroy" <christophe.leroy@xxxxxxxxxx>, "Daniel Vetter" <daniel@xxxxxxxx>, "Dave Hansen" <dave.hansen@xxxxxxxxxxxxxxx>, "Dave Airlie" <airlied@xxxxxxxxx>, "Deepak Rawat" <drawat.floss@xxxxxxxxx>, "Dexuan Cui" <decui@xxxxxxxxxxxxx>, "Dinh Nguyen" <dinguyen@xxxxxxxxxx>, "Greg Kroah-Hartman" <gregkh@xxxxxxxxxxxxxxxxxxx>, guoren <guoren@xxxxxxxxxx>, "Haiyang Zhang" <haiyangz@xxxxxxxxxxxxx>, "Huacai Chen" <chenhuacai@xxxxxxxxxx>, "Ingo Molnar" <mingo@xxxxxxxxxx>, "John Paul Adrian Glaubitz" <glaubitz@xxxxxxxxxxxxxxxxxxx>, "Khalid Aziz" <khalid@xxxxxxxxxxxxxx>, "Linus Walleij" <linus.walleij@xxxxxxxxxx>, "Matt Turner" <mattst88@xxxxxxxxx>, "Max Filippov" <jcmvbkbc@xxxxxxxxx>, "Nicholas Piggin" <npiggin@xxxxxxxxx>, "Palmer Dabbelt" <palmer@xxxxxxxxxxx>, "Russell King" <linux@xxxxxxxxxxxxxxx>, "Thomas Bogendoerfer" <tsbogend@xxxxxxxxxxxxxxxx>, "Thomas Gleixner" <tglx@xxxxxxxxxxxxx>, "WANG Xuerui" <kernel@xxxxxxxxxx>, "Wei Liu" <wei.liu@xxxxxxxxxx>, "Will Deacon" <will@xxxxxxxxxx>, x86@xxxxxxxxxx, linux-alpha@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx, linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, linux-efi@xxxxxxxxxxxxxxx, "linux-csky@xxxxxxxxxxxxxxx" <linux-csky@xxxxxxxxxxxxxxx>, linux-hexagon@xxxxxxxxxxxxxxx, linux-ia64@xxxxxxxxxxxxxxx, loongarch@xxxxxxxxxxxxxxx, linux-mips@xxxxxxxxxxxxxxx, linuxppc-dev@xxxxxxxxxxxxxxxx, linux-riscv@xxxxxxxxxxxxxxxxxxx, linux-sh@xxxxxxxxxxxxxxx, sparclinux@xxxxxxxxxxxxxxx, linux-hyperv@xxxxxxxxxxxxxxx, dri-devel@xxxxxxxxxxxxxxxxxxxxx
- Feedback-id: i56a14606:Fastmail
- In-reply-to: <87pm4lj1w3.fsf@mail.lhotse>
- References: <20230719123944.3438363-1-arnd@kernel.org> <20230719123944.3438363-2-arnd@kernel.org> <87pm4lj1w3.fsf@mail.lhotse>
- User-agent: Cyrus-JMAP/3.9.0-alpha0-531-gfdfa13a06d-fm-20230703.001-gfdfa13a0
On Fri, Jul 21, 2023, at 06:59, Michael Ellerman wrote:
> Arnd Bergmann <arnd@xxxxxxxxxx> writes:
>> From: Arnd Bergmann <arnd@xxxxxxxx>
>>
>> The list of dependencies here is phrased as an opt-out, but this is missing
>> a lot of architectures that don't actually support VGA consoles, and some
>> of the entries are stale:
>>
>> - powerpc used to support VGA consoles in the old arch/ppc codebase, but
>> the merged arch/powerpc never did
>
> Not disputing this, but how did you come to that conclusion? I grepped
> around and couldn't convince myself whether it can work on powerpc or
> not. ie. currently it's possible to enable CONFIG_VGA_CONSOLE and
> powerpc does have a struct screen_info defined which seems like it would
> allow vgacon_startup() to complete.
The VGA console needs both screen_info and vga_con to work. In arch/ppc
we had both, but in arch/powerpc we only retained the screen_info:
$ git grep vga_con v2.6.26 -- arch/ppc arch/ppc64 arch/powerpc
v2.6.26:arch/ppc/platforms/pplus.c: conswitchp = &vga_con;
v2.6.26:arch/ppc/platforms/prep_setup.c: conswitchp = &vga_con;
so after arch/ppc was removed, this became impossible to use on both
pplus and prep. These two platforms were also (as far as I can tell)
the only ones to support vga16fb as an alternative to vgacon, but
both platforms were removed later on.
> My only concern is that someone could be using it with Qemu?
I have not yet ruled out anyone using vga16fb on qemu before
commit 0db5b61e0dc07 ("fbdev/vga16fb: Create EGA/VGA devices
in sysfb code"), but I can see that this has been broken for
12 months without anyone complaining about it, since vga16fb
no longer works with the "orig_video_isVGA == 1" setting
in arch/powerpc (the device is not created).
In the qemu sources, I see five powerpc machines that intialize
VGA support: mac_newworld, mac_oldworld, pegasos2, prep, and spapr.
I think we can exclude prep (which was removed from the kernel)
and spapr (64-bit VGA_MAP_MEM() looks broken). I think the
macs always come up in graphical mode and only use
offb/atifb/rivafb/matroxfb but not vga16fb that would require
running the x86 VGA BIOS initialization.
I suppose it's possible to use vga16fb (not vgacon) with
"qemu-system-ppc -M pegasos2 -vga std" if that still boots
at all. Support for pegasos2 hardware appears to have been
removed with commit 04debf21fa174 ("powerpc: Remove core
support for Marvell mv64x60 hostbridges"), but it's possible
that this did not break qemu support if that only uses
devices under arch/powerpc/platforms/chrp/pci.c. I could
not get it to boot, but did not try very hard.
Arnd
[Index of Archives]
[Linux Kernel]
[Sparc Linux]
[DCCP]
[Linux ARM]
[Yosemite News]
[Linux SCSI]
[Linux x86_64]
[Linux for Ham Radio]