What's the value of %cs before jump in pm32 on booting?
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 movw %cs, %bx shll $4, %ebx addl %ebx, 2f
...
-------------------
what's the value of %cs here? how was it loaded?
i would really appreciate if someone provide me some references thank you very much
2011-08-11
jiangtao.jit
Quoted 9 lines · jiangtao.jit
Hi all:
on booting of x86
top of filearch/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)
Quoted 1 line
? ? ? ?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..
Signature · 7 lines
regards, Mulyadi Santosa Freelance Linux trainer and consultant blog: the-hydra.blogspot.com training: mulyaditraining.blogspot.com
Quoted 11 lines · Mulyadi Santosa
Quoted 9 lines · jiangtao.jit
Hi all:
on booting of x86
top of filearch/x86/boot/pmjump.S
there is code
-------------------GLOBAL(protected_mode_jump)
? ? ? ?movl ? ?%edx, %esi
? ? ? ?xorl ? ?%ebx, %ebx
Quoted 1 line
i think it's zeroing bx (l--> low I suppose)
Long, actually, i.e. 32-bit.
Quoted 5 lines
Quoted 2 lines
? ? ? ?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