KVM
Classes | Macros | Functions
arm_pmu.h File Reference
#include <linux/perf_event.h>
#include <linux/perf/arm_pmuv3.h>
Include dependency graph for arm_pmu.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  kvm_pmu
 

Macros

#define ARMV8_PMU_CYCLE_IDX   (ARMV8_PMU_MAX_COUNTERS - 1)
 
#define kvm_arm_pmu_irq_initialized(v)   (false)
 
#define kvm_vcpu_has_pmu(vcpu)   ({ false; })
 
#define kvm_pmu_is_3p5(vcpu)   ({ false; })
 

Functions

static bool kvm_arm_support_pmu_v3 (void)
 
static u64 kvm_pmu_get_counter_value (struct kvm_vcpu *vcpu, u64 select_idx)
 
static void kvm_pmu_set_counter_value (struct kvm_vcpu *vcpu, u64 select_idx, u64 val)
 
static u64 kvm_pmu_valid_counter_mask (struct kvm_vcpu *vcpu)
 
static void kvm_pmu_vcpu_init (struct kvm_vcpu *vcpu)
 
static void kvm_pmu_vcpu_reset (struct kvm_vcpu *vcpu)
 
static void kvm_pmu_vcpu_destroy (struct kvm_vcpu *vcpu)
 
static void kvm_pmu_disable_counter_mask (struct kvm_vcpu *vcpu, u64 val)
 
static void kvm_pmu_enable_counter_mask (struct kvm_vcpu *vcpu, u64 val)
 
static void kvm_pmu_flush_hwstate (struct kvm_vcpu *vcpu)
 
static void kvm_pmu_sync_hwstate (struct kvm_vcpu *vcpu)
 
static bool kvm_pmu_should_notify_user (struct kvm_vcpu *vcpu)
 
static void kvm_pmu_update_run (struct kvm_vcpu *vcpu)
 
static void kvm_pmu_software_increment (struct kvm_vcpu *vcpu, u64 val)
 
static void kvm_pmu_handle_pmcr (struct kvm_vcpu *vcpu, u64 val)
 
static void kvm_pmu_set_counter_event_type (struct kvm_vcpu *vcpu, u64 data, u64 select_idx)
 
static int kvm_arm_pmu_v3_set_attr (struct kvm_vcpu *vcpu, struct kvm_device_attr *attr)
 
static int kvm_arm_pmu_v3_get_attr (struct kvm_vcpu *vcpu, struct kvm_device_attr *attr)
 
static int kvm_arm_pmu_v3_has_attr (struct kvm_vcpu *vcpu, struct kvm_device_attr *attr)
 
static int kvm_arm_pmu_v3_enable (struct kvm_vcpu *vcpu)
 
static u64 kvm_pmu_get_pmceid (struct kvm_vcpu *vcpu, bool pmceid1)
 
static void kvm_pmu_update_vcpu_events (struct kvm_vcpu *vcpu)
 
static void kvm_vcpu_pmu_restore_guest (struct kvm_vcpu *vcpu)
 
static void kvm_vcpu_pmu_restore_host (struct kvm_vcpu *vcpu)
 
static void kvm_vcpu_reload_pmu (struct kvm_vcpu *vcpu)
 
static u8 kvm_arm_pmu_get_pmuver_limit (void)
 
static u64 kvm_pmu_evtyper_mask (struct kvm *kvm)
 
static void kvm_vcpu_pmu_resync_el0 (void)
 
static int kvm_arm_set_default_pmu (struct kvm *kvm)
 
static u8 kvm_arm_pmu_get_max_counters (struct kvm *kvm)
 
static u64 kvm_vcpu_read_pmcr (struct kvm_vcpu *vcpu)
 

Macro Definition Documentation

◆ ARMV8_PMU_CYCLE_IDX

#define ARMV8_PMU_CYCLE_IDX   (ARMV8_PMU_MAX_COUNTERS - 1)

Definition at line 13 of file arm_pmu.h.

◆ kvm_arm_pmu_irq_initialized

#define kvm_arm_pmu_irq_initialized (   v)    (false)

