|
|
|
|
|
|
|
|
|
|
xen-devel
Re: [Xen-devel] segmentation and Xen
On 14 Oct 2005, at 18:00, Jonathan M. McCune wrote:
We noticed a difference in the kernel and user space code and data
segment descriptor entries in the GDTs for Xen and XenoLinux. It does
not appear that the Xen GDT totally supplants the Linux GDT, as the
Linux GDT has its limit changed (in the descriptor, but not the
comments) appropriately to make room for Xen in the upper 64 MB. The
difference is in the "Accessed" bit of the "Type" field, as defined in
Chapter 4, Volume 3, of the Intel manuals. Can you help us to
understand why the Access bit is set in the Linux kernel code but not
in the Xen code?
Noone uses the accessed bit for anything, so it doesn't matter how it
is set. I guess if you set it in the table definition then the CPU
doesn't need to set the accessed bit the first time the segment is
loaded, but that really doesn't matter either way...
More generally, how do the GDTs defined in head.S and x86_32.S
interact? It seems problematic that Xen defines a GDT for guest OSes,
but guest OSes are allowed to retain a GDT of their own.
Note that the Xen GDT (defined in x86_32.S) is not based at offset
zero! Xen reserves the final eighth of the GDT space. The first
seven-eighths are available for guests to define.
-- Keir
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
|
|
|
|