Re: [PATCH -v3] KVM: MCE: Add MCE support to KVM

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

 



Jan Kiszka wrote:
> Avi Kivity wrote:
>> Jan Kiszka wrote:
>>> Avi Kivity wrote:
>>>  
>>>> Huang Ying wrote:
>>>>    
>>>>> The related MSRs are emulated. MCE capability is exported via
>>>>> extension KVM_CAP_MCE and ioctl KVM_X86_GET_MCE_CAP_SUPPORTED.  A new
>>>>> vcpu ioctl command KVM_X86_SETUP_MCE is used to setup MCE emulation
>>>>> such as the mcg_cap. MCE is injected via vcpu ioctl command
>>>>> KVM_X86_SET_MCE. Extended machine-check state (MCG_EXT_P) and CMCI are
>>>>> not implemented.
>>>>>
>>>>>         
>>>> Applied, thanks.
>>>>
>>>>     
>>> This patch breaks kvm build for 32-bit hosts.
>>>   
>> Strange, I build-test on i386.  What's your failure?
> 
> This is against some 2.6.28 kernel:
> 
>   CC [M]  /data/kvm-kmod/x86/x86.o
> /data/kvm-kmod/x86/x86.c: In function ‘set_msr_mce’:
> /data/kvm-kmod/x86/x86.c:794: error: ‘MCG_CTL_P’ undeclared (first use in this function)
> /data/kvm-kmod/x86/x86.c:794: error: (Each undeclared identifier is reported only once
> /data/kvm-kmod/x86/x86.c:794: error: for each function it appears in.)
> /data/kvm-kmod/x86/x86.c: In function ‘get_msr_mce’:
> /data/kvm-kmod/x86/x86.c:950: error: ‘MCG_CTL_P’ undeclared (first use in this function)
> /data/kvm-kmod/x86/x86.c: In function ‘kvm_arch_dev_ioctl’:
> /data/kvm-kmod/x86/x86.c:1216: error: ‘MCG_CTL_P’ undeclared (first use in this function)
> /data/kvm-kmod/x86/x86.c: In function ‘kvm_vcpu_ioctl_x86_setup_mce’:
> /data/kvm-kmod/x86/x86.c:1592: error: ‘MCG_CTL_P’ undeclared (first use in this function)
> /data/kvm-kmod/x86/x86.c: In function ‘kvm_vcpu_ioctl_x86_set_mce’:
> /data/kvm-kmod/x86/x86.c:1613: error: ‘MCI_STATUS_VAL’ undeclared (first use in this function)
> /data/kvm-kmod/x86/x86.c:1619: error: ‘MCI_STATUS_UC’ undeclared (first use in this function)
> /data/kvm-kmod/x86/x86.c:1619: error: ‘MCG_CTL_P’ undeclared (first use in this function)
> /data/kvm-kmod/x86/x86.c:1630: error: ‘MCG_STATUS_MCIP’ undeclared (first use in this function)
> /data/kvm-kmod/x86/x86.c:1639: error: ‘MCI_STATUS_OVER’ undeclared (first use in this function)
> 
>>> Is the KVM MCE interface completely or only partially limited to x86-64,
>>> ie. can I completely #ifdef it away on 32-bit hosts (including
>>> KVM_CAP_MCE) or is this more complicated?
>>>   
>> I don't see any reason to limit it to x86_64?
>>
> 
> Well, if I look at the definition of MCI_STATUS_VAL as (1UL<<63),
> something tells me: "Hey, only use me on 64-bit hosts!" But I have no
> clue about details of this stuff, and from a second glance at it is
> seems to include at least some parts that are valid on 32-bit as well.

Ah, interesting: /someone/ removed the #ifdef __x86_64__ from
arch/x86/include/asm/mce.h, but that's not mainline yet...

Jan

-- 
Siemens AG, Corporate Technology, CT SE 2
Corporate Competence Center Embedded Linux
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[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