mirror of https://gitee.com/openkylin/qemu.git
s390: make kvm_stat work on s390
Add s390_exit_reasons so kvm_stat doesn't crash when called on s390. Look for 'vendor_id' in /proc/cpuinfo as well, instead of just for 'flags', so we can determine if we run on S390. Signed-off-by: Jens Freimann <jfrei@linux.vnet.ibm.com> Signed-off-by: Alexander Graf <agraf@suse.de>
This commit is contained in:
parent
2a60dba43c
commit
c5854acb75
|
@ -141,15 +141,39 @@ svm_exit_reasons = {
|
|||
0x400: 'NPF',
|
||||
}
|
||||
|
||||
s390_exit_reasons = {
|
||||
0x000: 'UNKNOWN',
|
||||
0x001: 'EXCEPTION',
|
||||
0x002: 'IO',
|
||||
0x003: 'HYPERCALL',
|
||||
0x004: 'DEBUG',
|
||||
0x005: 'HLT',
|
||||
0x006: 'MMIO',
|
||||
0x007: 'IRQ_WINDOW_OPEN',
|
||||
0x008: 'SHUTDOWN',
|
||||
0x009: 'FAIL_ENTRY',
|
||||
0x010: 'INTR',
|
||||
0x011: 'SET_TPR',
|
||||
0x012: 'TPR_ACCESS',
|
||||
0x013: 'S390_SIEIC',
|
||||
0x014: 'S390_RESET',
|
||||
0x015: 'DCR',
|
||||
0x016: 'NMI',
|
||||
0x017: 'INTERNAL_ERROR',
|
||||
0x018: 'OSI',
|
||||
0x019: 'PAPR_HCALL',
|
||||
}
|
||||
|
||||
vendor_exit_reasons = {
|
||||
'vmx': vmx_exit_reasons,
|
||||
'svm': svm_exit_reasons,
|
||||
'IBM/S390': s390_exit_reasons,
|
||||
}
|
||||
|
||||
exit_reasons = None
|
||||
|
||||
for line in file('/proc/cpuinfo').readlines():
|
||||
if line.startswith('flags'):
|
||||
if line.startswith('flags') or line.startswith('vendor_id'):
|
||||
for flag in line.split():
|
||||
if flag in vendor_exit_reasons:
|
||||
exit_reasons = vendor_exit_reasons[flag]
|
||||
|
|
Loading…
Reference in New Issue