I'm not an Arm dev and am just a consumer so I may be misunderstanding, but isn't Arm SystemReady pretty much the thing that's intended to solve the problem you're talking about (among others)?
https://developer.arm.com/documentation/107981/0302/SystemRe...