From c1cc24c1e78f9c67bda882f2ee096fb8d6578cf0 Mon Sep 17 00:00:00 2001 From: Louis Burda Date: Thu, 5 Jan 2023 14:30:00 +0100 Subject: Stash previous changes --- Makefile | 4 ++-- cachepc/cachepc.c | 2 +- cachepc/mmu.c | 4 +++- linux | 2 +- test/fullstep.c | 6 ------ 5 files changed, 7 insertions(+), 11 deletions(-) diff --git a/Makefile b/Makefile index e64e421..5084c4d 100755 --- a/Makefile +++ b/Makefile @@ -10,7 +10,7 @@ BINS += test/readsvme util/debug util/reset CFLAGS = -I . -I test -Wunused-variable -Wunknown-pragmas -all: build $(BINS) +all: cachepc $(BINS) clean: $(MAKE) -C $(LINUX) SUBDIRS=arch/x86/kvm clean @@ -32,7 +32,7 @@ host: git -C $(LINUX) checkout HEAD git -C $(LINUX) stash pop -build: $(LINUX)/arch/x86/kvm/cachepc +cachepc: $(LINUX)/arch/x86/kvm/cachepc $(MAKE) -C $(LINUX) -j $(JOBS) M=arch/x86/kvm modules $(MAKE) -C $(LINUX) -j $(JOBS) M=crypto modules diff --git a/cachepc/cachepc.c b/cachepc/cachepc.c index c9c4b52..6aca5bf 100644 --- a/cachepc/cachepc.c +++ b/cachepc/cachepc.c @@ -126,7 +126,7 @@ cachepc_init_pmc(uint8_t index, uint8_t event_no, uint8_t event_mask, uint64_t reg_addr; /* REF: https://developer.amd.com/resources/developer-guides-manuals - * (PPR 17H 31H, P.166) + * (PPR 19H 01H, P.166) * * performance event selection via 0xC001_020X with X = (0..A)[::2] * performance event reading viea 0XC001_020X with X = (1..B)[::2] diff --git a/cachepc/mmu.c b/cachepc/mmu.c index 18dbe66..2d59d0f 100644 --- a/cachepc/mmu.c +++ b/cachepc/mmu.c @@ -34,7 +34,7 @@ cachepc_page_fault_handle(struct kvm_vcpu *vcpu, inst_fetch = fault->error_code & PFERR_FETCH_MASK; CPC_DBG("Tracked page fault attrs p:%i w:%i x:%i f:%i\n", - fault->present, inst_fetch, fault->write, fault->exec); + fault->present, fault->write, fault->exec, inst_fetch); count = 0; list_for_each_entry(tmp, &cachepc_faults, list) @@ -54,6 +54,8 @@ cachepc_page_fault_handle(struct kvm_vcpu *vcpu, cachepc_single_step = true; cachepc_apic_timer = 0; + + return false; /* setup untracked page */ } else if (cachepc_track_mode == CPC_TRACK_EXEC) { if (!inst_fetch || !fault->present) return false; diff --git a/linux b/linux index 6976338..17d0925 160000 --- a/linux +++ b/linux @@ -1 +1 @@ -Subproject commit 69763386485c8dff42143be7b5fdf51119246a8b +Subproject commit 17d09251c0ad2587b496bf29151ce8acca42d70d diff --git a/test/fullstep.c b/test/fullstep.c index e7abee9..98272c1 100644 --- a/test/fullstep.c +++ b/test/fullstep.c @@ -522,11 +522,9 @@ main(int argc, const char **argv) /* Page tracking init needs to happen after kvm * init so main_kvm is set.. */ - /* Reset previous tracking */ ret = ioctl(kvm_dev, KVM_CPC_RESET_TRACKING, NULL); if (ret == -1) err(1, "ioctl RESET_TRACKING"); - /* Do data access stepping */ arg = CPC_TRACK_FULL; ret = ioctl(kvm_dev, KVM_CPC_TRACK_MODE, &arg); if (ret == -1) err(1, "ioctl TRACK_MODE"); @@ -536,10 +534,6 @@ main(int argc, const char **argv) ret = ioctl(kvm_dev, KVM_CPC_TRACK_ALL, &track_mode); if (ret == -1) err(1, "ioctl TRACK_ALL"); - arg = false; - ret = ioctl(kvm_dev, KVM_CPC_SUB_BASELINE, &arg); - if (ret == -1) err(1, "ioctl SUB_BASELINE"); - arg = true; ret = ioctl(kvm_dev, KVM_CPC_MEASURE_BASELINE, &arg); if (ret == -1) err(1, "ioctl MEASURE_BASELINE"); -- cgit v1.2.3-71-gd317