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

Re: [Xen-devel] Guest-vs-Host MTRR/PAT conflict and a crash?

  • To: David Stone <unclestoner@xxxxxxxxx>, Xen Developers <xen-devel@xxxxxxxxxxxxxxxxxxx>
  • From: Keir Fraser <Keir.Fraser@xxxxxxxxxxxx>
  • Date: Wed, 12 Dec 2007 23:02:48 +0000
  • Delivery-date: Wed, 12 Dec 2007 14:56:33 -0800
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>
  • Thread-index: Acg9Exz7W8mfs6kGEdyM1gAWy6hiGQ==
  • Thread-topic: [Xen-devel] Guest-vs-Host MTRR/PAT conflict and a crash?

On 12/12/07 22:13, "David Stone" <unclestoner@xxxxxxxxx> wrote:

> root@localhost xen]# (XEN) mtrr.c:552:d1 Conflict occurs for a given
> guest l1e flags:63 at 10000000 (the effective mm type:6), because the
> host mtrr type is:0
> (XEN) CPU 1: Machine Check Exception: 0000000000000005
> (XEN) Bank 0: b200004000000800
> (XEN) Bank 5: b200121020080400
> (XEN)
> (XEN) ****************************************
> (XEN) Panic on CPU 1:
> (XEN) CPU context corrupt****************************************
> (XEN)
> (XEN) Reboot in five seconds..

That looks like the CPU toasted itself. Bits 0-16 == 0x0400 in a
machine-check status register means 'CPU internal timer error'. Perhaps this
#MC means something else in the context of VT-d though? We probably need
someone from Intel to help decode what happened here.

> I guess my question is can someone give a higher-level explaination of
> how MTRR/PAT is supposed to work between Xen (the real MTRRs and real
> PATs in the real ("shadow") PTEs) and an HVM DomU (virtual MTRRs and
> fake PATs in the fake PTEs)?

You pretty much described it yourself. It tries to pick a shadow-pte PAT
value which, coupled with the physical MTRR value for that physical address,
will give the same cache attribute as the guest virtual PAT/MTRR
combination. If it can't find a match (not entirely unlikely I suspect) then
we print a warning and fall back to UC. This code is quite 'fresh' and
definitely open for changes based on real-world testing.

 -- Keir

Xen-devel mailing list



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