The 5.15 tree has something like ~2.4k IO accesses (including MMIO andTo provide more numbers on this. What I can see so far from a smatch-based
others) in init functions that also register drivers (thanks Elena for
the number)
analysis, we have 409 __init style functions (.probe & builtin/module_
_platform_driver_probe excluded) for 5.15 with allyesconfig. The number of
distinct individual IO reads (MSRs included) is much higher than 2.4k and on the
range of 30k because quite often there are more than a single IO read in the
same source function. The full list of accesses and the possible call paths is huge
for manually looking at, but here is the list of the 409 functions if anyone wants
to take a look: