[PATCH v2] powerpc: Use shared font data

Randy Dunlap rdunlap at infradead.org
Wed Aug 9 06:20:55 AEST 2023



On 8/8/23 10:28, Dr. David Alan Gilbert wrote:
> * 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?
> 

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)


> 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


More information about the Linuxppc-dev mailing list