diff options
| -rwxr-xr-x | Makefile | 4 | ||||
| -rw-r--r-- | cachepc/cachepc.c | 2 | ||||
| -rw-r--r-- | cachepc/mmu.c | 4 | ||||
| m--------- | linux | 0 | ||||
| -rw-r--r-- | test/fullstep.c | 6 |
5 files changed, 6 insertions, 10 deletions
@@ -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 -Subproject 69763386485c8dff42143be7b5fdf51119246a8 +Subproject 17d09251c0ad2587b496bf29151ce8acca42d70 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"); |
