[PATCH v3 07/11] lib: vsprintf: enable '%pbl' format specifier

Lukas Funke lukas.funke-oss at weidmueller.com
Tue Jan 23 15:48:10 CET 2024


Hi Tom,

On 18.01.2024 21:22, Tom Rini wrote:
> On Wed, Jan 10, 2024 at 10:10:33AM +0100, lukas.funke-oss at weidmueller.com wrote:
> 
>> From: Lukas Funke <lukas.funke at weidmueller.com>
>>
>> The commit enables vsprintf() to handle the '%pbl' format specifier
>> in order to print bitmaps and its derivatives such as cpumask and
>> nodemask [1]. This can be used to derive kernel boot parameters from
>> bitmaks such as 'isolcpu' or 'nohz_full' [2].
>>
>> [1] https://www.kernel.org/doc/Documentation/printk-formats.txt
>> [2] https://www.kernel.org/doc/html/latest/admin-guide/kernel-parameters.html
>>
>> Signed-off-by: Lukas Funke <lukas.funke at weidmueller.com>
> 
> This breaks building ARC platforms, and possibly others.  Note that
> tools/buildman/buildman is happy to fetch toolchains for you, and in
> this case it's also just the current kernel.org cross-toolchain. Please
> see https://docs.u-boot.org/en/latest/develop/ci_testing.html about how
> to trigger a CI run prior to sending v4, thanks.
> 

Thanks for the input. I ran the pipeline on github and it failed for 
riscv, m86k, x86_64. The reason is the missing 'find_next_zero_bit()' 
implementation (actually it's faulty on x86_64). What is a good way to 
cope with this problem? My suggestions would be:

- Add a generic 'find_next_zero_bit()'. This would be the
'Linux way' and requires refactoring of the bitops header.
- Add ifdef-macro/kconfig to only enable the format specifier only for 
the supported platforms. This would be the 'quick way'.

What would be your or the maintainers preferred solution?

Best regards
Lukas


More information about the U-Boot mailing list