[PATCH v2] powerpc: Use shared font data

Dr. David Alan Gilbert linux at treblig.org
Wed Aug 9 03:28:35 AEST 2023


* Randy Dunlap (rdunlap at infradead.org) wrote:
> Hi--
> 
> On 8/6/23 18:07, linux at treblig.org wrote:
> > From: "Dr. David Alan Gilbert" <linux at treblig.org>
> > 
> > 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 at treblig.org>
> > ---
> >  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   |_______/


More information about the Linuxppc-dev mailing list