What's the value of %cs before jump in pm32 on booting?
    Jonathan Neuschäfer 
    j.neuschaefer at gmx.net
       
    Thu Aug 11 12:29:25 EDT 2011
    
    
  
On Thu, Aug 11, 2011 at 09:53:10PM +0700, Mulyadi Santosa wrote:
> On Thu, Aug 11, 2011 at 18:18, jiangtao.jit <jiangtao.jit at gmail.com> wrote:
> > Hi all:
> >
> > on booting of x86
> > top of file arch/x86/boot/pmjump.S
> > there is code
> > -------------------
> > GLOBAL(protected_mode_jump)
> >        movl    %edx, %esi
> >        xorl    %ebx, %ebx
> 
> i think it's zeroing bx (l--> low I suppose)
Long, actually, i.e. 32-bit.
> 
> >        movw    %cs, %bx
> 
> then, it should zero the content of cs. Quite likely, it means to jump
> to cpu ring level 0 and do something there..
No, this is written in AT&T syntax, where the source comes first, and
then the destination. IOW, the code means: Copy the 16 bit register CS
into the lower 16 bit of EBX (which is BX).
CMIIW,
	Jonathan Neuschäfer
    
    
More information about the Kernelnewbies
mailing list