target/riscv: add log of PMP permission checking

Like MMU translation, add qemu log of PMP permission checking for
debugging.

Backports 663e119317d77780949830226f5575305405ab75
This commit is contained in:
Jim Shu 2021-03-30 15:07:49 -04:00 committed by Lioncash
parent d1ee86a6b2
commit 7dad65cea1

View file

@ -784,6 +784,12 @@ bool riscv_cpu_tlb_fill(CPUState *cs, vaddr address, int size,
if (ret == TRANSLATE_SUCCESS) { if (ret == TRANSLATE_SUCCESS) {
ret = get_physical_address_pmp(env, &prot_pmp, &tlb_size, pa, ret = get_physical_address_pmp(env, &prot_pmp, &tlb_size, pa,
size, access_type, mode); size, access_type, mode);
qemu_log_mask(CPU_LOG_MMU,
"%s PMP address=" TARGET_FMT_plx " ret %d prot"
" %d tlb_size " TARGET_FMT_lu "\n",
__func__, pa, ret, prot_pmp, tlb_size);
prot &= prot_pmp; prot &= prot_pmp;
} }
@ -811,6 +817,12 @@ bool riscv_cpu_tlb_fill(CPUState *cs, vaddr address, int size,
if (ret == TRANSLATE_SUCCESS) { if (ret == TRANSLATE_SUCCESS) {
ret = get_physical_address_pmp(env, &prot_pmp, &tlb_size, pa, ret = get_physical_address_pmp(env, &prot_pmp, &tlb_size, pa,
size, access_type, mode); size, access_type, mode);
qemu_log_mask(CPU_LOG_MMU,
"%s PMP address=" TARGET_FMT_plx " ret %d prot"
" %d tlb_size " TARGET_FMT_lu "\n",
__func__, pa, ret, prot_pmp, tlb_size);
prot &= prot_pmp; prot &= prot_pmp;
} }
} }