Re: [GIT PULL 7/9] KVM: s390: Backup the guest's machine check info

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

 



On 06/28/2017 08:20 PM, David Hildenbrand wrote:
> On 28.06.2017 19:30, Christian Borntraeger wrote:
>> From: QingFeng Hao <haoqf@xxxxxxxxxxxxxxxxxx>
>>
>> When a machine check happens in the guest, related mcck info (mcic,
>> external damage code, ...) is stored in the vcpu's lowcore on the host.
>> Then the machine check handler's low-level part is executed, followed
>> by the high-level part.
>>
>> If the high-level part's execution is interrupted by a new machine check
>> happening on the same vcpu on the host, the mcck info in the lowcore is
>> overwritten with the new machine check's data.
>>
>> If the high-level part's execution is scheduled to a different cpu,
>> the mcck info in the lowcore is uncertain.
>>
>> Therefore, for both cases, the further reinjection to the guest will use
>> the wrong data.
>> Let's backup the mcck info in the lowcore to the sie page
>> for further reinjection, so that the right data will be used.
>>
>> Add new member into struct sie_page to store related machine check's
>> info of mcic, failing storage address and external damage code.
>>
> 
> 
> When this happens while the guest is running, there will be some
> registers written into the low core save area (gprs, cr etc.) during the
> machine check. Are these always host registers? Or can these be guest
> registers?

Always host registers (the machine will exit SIE before presenting the machine
check).
> 
> Also, do the "valid" flags always refer to guest or host bits?

The host bits.
> 
> If they can be guest bits, I think we would have to do more translation.
> And most likely treat vSIE special.
> 
> Or will something like that always lead to a host crash and real machine
> errors will still take the host down, and not the guest?
> 
> 




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux