diff options
| author | Louis Burda <quent.burda@gmail.com> | 2022-10-05 15:05:19 +0200 |
|---|---|---|
| committer | Louis Burda <quent.burda@gmail.com> | 2022-10-05 15:05:19 +0200 |
| commit | 58d8565f015f9e06e1e51a0fe4654b966b2c27c0 (patch) | |
| tree | e862ba1491cb114be46e98022ce8feaf98f8eca2 /test/sevstep.c | |
| parent | 8b1535789509812763de132f877b596d01861714 (diff) | |
| download | cachepc-58d8565f015f9e06e1e51a0fe4654b966b2c27c0.tar.gz cachepc-58d8565f015f9e06e1e51a0fe4654b966b2c27c0.zip | |
Refactor sevstep kernel patch into repository
Diffstat (limited to 'test/sevstep.c')
| -rw-r--r-- | test/sevstep.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/test/sevstep.c b/test/sevstep.c new file mode 100644 index 0000000..3ca7f03 --- /dev/null +++ b/test/sevstep.c @@ -0,0 +1,32 @@ +#include "sevstep/uapi.h" + +#include <linux/kvm.h> +#include <sys/ioctl.h> + +#include <err.h> +#include <stdlib.h> +#include <stdio.h> + +int +main(int argc, const char **argv) +{ + track_all_pages_t tracking; + int ret, fd; + + fd = open("/proc/cachepc"); + if (!fd) err(1, "open"); + + tracking.track_mode = KVM_PAGE_TRACK_ACCESS; + ret = ioctl(fd, KVM_USPT_TRACK_ALL, &tracking); + if (ret == -1) err(1, "ioctl TRACK_ALL ACCESS"); + + + tracking.track_mode = KVM_PAGE_TRACK_RESET_ACCESSED; + ret = ioctl(fd, KVM_USPT_TRACK_ALL, &tracking); + if (ret == -1) err(1, "ioctl TRACK_ALL RESET_ACCESSED"); + + ret = ioctl(fd, KVM_USPT_UNTRACK_ALL, &tracking); + if (ret == -1) err(1, "ioctl UNTRACK_ALL"); + + close(fd); +} |
