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

Re: [Xen-devel] PAE issue (32-on-64 work)

  • To: Jan Beulich <jbeulich@xxxxxxxxxx>, <xen-devel@xxxxxxxxxxxxxxxxxxx>
  • From: Keir Fraser <Keir.Fraser@xxxxxxxxxxxx>
  • Date: Thu, 19 Oct 2006 13:56:51 +0100
  • Delivery-date: Thu, 19 Oct 2006 05:57:36 -0700
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>
  • Thread-index: AcbzfgtwSd8TLF9xEdulKgAX8io7RQ==
  • Thread-topic: [Xen-devel] PAE issue (32-on-64 work)

On 19/10/06 11:39, "Jan Beulich" <jbeulich@xxxxxxxxxx> wrote:

> Just now I found that there is a resulting issue for the 32on64 work I'm
> doing: Since none of the entries 4...511 of the PMD get initialized in Linux,
> and since Xen nevertheless has to validate all 512 entries (in order to
> avoid making available translations that could be used during speculative
> execution), the validation has the potential to fail (and does in reality),
> resulting in the guest dying. The only option I presently see is to special
> case the compatibility guest in the l3 handling and (I really hate to do
> that) clear out the 518 supposedly unused entries (or at least clear
> their present bits), meaning that no guest may ever make clever
> assumptions and try to store some other data in the unused portion of
> the pgd page.

Either copy the PGDs out into a shadow L3, as we do for PAE Xen today. Or,
as you say, zap the 508 unused entries. No guest uses them -- I'm pretty
sure Linux is the only PAE-capable guest (others are non-pae or 64-bit).
Storing other stuff in the page would be inconvenient anyway since it has to
be read-only.

 -- Keir

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.