On Monday 16 November 2015 02:31 PM, Thomas Huth wrote: > On 16/11/15 04:50, Paul Mackerras wrote: >> On Thu, Nov 12, 2015 at 09:09:59AM +0100, Thomas Huth wrote: >>> >>> Shouldn't you also check MSR_ME here first and enter checkstop when >>> machine checks are disabled? >> >> MSR_ME is a hypervisor resource and is not able to be controlled by HV >> KVM guests, or in fact by the OS running on the pseries machine target >> regardless of how it's accelerated or emulated. >> >> What you say would only apply if we had a powernv machine target and >> we were emulating the whole system, and in that case we wouldn't be >> using any hcalls, and we wouldn't be doing FWNMI (or at least not at >> this level). >> >> So the answer is no, MSR_ME will always be set when running in a >> guest, and we don't ever need to checkstop the virtual machine. > > Good point, I missed that sentence about the hypervisor resource in the > PowerISA. So QEMU does not have to check this bit here. > > But out of curiosity: What happens if a guest disables the ME bit? Is > this checked somewhere or simply ignored?
If a guest disables the ME bit (and may be does not set it again) and should a machine check happen in guest address space then the entire system checkstops? However, I am not sure if the guest is allowed to disable ME bit. Regards, Aravinda > > Thomas > -- Regards, Aravinda