Definition at line 118 of file arm_pmu.h.

◆ kvm_pmu_is_3p5

#define kvm_pmu_is_3p5 (   vcpu)    ({ false; })

Definition at line 171 of file arm_pmu.h.

◆ kvm_vcpu_has_pmu

#define kvm_vcpu_has_pmu (   vcpu)    ({ false; })

Definition at line 170 of file arm_pmu.h.

Function Documentation

◆ kvm_arm_pmu_get_max_counters()

static u8 kvm_arm_pmu_get_max_counters ( struct kvm *  kvm)
inlinestatic

Definition at line 191 of file arm_pmu.h.

192 {
193  return 0;
194 }

◆ kvm_arm_pmu_get_pmuver_limit()

static u8 kvm_arm_pmu_get_pmuver_limit ( void  )
inlinestatic

Definition at line 176 of file arm_pmu.h.

177 {
178  return 0;
179 }

◆ kvm_arm_pmu_v3_enable()

static int kvm_arm_pmu_v3_enable ( struct kvm_vcpu *  vcpu)
inlinestatic

Definition at line 161 of file arm_pmu.h.

162 {
163  return 0;
164 }

◆ kvm_arm_pmu_v3_get_attr()

static int kvm_arm_pmu_v3_get_attr ( struct kvm_vcpu *  vcpu,
struct kvm_device_attr *  attr 
)
inlinestatic

Definition at line 151 of file arm_pmu.h.

153 {
154  return -ENXIO;
155 }

◆ kvm_arm_pmu_v3_has_attr()

static int kvm_arm_pmu_v3_has_attr ( struct kvm_vcpu *  vcpu,
struct kvm_device_attr *  attr 
)
inlinestatic

Definition at line 156 of file arm_pmu.h.

158 {
159  return -ENXIO;
160 }

◆ kvm_arm_pmu_v3_set_attr()

static int kvm_arm_pmu_v3_set_attr ( struct kvm_vcpu *  vcpu,
struct kvm_device_attr *  attr 
)
inlinestatic

Definition at line 146 of file arm_pmu.h.

148 {
149  return -ENXIO;
150 }

◆ kvm_arm_set_default_pmu()

static int kvm_arm_set_default_pmu ( struct kvm *  kvm)
inlinestatic

Definition at line 186 of file arm_pmu.h.

187 {
188  return -ENODEV;
189 }

◆ kvm_arm_support_pmu_v3()

static bool kvm_arm_support_pmu_v3 ( void  )
inlinestatic

Definition at line 113 of file arm_pmu.h.

114 {
115  return false;
116 }
Here is the caller graph for this function:

◆ kvm_pmu_disable_counter_mask()

static void kvm_pmu_disable_counter_mask ( struct kvm_vcpu *  vcpu,
u64  val 
)
inlinestatic

Definition at line 133 of file arm_pmu.h.

133 {}

◆ kvm_pmu_enable_counter_mask()

static void kvm_pmu_enable_counter_mask ( struct kvm_vcpu *  vcpu,
u64  val 
)
inlinestatic

Definition at line 134 of file arm_pmu.h.

134 {}

◆ kvm_pmu_evtyper_mask()

static u64 kvm_pmu_evtyper_mask ( struct kvm *  kvm)
inlinestatic

Definition at line 180 of file arm_pmu.h.

181 {
182  return 0;
183 }

◆ kvm_pmu_flush_hwstate()

static void kvm_pmu_flush_hwstate ( struct kvm_vcpu *  vcpu)
inlinestatic

Definition at line 135 of file arm_pmu.h.

135 {}

◆ kvm_pmu_get_counter_value()

static u64 kvm_pmu_get_counter_value ( struct kvm_vcpu *  vcpu,
u64  select_idx 
)
inlinestatic

Definition at line 119 of file arm_pmu.h.

121 {
122  return 0;
123 }

◆ kvm_pmu_get_pmceid()

static u64 kvm_pmu_get_pmceid ( struct kvm_vcpu *  vcpu,
bool  pmceid1 
)
inlinestatic

Definition at line 165 of file arm_pmu.h.

