[Top][All Lists]

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

[Qemu-discuss] Getting The Performance monitoring interrupt fired

From: Parfait Tokponnon
Subject: [Qemu-discuss] Getting The Performance monitoring interrupt fired
Date: Mon, 6 Feb 2017 22:57:08 +0100


I wrote some module in my hobby OS kernel to issue the performance monitoring interrupt (PMI) on instructions counter overflow. It works well on my machine (Intel core i5). But when I run it on qemu using

qemu-system-x86_64 -enable-kvm -cpu host -m 256 -serial mon:stdio -cdrom var/run/hypervisor.iso

the interrupt does never fire. However, Instruction counting works well in qemu.

Is there anything I am missing?

Does it require any special configuration to get the PMI fired on qemu?

This is how I configure msr registers to activate PMI

Msr::write(Msr::MSR_PERF_GLOBAL_CTRL, 0x700000003);
Msr::write(Msr::MSR_PERF_FIXED_CTRL, 0xa);
Msr::write(Msr::IA32_PERFEVTSEL0, 0x004100c5);

Program the PMI for 0x1000 instructions

Msr::write(Msr::IA32_PERF_GLOBAL_OVF_CTRL, 1ull << 32);
Msr::write(Msr::MSR_PERF_FIXED_CTR0, 0xFFFFEFFF | 0xFFFF00000000);
Parfait T.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]