RE: [vMCE design RFC] Xen vMCE design

From: Luck, Tony
Date: Fri Jun 22 2012 - 11:29:42 EST


> 1). still use 1 bank and simply ignore this issue. I mean, even if guest
> runs at bank0 quirks platform, when hypervisor inject vMCE# to guest, guest
> skip bank0, then guest MCE logic would think it detect a spurious mce, then
> kill itself. Considering bank0 quirks is only for old cpus, this is
> acceptable;
> 2). use 32 banks
>
> In fact, a third option is, use 1 bank, but hypervisor kill guest when it
> detect bank0 quirks. This would be same effect as option 1, so I prefer let
> guest kill itself.

Don't you control what CPUID is shown to the guest? Under what circumstances
would you tell the guest that it is running on an AMD-K7 or an Intel family
6 with model < 0x1A? Surely for migration reasons you need to present the
same virtualized family/model all the time ... so just don't use ones that
cause problems.

If that isn't an option - then say there are 2 banks and have Xen ignore bank
0 (make MC0_STATUS always appear to contain 0) and put all the errors into
bank1. If you tell the guest there are 32 banks it will read all of them.
Which means a lot of pointless exits to the hypervisor.

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