qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] Re: [RESEND][PATCH] x86: Enhanced dump of segment regis


From: Jamie Lokier
Subject: Re: [Qemu-devel] Re: [RESEND][PATCH] x86: Enhanced dump of segment registers
Date: Wed, 11 Mar 2009 16:40:53 +0000
User-agent: Mutt/1.5.13 (2006-08-11)

Jan Kiszka wrote:
> Jamie Lokier wrote:
> > Jan Kiszka wrote:
> >> FS =0000 00000000 00000000 00000000
> > 
> >> LDT=0000 00000000 00000000 00008200 DPL=0 LDT
> > 
> > Both are =0000, but different descriptors - is that right?
> 
> Good question. My patch only parses to descriptor cache content without
> evaluating the selector. I guess that 0x00008200 is a leftover from a
> previous, valid LDT descriptor.
> 
> > 
> > Also I'm thinking the null descriptor doesn't need to show offset and
> > size:
> > 
> > FS =0000
> > 
> > is enough?
> 
> Yes, makes sense. IOW: stop parsing if selector == 0. Will post an update.

Hmm.

Does a real x86 look at the selector value ever (except when loading
it), or does it base all decisions on the descriptor cache?

It's an accuracy of emulation thing, as you can legitimately put the
CPU into states where the descriptor cache and selector values are
inconsistent, and it does have a well-defined behaviour.

If a real x86 always uses the descriptor cache, presumably there
shouldn't be a leftover value in it when LDT is loaded with 0, and
perhaps choosing to show a null descriptor should depend on the
descriptor cache entry rather than the selector value.

In real mode (and its siblings, unreal mode, big real mode etc.)
segment register == 0 usually still has a non-null descriptor.

-- Jamie




reply via email to

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