x86, mce: ignore SRAO only when MCG_SER_P is available
PATCH 1/1 x86, mce: ignore SRAO only when MCG_SER_P is available
And restruct this block to call kvm_mce_in_exception() only when it is required.
Signed-off-by Hidetoshi Seto <[email protected]>
--- target-i386/kvm.c | 16 ++++++++++------ 1 files changed, 10 insertions(+), 6 deletions(-)
target-i386/kvm.c +10 -6
@@ -239,12 +239,16 @@ static void kvm_do_inject_x86_mce(void *_data)struct kvm_x86_mce_data *data = _data;int r; -/* If there is an MCE excpetion being processed, ignore this SRAO MCE */ - r =kvm_mce_in_exception (data->env); -if (r ==-1 ) -fprintf (stderr,"Failed to get MCE status\n" ); -else if (r && !(data->mce->status &MCI_STATUS_AR )) -return ; +/* If there is an MCE exception being processed, ignore this SRAO MCE */ +if ((data->env->mcg_cap &MCG_SER_P ) && + !(data->mce->status &MCI_STATUS_AR )) { + r =kvm_mce_in_exception (data->env); +if (r ==-1 ) { +fprintf (stderr,"Failed to get MCE status\n" ); + }else if (r) { +return ; + } + } r =kvm_set_mce (data->env, data->mce);if (r <0 ) {
Signature · 1 line
1.6.5.2