[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v3 05/28] target/arm: Extract TCMA with ARMVAParamet
From: |
Richard Henderson |
Subject: |
[Qemu-devel] [PATCH v3 05/28] target/arm: Extract TCMA with ARMVAParameters |
Date: |
Mon, 11 Feb 2019 15:52:35 -0800 |
Reviewed-by: Peter Maydell <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>
---
target/arm/internals.h | 1 +
target/arm/helper.c | 8 ++++++--
2 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/target/arm/internals.h b/target/arm/internals.h
index 6c018e773c..2922324f63 100644
--- a/target/arm/internals.h
+++ b/target/arm/internals.h
@@ -959,6 +959,7 @@ typedef struct ARMVAParameters {
bool tbid : 1;
bool epd : 1;
bool hpd : 1;
+ bool tcma : 1;
bool using16k : 1;
bool using64k : 1;
} ARMVAParameters;
diff --git a/target/arm/helper.c b/target/arm/helper.c
index e73bdbf041..cbe3500f78 100644
--- a/target/arm/helper.c
+++ b/target/arm/helper.c
@@ -10447,7 +10447,7 @@ ARMVAParameters aa64_va_parameters_both(CPUARMState
*env, uint64_t va,
{
uint64_t tcr = regime_tcr(env, mmu_idx)->raw_tcr;
uint32_t el = regime_el(env, mmu_idx);
- bool tbi, tbid, epd, hpd, using16k, using64k;
+ bool tbi, tbid, epd, hpd, tcma, using16k, using64k;
int select, tsz;
/*
@@ -10462,11 +10462,12 @@ ARMVAParameters aa64_va_parameters_both(CPUARMState
*env, uint64_t va,
using16k = extract32(tcr, 15, 1);
if (mmu_idx == ARMMMUIdx_S2NS) {
/* VTCR_EL2 */
- tbi = tbid = hpd = false;
+ tbi = tbid = hpd = tcma = false;
} else {
tbi = extract32(tcr, 20, 1);
hpd = extract32(tcr, 24, 1);
tbid = extract32(tcr, 29, 1);
+ tcma = extract32(tcr, 30, 1);
}
epd = false;
} else if (!select) {
@@ -10477,6 +10478,7 @@ ARMVAParameters aa64_va_parameters_both(CPUARMState
*env, uint64_t va,
tbi = extract64(tcr, 37, 1);
hpd = extract64(tcr, 41, 1);
tbid = extract64(tcr, 51, 1);
+ tcma = extract64(tcr, 57, 1);
} else {
int tg = extract32(tcr, 30, 2);
using16k = tg == 1;
@@ -10486,6 +10488,7 @@ ARMVAParameters aa64_va_parameters_both(CPUARMState
*env, uint64_t va,
tbi = extract64(tcr, 38, 1);
hpd = extract64(tcr, 42, 1);
tbid = extract64(tcr, 52, 1);
+ tcma = extract64(tcr, 58, 1);
}
tsz = MIN(tsz, 39); /* TODO: ARMv8.4-TTST */
tsz = MAX(tsz, 16); /* TODO: ARMv8.2-LVA */
@@ -10497,6 +10500,7 @@ ARMVAParameters aa64_va_parameters_both(CPUARMState
*env, uint64_t va,
.tbid = tbid,
.epd = epd,
.hpd = hpd,
+ .tcma = tcma,
.using16k = using16k,
.using64k = using64k,
};
--
2.17.2
- [Qemu-devel] [PATCH v3 00/28] target/arm: Implement ARMv8.5-MemTag, Richard Henderson, 2019/02/11
- [Qemu-devel] [PATCH v3 01/28] target/arm: Split out arm_sctlr, Richard Henderson, 2019/02/11
- [Qemu-devel] [PATCH v3 02/28] target/arm: Split helper_msr_i_pstate into 3, Richard Henderson, 2019/02/11
- [Qemu-devel] [PATCH v3 03/28] target/arm: Add clear_pstate_bits, share gen_ss_advance, Richard Henderson, 2019/02/11
- [Qemu-devel] [PATCH v3 04/28] target/arm: Add MTE_ACTIVE to tb_flags, Richard Henderson, 2019/02/11
- [Qemu-devel] [PATCH v3 05/28] target/arm: Extract TCMA with ARMVAParameters,
Richard Henderson <=
- [Qemu-devel] [PATCH v3 18/28] target/arm: Implement the access tag cache flushes, Richard Henderson, 2019/02/11
- [Qemu-devel] [PATCH v3 19/28] target/arm: Clean address for DC ZVA, Richard Henderson, 2019/02/11
- [Qemu-devel] [PATCH v3 07/28] target/arm: Assert no manual change to CACHED_PSTATE_BITS, Richard Henderson, 2019/02/11
- [Qemu-devel] [PATCH v3 12/28] target/arm: Implement the GMI instruction, Richard Henderson, 2019/02/11
- [Qemu-devel] [PATCH v3 15/28] target/arm: Implement LDG, STG, ST2G instructions, Richard Henderson, 2019/02/11
- [Qemu-devel] [PATCH v3 06/28] target/arm: Add MTE system registers, Richard Henderson, 2019/02/11
- [Qemu-devel] [PATCH v3 16/28] target/arm: Implement the STGP instruction, Richard Henderson, 2019/02/11
- [Qemu-devel] [PATCH v3 17/28] target/arm: Implement the LDGM and STGM instructions, Richard Henderson, 2019/02/11
- [Qemu-devel] [PATCH v3 09/28] target/arm: Suppress tag check for sp+offset, Richard Henderson, 2019/02/11
- [Qemu-devel] [PATCH v3 23/28] target/arm: Cache the Tagged bit for a page in MemTxAttrs, Richard Henderson, 2019/02/11