up: Chapter 10 -- Initialization
prev: 10.2 Software Initialization for Real-Address Mode
next: 10.4 Software Initialization for Protected Mode


10.3 Switching to Protected Mode

Setting the PE bit of the MSW in CR0 causes the 80386 to begin executing in protected mode. The current privilege level (CPL) starts at zero. The segment registers continue to point to the same linear addresses as in real address mode (in real address mode, linear addresses are the same physical addresses).

Immediately after setting the PE flag, the initialization code must flush the processor's instruction prefetch queue by executing a JMP instruction. The 80386 fetches and decodes instructions and addresses before they are used; however, after a change into protected mode, the prefetched instruction information (which pertains to real-address mode) is no longer valid. A JMP forces the processor to discard the invalid information.


up: Chapter 10 -- Initialization
prev: 10.2 Software Initialization for Real-Address Mode
next: 10.4 Software Initialization for Protected Mode