OPT_BOOLEAN('p', "phys-data", &mem.phys_addr, "Record/Report sample physical addresses"),
#include <subcmd/parse-options.h>
#include "util/trace-event.h"
#include "util/session.h"
#include "util/mem-events.h"
#define MEM_OPERATION_LOAD 0x1
#define MEM_OPERATION_STORE 0x2
DECLARE_BITMAP(cpu_bitmap, MAX_NR_CPUS);
static int parse_record_events(const struct option *opt,
const char *str, int unset __maybe_unused)
struct perf_mem *mem = *(struct perf_mem **)opt->value;
if (strcmp(str, "list")) {
if (!perf_mem_events__parse(str)) {
for (j = 0; j < PERF_MEM_EVENTS__MAX; j++) {
struct perf_mem_event *e = &perf_mem_events[j];
fprintf(stderr, "%-13s%-*s%s\n",
verbose > 0 ? perf_mem_events__name(j) : "",
e->supported ? ": available" : "");
static const char * const __usage[] = {
"perf mem record [<options>] [<command>]",
"perf mem record [<options>] -- <command> [<options>]",