On Thu, Dec 12, 2024 at 11:33:05AM +0000, Mark Brown wrote:
On Wed, Dec 11, 2024 at 10:40:15PM +0000, Will Deacon wrote:
On Tue, Dec 10, 2024 at 06:43:05PM +0000, Mark Brown wrote:
Yes, the issues here are not technical ones. Though there are some complications - eg, IIRC the XML doesn't encode the signedness of fields like we do and there's areas where we've deliberately diverged. Given the amount of review I end up having to do of sysreg changes your reasoning is especially apparent to me. I've passed this feedback on (again).
One thing we _could_ do is have a tool (in-tree) that takes two copies of the sysreg file (i.e. before and after applying a diff) along with a copy of the XML and, for the the new fields being added, shows how the XML represents those compared to the diff. It should then be relatively straightforward to flag the use of an unallocated encoding (like we had here) and also things like assigning a field name to a RES0 region.
So this wouldn't be generating the patches from the XML, but more like using the XML as an oracle in a linter.
That'd be useful, yes - unfortunately I think that's still something I can't work on myself at the moment for the above mentioned non-technical reasons.
Is anybody able to work on it? Without insight into the "non-technical reasons", I don't know what I'm supposed to do other than write the tool myself (which means finding some spare cycles...) or refusing to take wholesale sysreg definitions until it's been ironed out :/
Will