From 1715c9d6e1aa977b407081fb3164edbf1534fb5c Mon Sep 17 00:00:00 2001 From: Louis Burda Date: Fri, 3 Feb 2023 11:59:43 -0600 Subject: Properly implement target gfn stepping --- test/kvm-targetstep_guest.S | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 test/kvm-targetstep_guest.S (limited to 'test/kvm-targetstep_guest.S') diff --git a/test/kvm-targetstep_guest.S b/test/kvm-targetstep_guest.S new file mode 100644 index 0000000..6625c54 --- /dev/null +++ b/test/kvm-targetstep_guest.S @@ -0,0 +1,40 @@ +#include "cachepc/const.h" + +#define TARGET_SET 15 + +.text +.align(16) +.code16gcc + +guest: +.rept L1_LINESIZE * L1_SETS * 2 + nop +.endr + + mov $0, %cx + mov $CPC_GUEST_START_TRACK, %bx + mov $KVM_HC_CPC_VMMCALL_SIGNAL, %ax + vmmcall + + mov $(L1_LINESIZE * (L1_SETS + 11)), %bx + movb (%bx), %bl + + mov $(L1_LINESIZE * (L1_SETS + 13)), %bx + movb (%bx), %bl + + mov $(L1_LINESIZE * (L1_SETS + 15)), %bx + movb (%bx), %bl + + # this should only be partially single-stepped if + # single-stepping is limited to the first page +.rept L1_LINESIZE * L1_SETS * 2 + nop +.endr + + mov $0, %cx + mov $CPC_GUEST_STOP_TRACK, %bx + mov $KVM_HC_CPC_VMMCALL_SIGNAL, %ax + vmmcall + + jmp guest + -- cgit v1.2.3-71-gd317