IBM AIX Continuous Availability Features - IBM Redbooks
IBM AIX Continuous Availability Features - IBM Redbooks
IBM AIX Continuous Availability Features - IBM Redbooks
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
KKEY_UPUBLIC, KKEY_FILE_DATA<br />
KKEY_UPRIVATE1<br />
KKEY_PUBLIC<br />
KKEY_BLOCK_DEV<br />
KKEY_FILE_SYSTEM<br />
KKEY_COMMO<br />
KKEY_NETM<br />
KKEY_USB<br />
KKEY_GRAPHICS<br />
KKEY_DMA<br />
KKEY_TRB<br />
KKEY_IOMAP<br />
KKEY_PRIVATE1-32<br />
keys for kernel internal<br />
use, ex:<br />
KKEY_VMM_PMAP<br />
Mapping of<br />
KEY_SET to<br />
HKEY_SET<br />
through ABI<br />
KKEY_LDR<br />
KKEY_LFS<br />
KKEY_J2<br />
......<br />
KKEY_LDATALOC<br />
KKEY_KER<br />
Figure 3-2 PFT entry with AMR for a typical kernel process/execution path on P6 hardware<br />
For P6 hardware, there are only eight available hardware keys, so each keyset will be<br />
mapped to a 16-bit AMR. Each bit-pair in AMR may have more than one key mapped to it.<br />
For example, if key 4 is set in AMR, that means at least one of KKEY_COMMO,<br />
KKEY_NETM, KKEY_USB, and KKEY_GRAPHICS has been added to the hardware keyset.<br />
Two base kernel domains are provided. Hardware key 6 is used for critical kernel functions.<br />
Hardware key 7 for all other base kernel keys. Hardware key 5 is used for kernel extension<br />
private data keys. Hardware keys 3 to 5 are used for kernel extension domains. Two keys are<br />
dedicated for user mode kernel keys. KKEY_UPRIVATE1 is allocated by default for potential<br />
user mode.<br />
3.7.4 Degrees of storage key protection and porting considerations<br />
A kernel extension might support storage protection keys to varying degrees, depending on<br />
its unique requirements. These degrees are explored in the next section.<br />
Key-unsafe kernel extension<br />
A key-unsafe kernel extension does not contain any explicit support for storage protection<br />
keys. Extensions in this class are older code written without regard to storage key protection,<br />
needing largely unrestricted access to all memory.<br />
It is the kernel's responsibility to ensure that legacy code continues to function as it did on<br />
prior <strong>AIX</strong> releases and on hardware without storage key support, even though such code<br />
might access kernel private data.<br />
84 <strong>IBM</strong> <strong>AIX</strong> <strong>Continuous</strong> <strong>Availability</strong> <strong>Features</strong><br />
0<br />
1<br />
2<br />
3<br />
4<br />
5<br />
6<br />
7<br />
64 bit KEY_SET<br />
KEY0<br />
KEY1<br />
KEY2<br />
.<br />
.<br />
.<br />
KEY30<br />
KEY31<br />
W R<br />
AMR<br />
PFT<br />
Page frames<br />
page #x<br />
page #x + 1<br />
page #x + 2<br />
Note: Kernel extensions really should never<br />
need keys for internal use (hkey 6)