166 {
167  return 0;
168 }

◆ kvm_pmu_handle_pmcr()

static void kvm_pmu_handle_pmcr ( struct kvm_vcpu *  vcpu,
u64  val 
)
inlinestatic

Definition at line 143 of file arm_pmu.h.

143 {}

◆ kvm_pmu_set_counter_event_type()

static void kvm_pmu_set_counter_event_type ( struct kvm_vcpu *  vcpu,
u64  data,
u64  select_idx 
)
inlinestatic

Definition at line 144 of file arm_pmu.h.

145  {}

◆ kvm_pmu_set_counter_value()

static void kvm_pmu_set_counter_value ( struct kvm_vcpu *  vcpu,
u64  select_idx,
u64  val 
)
inlinestatic

Definition at line 124 of file arm_pmu.h.

125  {}

◆ kvm_pmu_should_notify_user()

static bool kvm_pmu_should_notify_user ( struct kvm_vcpu *  vcpu)
inlinestatic

Definition at line 137 of file arm_pmu.h.

138 {
139  return false;
140 }

◆ kvm_pmu_software_increment()

static void kvm_pmu_software_increment ( struct kvm_vcpu *  vcpu,
u64  val 
)
inlinestatic

Definition at line 142 of file arm_pmu.h.

142 {}

◆ kvm_pmu_sync_hwstate()

static void kvm_pmu_sync_hwstate ( struct kvm_vcpu *  vcpu)
inlinestatic

Definition at line 136 of file arm_pmu.h.

136 {}

◆ kvm_pmu_update_run()

static void kvm_pmu_update_run ( struct kvm_vcpu *  vcpu)
inlinestatic

Definition at line 141 of file arm_pmu.h.

141 {}

◆ kvm_pmu_update_vcpu_events()

static void kvm_pmu_update_vcpu_events ( struct kvm_vcpu *  vcpu)
inlinestatic

Definition at line 172 of file arm_pmu.h.

172 {}
Here is the caller graph for this function:

◆ kvm_pmu_valid_counter_mask()

static u64 kvm_pmu_valid_counter_mask ( struct kvm_vcpu *  vcpu)
inlinestatic

Definition at line 126 of file arm_pmu.h.

127 {
128  return 0;
129 }

◆ kvm_pmu_vcpu_destroy()

static void kvm_pmu_vcpu_destroy ( struct kvm_vcpu *  vcpu)
inlinestatic

Definition at line 132 of file arm_pmu.h.

132 {}

◆ kvm_pmu_vcpu_init()

static void kvm_pmu_vcpu_init ( struct kvm_vcpu *  vcpu)
inlinestatic

Definition at line 130 of file arm_pmu.h.

130 {}

◆ kvm_pmu_vcpu_reset()

static void kvm_pmu_vcpu_reset ( struct kvm_vcpu *  vcpu)
inlinestatic

Definition at line 131 of file arm_pmu.h.

131 {}

◆ kvm_vcpu_pmu_restore_guest()

static void kvm_vcpu_pmu_restore_guest ( struct kvm_vcpu *  vcpu)
inlinestatic

Definition at line 173 of file arm_pmu.h.

173 {}

◆ kvm_vcpu_pmu_restore_host()

static void kvm_vcpu_pmu_restore_host ( struct kvm_vcpu *  vcpu)
inlinestatic

Definition at line 174 of file arm_pmu.h.

174 {}

◆ kvm_vcpu_pmu_resync_el0()

static void kvm_vcpu_pmu_resync_el0 ( void  )
inlinestatic

Definition at line 184 of file arm_pmu.h.

184 {}

◆ kvm_vcpu_read_pmcr()

static u64 kvm_vcpu_read_pmcr ( struct kvm_vcpu *  vcpu)
inlinestatic

Definition at line 196 of file arm_pmu.h.

197 {
198  return 0;
199 }

◆ kvm_vcpu_reload_pmu()

static void kvm_vcpu_reload_pmu ( struct kvm_vcpu *  vcpu)
inlinestatic

Definition at line 175 of file arm_pmu.h.

175 {}