diff --git a/proxyclient/hv.py b/proxyclient/hv.py index 9928ead..5679324 100644 --- a/proxyclient/hv.py +++ b/proxyclient/hv.py @@ -161,7 +161,7 @@ class HV: ctx.elr += 4 - self.patch_exception_handling() + #self.patch_exception_handling() return True @@ -412,7 +412,9 @@ class HV: self.iface.set_handler(START.EXCEPTION_LOWER, EXC.FIQ, self.handle_exception) self.iface.set_handler(START.EXCEPTION_LOWER, EXC.SERROR, self.handle_exception) - self.map_hw(0x2_00000000, 0x2_00000000, 0x5_00000000) + self.map_sw(0x2_00000000, 0x2_00000000, 0x5_00000000) + # Map UART directly so it doesn't spam + self.map_hw(0x2_35200000, 0x2_35200000, 0x4000) hcr = HCR(self.u.mrs(HCR_EL2)) hcr.TACR = 1 diff --git a/src/hv_vm.c b/src/hv_vm.c index dd7545c..dae59ab 100644 --- a/src/hv_vm.c +++ b/src/hv_vm.c @@ -557,8 +557,8 @@ bool hv_handle_dabort(u64 *regs) switch (FIELD_GET(SPTE_TYPE, pte)) { case SPTE_MAP: - dprintf("HV: SPTE_MAP[W] 0x%lx -> 0x%lx (w=%d): 0x%lx\n", far, paddr, 1 << width, - val); + printf("HV: SPTE_MAP[W] 0x%lx -> 0x%lx (w=%d): 0x%lx\n", far, paddr, 1 << width, + val); switch (width) { case SAS_8B: write8(paddr, val); @@ -600,8 +600,8 @@ bool hv_handle_dabort(u64 *regs) val = read64(paddr); break; } - dprintf("HV: SPTE_MAP[R] 0x%lx -> 0x%lx (w=%d): 0x%lx\n", far, paddr, 1 << width, - val); + printf("HV: SPTE_MAP[R] 0x%lx -> 0x%lx (w=%d): 0x%lx\n", far, paddr, 1 << width, + val); break; case SPTE_HOOK: val = 0;