[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 4/5] target/hppa: Use privilege helper in hppa_get_physical_addres
From: |
deller |
Subject: |
[PULL 4/5] target/hppa: Use privilege helper in hppa_get_physical_address() |
Date: |
Sun, 27 Aug 2023 17:17:45 +0200 |
From: Helge Deller <deller@gmx.de>
Convert hppa_get_physical_address() to use the privilege helper macro.
Signed-off-by: Helge Deller <deller@gmx.de>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
target/hppa/mem_helper.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/target/hppa/mem_helper.c b/target/hppa/mem_helper.c
index 6f04c101dd..46c3dcaf15 100644
--- a/target/hppa/mem_helper.c
+++ b/target/hppa/mem_helper.c
@@ -73,7 +73,7 @@ int hppa_get_physical_address(CPUHPPAState *env, vaddr addr,
int mmu_idx,
int type, hwaddr *pphys, int *pprot)
{
hwaddr phys;
- int prot, r_prot, w_prot, x_prot;
+ int prot, r_prot, w_prot, x_prot, priv;
hppa_tlb_entry *ent;
int ret = -1;
@@ -97,9 +97,10 @@ int hppa_get_physical_address(CPUHPPAState *env, vaddr addr,
int mmu_idx,
phys = ent->pa + (addr & ~TARGET_PAGE_MASK);
/* Map TLB access_rights field to QEMU protection. */
- r_prot = (mmu_idx <= ent->ar_pl1) * PAGE_READ;
- w_prot = (mmu_idx <= ent->ar_pl2) * PAGE_WRITE;
- x_prot = (ent->ar_pl2 <= mmu_idx && mmu_idx <= ent->ar_pl1) * PAGE_EXEC;
+ priv = MMU_IDX_TO_PRIV(mmu_idx);
+ r_prot = (priv <= ent->ar_pl1) * PAGE_READ;
+ w_prot = (priv <= ent->ar_pl2) * PAGE_WRITE;
+ x_prot = (ent->ar_pl2 <= priv && priv <= ent->ar_pl1) * PAGE_EXEC;
switch (ent->ar_type) {
case 0: /* read-only: data page */
prot = r_prot;
--
2.41.0
- [PULL 0/5] Devel hppa priv cleanup2 patches, deller, 2023/08/27
- [PULL 1/5] target/hppa: Add missing PL1 and PL2 privilege levels, deller, 2023/08/27
- [PULL 4/5] target/hppa: Use privilege helper in hppa_get_physical_address(),
deller <=
- [PULL 5/5] target/hppa: Switch to use MMU indices 11-15, deller, 2023/08/27
- [PULL 2/5] target/hppa: Add privilege to MMU index conversion helpers, deller, 2023/08/27
- [PULL 3/5] target/hppa: Do not use hardcoded value for tlb_flush_*(), deller, 2023/08/27
- Re: [PULL 0/5] Devel hppa priv cleanup2 patches, Stefan Hajnoczi, 2023/08/28