Skip to content

Commit 04baa22

Browse files
suomilewisbonzini
authored andcommitted
selftests: kvm/x86: Add the helper function create_pmu_event_filter
Add a helper function that creates a pmu event filter given an event list. Currently, a pmu event filter can only be created with the same hard coded event list. Add a way to create one given a different event list. Also, rename make_pmu_event_filter to alloc_pmu_event_filter to clarify it's purpose given the introduction of create_pmu_event_filter. No functional changes intended. Signed-off-by: Aaron Lewis <aaronlewis@google.com> Message-Id: <20220517051238.2566934-2-aaronlewis@google.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
1 parent 4ac19ea commit 04baa22

1 file changed

Lines changed: 14 additions & 4 deletions

File tree

tools/testing/selftests/kvm/x86_64/pmu_event_filter_test.c

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -208,7 +208,7 @@ static bool sanity_check_pmu(struct kvm_vm *vm)
208208
return success;
209209
}
210210

211-
static struct kvm_pmu_event_filter *make_pmu_event_filter(uint32_t nevents)
211+
static struct kvm_pmu_event_filter *alloc_pmu_event_filter(uint32_t nevents)
212212
{
213213
struct kvm_pmu_event_filter *f;
214214
int size = sizeof(*f) + nevents * sizeof(f->events[0]);
@@ -220,19 +220,29 @@ static struct kvm_pmu_event_filter *make_pmu_event_filter(uint32_t nevents)
220220
return f;
221221
}
222222

223-
static struct kvm_pmu_event_filter *event_filter(uint32_t action)
223+
224+
static struct kvm_pmu_event_filter *
225+
create_pmu_event_filter(const uint64_t event_list[],
226+
int nevents, uint32_t action)
224227
{
225228
struct kvm_pmu_event_filter *f;
226229
int i;
227230

228-
f = make_pmu_event_filter(ARRAY_SIZE(event_list));
231+
f = alloc_pmu_event_filter(nevents);
229232
f->action = action;
230-
for (i = 0; i < ARRAY_SIZE(event_list); i++)
233+
for (i = 0; i < nevents; i++)
231234
f->events[i] = event_list[i];
232235

233236
return f;
234237
}
235238

239+
static struct kvm_pmu_event_filter *event_filter(uint32_t action)
240+
{
241+
return create_pmu_event_filter(event_list,
242+
ARRAY_SIZE(event_list),
243+
action);
244+
}
245+
236246
/*
237247
* Remove the first occurrence of 'event' (if any) from the filter's
238248
* event list.

0 commit comments

Comments
 (0)