summary refs log tree commit diff
path: root/kvm_sys
diff options
context:
space:
mode:
authorSuleiman Souhlal <suleiman@google.com>2020-04-21 14:11:47 +0900
committerCommit Bot <commit-bot@chromium.org>2020-05-08 03:25:38 +0000
commit7dc915dd2af19ed4dbafb6b1b6e86733af5a922d (patch)
treed1820536e6f433eaf155b259c9d831b9360df807 /kvm_sys
parenta1c0e3c680c44ae4a949744b27f3cf0f7ea77939 (diff)
downloadcrosvm-7dc915dd2af19ed4dbafb6b1b6e86733af5a922d.tar
crosvm-7dc915dd2af19ed4dbafb6b1b6e86733af5a922d.tar.gz
crosvm-7dc915dd2af19ed4dbafb6b1b6e86733af5a922d.tar.bz2
crosvm-7dc915dd2af19ed4dbafb6b1b6e86733af5a922d.tar.lz
crosvm-7dc915dd2af19ed4dbafb6b1b6e86733af5a922d.tar.xz
crosvm-7dc915dd2af19ed4dbafb6b1b6e86733af5a922d.tar.zst
crosvm-7dc915dd2af19ed4dbafb6b1b6e86733af5a922d.zip
aarch64: Enable PMU in the guest.
This allows us to use perf/simpleperf in the guest.

BUG=b:153708112
TEST=Use simpleperf in ARCVM guest on jacuzzi board.

Change-Id: Ia3d7dc5bcd3ca033ddf05b5ee2593102c98e8b49
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/2156592
Tested-by: kokoro <noreply+kokoro@google.com>
Tested-by: Suleiman Souhlal <suleiman@chromium.org>
Reviewed-by: Sonny Rao <sonnyrao@chromium.org>
Reviewed-by: Dylan Reid <dgreid@chromium.org>
Commit-Queue: Suleiman Souhlal <suleiman@chromium.org>
Diffstat (limited to 'kvm_sys')
-rw-r--r--kvm_sys/src/aarch64/bindings.rs5
-rw-r--r--kvm_sys/src/x86/bindings.rs1
2 files changed, 6 insertions, 0 deletions
diff --git a/kvm_sys/src/aarch64/bindings.rs b/kvm_sys/src/aarch64/bindings.rs
index 084fc13..0dd7f5a 100644
--- a/kvm_sys/src/aarch64/bindings.rs
+++ b/kvm_sys/src/aarch64/bindings.rs
@@ -157,6 +157,10 @@ pub const KVM_VGIC_V3_ADDR_TYPE_REDIST: ::std::os::raw::c_uint = 3;
 pub const KVM_ARM_VCPU_POWER_OFF: ::std::os::raw::c_uint = 0;
 pub const KVM_ARM_VCPU_EL1_32BIT: ::std::os::raw::c_uint = 1;
 pub const KVM_ARM_VCPU_PSCI_0_2: ::std::os::raw::c_uint = 2;
+pub const KVM_ARM_VCPU_PMU_V3: ::std::os::raw::c_uint = 3;
+pub const KVM_ARM_VCPU_PMU_V3_CTRL: ::std::os::raw::c_uint = 0;
+pub const KVM_ARM_VCPU_PMU_V3_IRQ: ::std::os::raw::c_uint = 0;
+pub const KVM_ARM_VCPU_PMU_V3_INIT: ::std::os::raw::c_uint = 1;
 pub const KVM_ARM_MAX_DBG_REGS: ::std::os::raw::c_uint = 16;
 pub const KVM_GUESTDBG_USE_SW_BP: ::std::os::raw::c_uint = 65536;
 pub const KVM_GUESTDBG_USE_HW: ::std::os::raw::c_uint = 131072;
@@ -439,6 +443,7 @@ pub const KVM_CAP_GUEST_DEBUG_HW_BPS: ::std::os::raw::c_uint = 119;
 pub const KVM_CAP_GUEST_DEBUG_HW_WPS: ::std::os::raw::c_uint = 120;
 pub const KVM_CAP_SPLIT_IRQCHIP: ::std::os::raw::c_uint = 121;
 pub const KVM_CAP_IOEVENTFD_ANY_LENGTH: ::std::os::raw::c_uint = 122;
+pub const KVM_CAP_ARM_PMU_V3: ::std::os::raw::c_uint = 126;
 pub const KVM_CAP_IMMEDIATE_EXIT: ::std::os::raw::c_uint = 136;
 pub const KVM_IRQ_ROUTING_IRQCHIP: ::std::os::raw::c_uint = 1;
 pub const KVM_IRQ_ROUTING_MSI: ::std::os::raw::c_uint = 2;
diff --git a/kvm_sys/src/x86/bindings.rs b/kvm_sys/src/x86/bindings.rs
index 7236611..629d83a 100644
--- a/kvm_sys/src/x86/bindings.rs
+++ b/kvm_sys/src/x86/bindings.rs
@@ -426,6 +426,7 @@ pub const KVM_CAP_GUEST_DEBUG_HW_WPS: ::std::os::raw::c_uint = 120;
 pub const KVM_CAP_SPLIT_IRQCHIP: ::std::os::raw::c_uint = 121;
 pub const KVM_CAP_IOEVENTFD_ANY_LENGTH: ::std::os::raw::c_uint = 122;
 pub const KVM_CAP_HYPERV_SYNIC: ::std::os::raw::c_uint = 123;
+pub const KVM_CAP_ARM_PMU_V3: ::std::os::raw::c_uint = 126;
 pub const KVM_CAP_IMMEDIATE_EXIT: ::std::os::raw::c_uint = 136;
 pub const KVM_CAP_HYPERV_SYNIC2: ::std::os::raw::c_uint = 148;
 pub const KVM_IRQ_ROUTING_IRQCHIP: ::std::os::raw::c_uint = 1;