Protection unit support in AXI
Posted 02 March 2012 - 02:29 PM
Most systems might just use AxPROT to allow masters operating in a privileged "supervisor" mode to access more of the system, maybe writing to the instruction code, and protecting those important areas from non-privileged modes (i.e. users).
However some systems might require more clarity that it is a security protection being implemented (AxPROT), so you can define some physical masters are being trusted/secure and able to access anything in the system, and non-secure/untrusted masters see less of the system. Masters can also function in both modes under some OS control, so changing what that master can see of the system.
Perhaps trying to think of an example, you might have areas of instruction code for secure masters, and areas for non-secure masters. For each of these master groups you might want to restrict write access to the instruction code for unprivileged modes, so both AxPROT and AxPROT are being used.
There aren't any fixed rules on what you protect for each bit, so you have 2 bits to give you a bit of flexibility I guess.
Someone else might have stronger thoughts on what these bits must be used for, but that is probably application specific requirements, rather than just generic comments.