All of lore.kernel.org
 help / color / mirror / Atom feed
* What's the value of %cs before jump in pm32 on booting?
@ 2011-08-11 11:18 jiangtao.jit
  2011-08-11 14:53 ` Mulyadi Santosa
  0 siblings, 1 reply; 3+ messages in thread
From: jiangtao.jit @ 2011-08-11 11:18 UTC (permalink / raw)
  To: kernelnewbies

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 

^ permalink raw reply	[flat|nested] 3+ messages in thread

* What's the value of %cs before jump in pm32 on booting?
  2011-08-11 11:18 What's the value of %cs before jump in pm32 on booting? jiangtao.jit
@ 2011-08-11 14:53 ` Mulyadi Santosa
  2011-08-11 16:29   ` Jonathan Neuschäfer
  0 siblings, 1 reply; 3+ messages in thread
From: Mulyadi Santosa @ 2011-08-11 14:53 UTC (permalink / raw)
  To: kernelnewbies

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

^ permalink raw reply	[flat|nested] 3+ messages in thread

* What's the value of %cs before jump in pm32 on booting?
  2011-08-11 14:53 ` Mulyadi Santosa
@ 2011-08-11 16:29   ` Jonathan Neuschäfer
  0 siblings, 0 replies; 3+ messages in thread
From: Jonathan Neuschäfer @ 2011-08-11 16:29 UTC (permalink / raw)
  To: kernelnewbies

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

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2011-08-11 16:29 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-08-11 11:18 What's the value of %cs before jump in pm32 on booting? jiangtao.jit
2011-08-11 14:53 ` Mulyadi Santosa
2011-08-11 16:29   ` Jonathan Neuschäfer

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.