From 572985d705e4575d53ec5d312a484a96a01bce9f Mon Sep 17 00:00:00 2001 From: Louis Burda Date: Thu, 6 Oct 2022 12:02:32 +0200 Subject: Move cachepc ioctl into kvm device and remove old procfs endpoint --- test/sev.c | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-) (limited to 'test/sev.c') diff --git a/test/sev.c b/test/sev.c index 61f1ec3..7d99fd1 100644 --- a/test/sev.c +++ b/test/sev.c @@ -58,7 +58,7 @@ ssize_t sysret; pid_t victim_pid; /* ioctl dev fds */ -int kvm_dev, sev_dev, cachepc_dev; +int kvm_dev, sev_dev, kvm_dev; enum { GSTATE_UNINIT, @@ -399,15 +399,15 @@ sev_kvm_deinit(struct kvm *kvm) } uint16_t * -read_counts() +read_counts() { uint16_t *counts; - size_t len; + int ret; counts = malloc(64 * sizeof(uint16_t)); - lseek(cachepc_dev, 0, SEEK_SET); - len = read(cachepc_dev, counts, 64 * sizeof(uint16_t)); - assert(len == 64 * sizeof(uint16_t)); + if (!counts) err(1, "malloc"); + ret = ioctl(kvm_dev, KVM_CPC_READ_COUNTS, counts); + if (ret == -1) err(1, "ioctl READ_COUNTS"); return counts; } @@ -478,9 +478,6 @@ main(int argc, const char **argv) pin_process(0, TARGET_CORE, true); - cachepc_dev = open("/proc/cachepc", O_RDONLY); - if (cachepc_dev < 0) err(1, "open /proc/cachepc"); - sev_dev = open("/dev/sev", O_RDWR | O_CLOEXEC); if (sev_dev < 0) err(1, "open /dev/sev"); @@ -492,13 +489,13 @@ main(int argc, const char **argv) if (ret < 0) err(1, "KVM_GET_API_VERSION"); if (ret != 12) errx(1, "KVM_GET_API_VERSION %d, expected 12", ret); - // Init L1 miss counter + /* init L1 miss counter for host kernel */ arg = 0x002264D8; - ret = ioctl(cachepc_dev, CACHEPC_IOCTL_INIT_PMC, &arg); - if (ret < 0) err(1, "ioctl fail"); + ret = ioctl(kvm_dev, KVM_CPC_INIT_PMC, &arg); + if (ret < 0) err(1, "ioctl INIT_PMC"); baseline = calloc(sizeof(uint16_t), 64); - if (!baseline) err(1, "counts"); + if (!baseline) err(1, "calloc"); for (k = 0; k < 64; k++) baseline[k] = UINT16_MAX; @@ -537,7 +534,6 @@ main(int argc, const char **argv) free(baseline); - close(cachepc_dev); close(kvm_dev); close(sev_dev); } -- cgit v1.2.3-71-gd317