diff options
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); +} |
