This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Some questions regarding ARMv8 hardware features

Hello, 

I am a PhD student doing research using the ARMv8 hardware features. I have a few questions regarding them. Some of these may seem a bit trivial, but I like to be a bit more thorough and confirm my understanding, and ARM is relatively new to me. I will be working extensively on these ARM features for the next few months and would like to have a full understanding.

1- I would like to use TBI to store my own personal metadata in the top 8 bits. Is this possible? 
2- Does TBI need to be enabled for PAC? If it isn't, does PAC use just the 7 bits from VASIZE to 54, assuming VASIZE = 48? If it is enabled, does PAC use the full 15 bits?
3- What does Bit 55 (low/high) do exactly?
4- Is BTI per thread?
5- PAC keys differ between kernel and user space, but they don't differ per thread. Is this accurate?
6- Why does MTE use only 4 bits as a tag when TBI allows the top 8 bits to be ignored? Is it because of the allocation tag or the possible memory overhead?
7- If PAC is enabled and I don't use the top bytes for PAC, can I still use them for other purposes without triggering a fault? 
8- When the AUTIA instruction is called to authenticate before, for example, a return in a function. Does the return use the address stripped by AUTIA or does it use the original return address? This is regardless of whether or not they are of the same value.
Thank you very much and I appreciate your time and effort.
Best regards,
Mohannad Ismail