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
On Thu, Aug 11, 2011 at 18:18, jiangtao.jit <jiangtao.jit@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)
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.. -- regards, Mulyadi Santosa Freelance Linux trainer and consultant blog: the-hydra.blogspot.com training: mulyaditraining.blogspot.com
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@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
participants (3)
-
jiangtao.jit -
Jonathan Neuschäfer -
Mulyadi Santosa