On 17.11.25 11:34, Jan Beulich wrote:
On 17.11.2025 10:31, Jan Beulich wrote:
On 14.11.2025 19:01, Grygorii Strashko wrote:
From: Grygorii Strashko <[email protected]>

Now all libfdt features are built-it unconditionally, but...

X86: The libfdt is used on x86 only to parse Hyperlaunch/dom0less Xen
nodes, so full libfdt is not needed in this case and minimal, RO
configuration can be used.

ARM - situation is more complicated:
1) ARM reads Host DT (fdt.c RO)
2) ARM reads passthrough DT (RO)
3) ARM generates dom0/hwdom DT from Host DT (there is a mix of WIP and SW APIs)
4) ARM generates domU DT (there is a mix of WIP and SW APIs)
4) With EFI enabled - ARM needs RW API and fdt_empty_tree
5) With CONFIG_OVERLAY_DTB - ARM needs RW and fdt_overlay API

This goes too far, imo.

The more that, unless OVERLAY_DTB=y, all code and data moves to .init.*. Is
coverage in in .init.* really of as much concern as runtime code/data?

It is less priority, but still is. Any way it is unnecessary build units (build 
time) and
increased binary size.


Actually, I see interesting behavior - when build with 
CONFIG_CC_SPLIT_SECTIONS=y (CONFIG_LIVEPATCH=y)
the libfdt code is not moved in ".init"

0xa000027aa10 T fdt_ro_probe_

0xa00002c0000 T __init_begin
--
Best regards,
-grygorii


Reply via email to