Re: [PATCH v2] powerpc: Use shared font data

From: Dr. David Alan Gilbert
Date: Tue Aug 08 2023 - 19:02:38 EST


* Randy Dunlap (rdunlap@xxxxxxxxxxxxx) wrote:
>
>
> On 8/8/23 10:28, Dr. David Alan Gilbert wrote:
> > * Randy Dunlap (rdunlap@xxxxxxxxxxxxx) wrote:
> >> Hi--
> >>
> >> On 8/6/23 18:07, linux@xxxxxxxxxxx wrote:
> >>> From: "Dr. David Alan Gilbert" <linux@xxxxxxxxxxx>
> >>>
> >>> PowerPC has a 'btext' font used for the console which is almost identical
> >>> to the shared font_sun8x16, so use it rather than duplicating the data.
> >>>
> >>> They were actually identical until about a decade ago when
> >>> commit bcfbeecea11c ("drivers: console: font_: Change a glyph from
> >>> "broken bar" to "vertical line"")
> >>>
> >>> which changed the | in the shared font to be a solid
> >>> bar rather than a broken bar. That's the only difference.
> >>>
> >>> This was originally spotted by PMD which noticed that sparc does
> >>> the same thing with the same data, and they also share a bunch
> >>> of functions to manipulate the data. I've previously posted a near
> >>> identical patch for sparc.
> >>>
> >>> One difference I notice in PowerPC is that there are a bunch of compile
> >>> options for the .c files for the early code to avoid a bunch of security
> >>> compilation features; it's not clear to me if this is a problem for
> >>> this font data.
> >>>
> >>> Tested very lightly with a boot without FS in qemu.
> >>>
> >>> v2
> >>> Added 'select FONT_SUPPORT' (to stop modconfig causing the font to be
> >>> linked into a module rather than the main kernel)
> >>> Added 'select FONTS' to satisfy requirements in lib/fonts
> >>>
> >>> Signed-off-by: Dr. David Alan Gilbert <linux@xxxxxxxxxxx>
> >>> ---
> >>> arch/powerpc/Kconfig.debug | 3 +
> >>> arch/powerpc/kernel/btext.c | 360 +-----------------------------------
> >>> 2 files changed, 9 insertions(+), 354 deletions(-)
> >>>
> >>> diff --git a/arch/powerpc/Kconfig.debug b/arch/powerpc/Kconfig.debug
> >>> index 2a54fadbeaf51..521c4baf30e88 100644
> >>> --- a/arch/powerpc/Kconfig.debug
> >>> +++ b/arch/powerpc/Kconfig.debug
> >>> @@ -147,6 +147,9 @@ config BDI_SWITCH
> >>> config BOOTX_TEXT
> >>> bool "Support for early boot text console (BootX or OpenFirmware only)"
> >>> depends on PPC_BOOK3S
> >>> + select FONT_SUN8x16
> >>> + select FONT_SUPPORT
> >>> + select FONTS
> >>> help
> >>> Say Y here to see progress messages from the boot firmware in text
> >>> mode. Requires either BootX or Open Firmware.
> >>
> >> kconfig tells me:
> >>
> >> WARNING: unmet direct dependencies detected for FONTS
> >> Depends on [n]: FONT_SUPPORT [=y] && (FRAMEBUFFER_CONSOLE [=n] || STI_CONSOLE [=n])
> >> Selected by [y]:
> >> - BOOTX_TEXT [=y] && PPC_BOOK3S [=y]
> >>
> >> WARNING: unmet direct dependencies detected for FONT_SUN8x16
> >> Depends on [n]: FONT_SUPPORT [=y] && FRAMEBUFFER_CONSOLE [=n] && (!SPARC && FONTS [=y] || SPARC)
> >> Selected by [y]:
> >> - BOOTX_TEXT [=y] && PPC_BOOK3S [=y]
> >>
> >> because FONTS depends on FRAMEBUFFER_CONSOLE || STI_CONSOLE and neither of those is set.
> >
> > I'm not getting the warnings in the v2, with a few configs; what command
> > are using?
> >
>
> My 'make' build target is either pp32_randconfig or ppc64_randconfig.
> I see kconfig warnings in > 50% of the randconfigs. (small sample size,
> around 20)

Thanks, that triggers it for me; I'll have a discussion with it....

Dave

>
> > I'm tempted to change the FONT_SUN8x16 dependency line to have
> > SPARC||BOOTX_TEXT or SPARC||POWERPC and drop the 'select FONTS' I
> > added.
> >
> > Dave
> >
> >>
> >> --
> >> ~Randy
>
> --
> ~Randy
--
-----Open up your eyes, open up your mind, open up your code -------
/ Dr. David Alan Gilbert | Running GNU/Linux | Happy \
\ dave @ treblig.org | | In Hex /
\ _________________________|_____ http://www.treblig.org |_______/