From 5e99ea7f111134c7a1c7103590b711d59edafa9b Mon Sep 17 00:00:00 2001 From: Louis Burda Date: Sun, 11 Dec 2022 02:51:47 +0100 Subject: Adding support for exec based tracking (unstable) --- util/.gitignore | 2 ++ util/debug.c | 26 ++++++++++++++++++++++++++ util/reset.c | 29 +++++++++++++++++++++++++++++ 3 files changed, 57 insertions(+) create mode 100644 util/.gitignore create mode 100644 util/debug.c create mode 100644 util/reset.c (limited to 'util') diff --git a/util/.gitignore b/util/.gitignore new file mode 100644 index 0000000..52ab6d3 --- /dev/null +++ b/util/.gitignore @@ -0,0 +1,2 @@ +debug +reset diff --git a/util/debug.c b/util/debug.c new file mode 100644 index 0000000..7a1e259 --- /dev/null +++ b/util/debug.c @@ -0,0 +1,26 @@ +#include "cachepc/uapi.h" + +#include +#include +#include +#include +#include +#include +#include +#include + +int +main(int argc, const char **argv) +{ + uint32_t arg; + int fd, ret; + + fd = open("/dev/kvm", O_RDONLY); + if (fd < 0) err(1, "open"); + + arg = argc > 1 ? atoi(argv[1]) : 1; + ret = ioctl(fd, KVM_CPC_DEBUG, &arg); + if (ret == -1) err(1, "ioctl DEBUG"); + + close(fd); +} diff --git a/util/reset.c b/util/reset.c new file mode 100644 index 0000000..125a2b6 --- /dev/null +++ b/util/reset.c @@ -0,0 +1,29 @@ +#include "cachepc/uapi.h" + +#include +#include +#include +#include +#include +#include +#include +#include + +int +main(int argc, const char **argv) +{ + uint64_t arg; + int fd, ret; + + fd = open("/dev/kvm", O_RDONLY); + if (fd < 0) err(1, "open"); + + ret = ioctl(fd, KVM_CPC_RESET_TRACKING); + if (ret) warn("ioctl RESET_TRACKING"); + + arg = 0; + ret = ioctl(fd, KVM_CPC_ACK_EVENT, &arg); + if (ret) warn("ioctl ACK_EVENT"); + + close(fd); +} -- cgit v1.2.3-71-gd317