Re: [ANNOUNCE] desc.c -- dump the i386 descriptor tables

From: Chuck Ebbert (76306.1226@compuserve.com)
Date: Thu Apr 24 2003 - 08:59:58 EST


Gabriel Paubert wrote:

> > #31: base=c0355600 limit=00eb flags=0089 <G=0 P=1 S=0 DPL=0 Available TSS>
>
> Nice but the limit field is 20 bits (shifted left by 12 bits if G=1).

  Huh. The diagram I used was blank where the upper four limit bits belong
so I assumed it was unused... and for some reason I was thinking you
shifted
left by 16 bits when G=1, so I never noticed the missing four bits. Thanks.

> Other suggestions left as an exercise to the reader:
>
> a) distinguish 16 bit code from 32 bit code (GDT entry #19 is 16 bit code),

 BIOS?

> b) distinguish read/write from read-only and execute/read from
> execute-only (are there any read-only or execute-only segments in the GDT?)
>
> c) distinguish 16 and 32 bit expand down data (changes the upper
> limit of the valid addresses, but it's never used in the GDT, so like
> the conformant code it's not that important)

  I now have it dumping LDTs, and should probably do at least cs:eip and
eflags
for each task.
 

> d) extend this for x86-64 :-)

  Itanium. 8)

------
 Chuck
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Wed Apr 30 2003 - 22:00:14 EST