| 
 In Setup.S,  
 lmsw ax  (ax=1 ), so we cut into protected 
mode.. 
Now comes my question ==> 
(1). Just after running LMSW, I guess the CPU accessses memory 
as 8086 (where CS*16+IP.) 
      Only After we reload 
cs by far jmp, then CPU ACTUALLY accesses memoey via GDT. 
      And then CPU really work on 
32-bit Code .. 
      Is my guess right 
? 
(2). Friends on net tell me zImage is put on 0x10000 (ie. 
64k  absoloute address),  
      But the source reload the CS 
by  => 
             
     db      
0x66,0xea       ! prefix + jmpi-opcode 
code32: dd 0x1000 <--------------------- This line is strange. it should be 0x10000 not 0x1000, it should means offset not a segment ???         
                
                
                
                
        Is anything wrong with my idea 
??  
dw KERNEL_CS      ( mixed 16-32 
bits, by so it can jump to bzImage, too .. I guess) 
------------------------------------------------------------------------------------- 
            
KERNEL_CS  is a index to GDT , which means BASE address is 
0x0000 
 |