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

From: Dr. David Alan Gilbert
Date: Tue Aug 08 2023 - 14:20:31 EST


* 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?

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
--
-----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 |_______/