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