grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] access gdtdesc on segment 0 unconditionally (Re: [PATCH] i38


From: Pavel Roskin
Subject: Re: [PATCH] access gdtdesc on segment 0 unconditionally (Re: [PATCH] i386-qemu port)
Date: Mon, 22 Jun 2009 17:44:43 -0400

On Mon, 2009-06-22 at 23:32 +0200, Robert Millan wrote:
> On Mon, Jun 22, 2009 at 10:52:13PM +0200, Robert Millan wrote:
> > I don't think it's possible to use relative addresses
> > with this particular instruction.
> 
> Uhm sorry, this was silly.  Of course you can use addresses relative to a
> segment in lgdt, but this doesn't change the fact that GAS always gives
> you absolute ones.
> 
> Also, I'm not sure if it's possible to use a 16-bit field in this instruction,
> it could be that the field is always 32-bit, even if it's relative to a
> segment.  This dump is from the i386-pc kernel.img:
> 
>     836f:       2e 67 66 0f 01 15 68    addr32 lgdtl %cs:0x8368
>     8376:       83 00 00 
> 
> a little-endian 0x00008368 is seen here, indicating the field is 32-bit.

But if I omit ADDR32, I get:

0000016e <real_to_prot>:
 16e:   fa                      cli    
 16f:   2e 66 0f 01 16 68 01    lgdtl  %cs:0x168
 176:   0f 20 c0                mov    %cr0,%eax

The address is 16-bit.

-- 
Regards,
Pavel Roskin




reply via email to

[Prev in Thread] Current Thread [Next in Thread]