Hi Simon,
As a general comment, this is adding a load of code which is used by a lot of platforms. As more and more aarch64 platforms are created, this data grows. Why not use the devicetree for this hardware information? That is what it is for.
This data does not belong in devicetree, the various system registers exist to describe this information... Putting it in DT would be duplicating it.
Using DT for this would additionally require having bindings accepted upstream and for all SoCs to add them. To what end?
That being said, it would maybe be good to know what the size diff is with this series before getting into the weeds.
Some of the information detected makes sense, such as cache setup, but some of it seems like an approximation, or is missing, but suggests it is authoritative.
Could you give some examples? Kind regards,
Regards, Simon
-- // Caleb (they/them)