Starting with the i386 processor, Intel processors have opened control registers so that the kernel can configure the processor and indicate the characteristics of the currently running task / process / thread. According to Intel Systems Programming Guide (Section 2-13), the control register CR1is Reserved. That is, the kernel control register control CR1leads to undefined behavior. As the articles indicate, there are also management registers CR2, CR3, CR4and CR8, although they are not reserved.
Why is it CR1reserved? It is strange that Intel introduced a reserved control register, and then instead adds non-reserved control registers, and does not just add functionality to CR1, as it does so that it will not cause any backward interruptions in compatibility (which generally saves it). http://www.pagetable.com/?p=364 suggests that it CR1is stored in reserve for a second register available for architectural configuration, but, as the article says, CR4i486 was used instead.
source
share