When PCIDs are not enabled the low 12 bits of CR3 are not all ignored as bits 3 and 4 control memory typing of the translation. To prevent setting these to 'random' values we should leave the low bits of CR3 0 when not using PCIDs. A new makeCR3 wrapper is defined that is used instead of cr3_new that, based on CONFIG_SUPPORT_PCID, either fills in the PCID or 0 as required. |
||
|---|---|---|
| .. | ||
| arm | ||
| x86/arch | ||