Re: Get the performance monitoring interrupt on Qemu-Kvm
Posted: Sat Mar 24, 2018 9:07 pm
Hi,
Mostly EAX[bits 31:24] says that the lowest 7 bits of EBX matter, and the lowest 7 bits of EBX are all 0 so all of those 7 events are "supported".
I'd also be tempted to check if CPUID misreported the information - Intel's manual (in "18.2.2 Architectural Performance Monitoring Version 2") says:
Cheers,
Brendan
That's not right (for EBX, the event is not available if the bit is 1, and the even is available if the bit is 0).parfait wrote:So, I suspect that the MSR 0x38f does not exist or is not supported as Brendan said (weird, isn't it?).
This is the result of CPUID.x0A (in the kernel on qemu-system-x86_64 -cpu host --enable-kvm)
EAX 7300402
EBX 0
ECX 0
EDX 603
According to Intel doc, this means that the
EAX[bits 7:0] = 2 => Architectural Performance Monitoring Version is 2
But EBX = 0 => so none of architectural event is supported
Mostly EAX[bits 31:24] says that the lowest 7 bits of EBX matter, and the lowest 7 bits of EBX are all 0 so all of those 7 events are "supported".
That seems weird to me too (given that the RDMSR and WRMSR instructions only support 64 bits anyway).parfait wrote:However EDX[bits 12:5] = 0x60 (96) seems very weird to me (not to high?).
Those values make me very confuse, any explanation is welcome
I'd also be tempted to check if CPUID misreported the information - Intel's manual (in "18.2.2 Architectural Performance Monitoring Version 2") says:
I was too lazy to find/check the errata list to determine what these CPUs actually report (and I don't know if KVM correctly emulates CPU flaws).Intel wrote:NOTE: Early generation of processors based on Intel Core microarchitecture may report in CPUID.0AH:EDX of support for version 2 but indicating incorrect information of version 2 facilities.
Cheers,
Brendan