What are the specific risks of touching reserved bits of a TZ config register?
I've been trying to solve a problem on a Zedboard implementation of running the OP-TEE trusted OS in the secure world and Linux in the non-secure. I won't go into the details on this post, but ran into something while trying to debug the matter that I'd love some feedback on here.
The implementer of the OP-TEE port for the Zynq7k, implemented initialization of a number of the TZ config registers defined in UG1019, specifically the "TrustZone Configuration Registers in the Zynq-7000 All Programmable SoC" section which starts on page 13.
What I found was that in some cases, registers that had only one used bit, and the others defined as reserved, were actually configured in the author's code to all be 1'b1. In other cases, the register definition didn't specify anything about the unused bits, and again, the author wrote 1'b1 to those bits. In such cases, I'd like to know if there is any known, though possibly unspecified behavior? If configuring these registers as he did is "playing with fire", I'm going to go ahead and fix the code...especially on the off chance that it fixes my issue (an abort when configuring my clocks during boot of a good Linux kernel as secondary OS in NS world). If on the other hand, such errors are predictably innocuous, then I'll just ignore them and move on.