From 2bca4cc3109441be40c1c32e89b7d6d773d6c57f Mon Sep 17 00:00:00 2001 From: Stanislav Shwartsman Date: Sat, 27 Jan 2018 21:25:46 +0000 Subject: [PATCH] improve debug print for SPP access --- bochs/bx_debug/dbg_main.cc | 4 ++++ bochs/cpu/cpu.h | 4 ++++ bochs/cpu/paging.cc | 2 +- 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/bochs/bx_debug/dbg_main.cc b/bochs/bx_debug/dbg_main.cc index 8e0146deb..8680036df 100644 --- a/bochs/bx_debug/dbg_main.cc +++ b/bochs/bx_debug/dbg_main.cc @@ -710,6 +710,10 @@ void bx_dbg_phy_memory_access(unsigned cpu, bx_phy_address phy, unsigned len, un "EPT PDE", "EPT PDPTE", "EPT PML4E", + "EPT SPP PTE", + "EPT SPP PDE", + "EPT SPP PDPTE", + "EPT SPP PML4E", "VMCS", "SHADOW_VMCS", "MSR BITMAP", diff --git a/bochs/cpu/cpu.h b/bochs/cpu/cpu.h index 8ef66df01..16b4bdefb 100644 --- a/bochs/cpu/cpu.h +++ b/bochs/cpu/cpu.h @@ -274,6 +274,10 @@ enum { BX_EPT_PDE_ACCESS, BX_EPT_PDTE_ACCESS, BX_EPT_PML4E_ACCESS, + BX_EPT_SPP_PTE_ACCESS, + BX_EPT_SPP_PDE_ACCESS, + BX_EPT_SPP_PDTE_ACCESS, + BX_EPT_SPP_PML4E_ACCESS, BX_VMCS_ACCESS, BX_SHADOW_VMCS_ACCESS, BX_MSR_BITMAP_ACCESS, diff --git a/bochs/cpu/paging.cc b/bochs/cpu/paging.cc index 7b759d56e..01da36674 100644 --- a/bochs/cpu/paging.cc +++ b/bochs/cpu/paging.cc @@ -1922,7 +1922,7 @@ bx_bool BX_CPU_C::spp_walk(bx_phy_address guest_paddr, bx_address guest_laddr, B for (leaf = BX_LEVEL_PML4;; --leaf) { entry_addr[leaf] = ppf + ((guest_paddr >> (9 + 9*leaf)) & 0xff8); access_read_physical(entry_addr[leaf], 8, &entry[leaf]); - BX_NOTIFY_PHY_MEMORY_ACCESS(entry_addr[leaf], 8, MEMTYPE(memtype), BX_READ, (BX_EPT_PTE_ACCESS + leaf), (Bit8u*)(&entry[leaf])); + BX_NOTIFY_PHY_MEMORY_ACCESS(entry_addr[leaf], 8, MEMTYPE(memtype), BX_READ, (BX_EPT_SPP_PTE_ACCESS + leaf), (Bit8u*)(&entry[leaf])); if (leaf == BX_LEVEL_PTE) break;