[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v3 00/25] target/arm: Implement FEAT_RME
From: |
Richard Henderson |
Subject: |
[PATCH v3 00/25] target/arm: Implement FEAT_RME |
Date: |
Tue, 21 Feb 2023 16:33:11 -1000 |
This is based on mainline, without any extra ARMv9-A dependencies
which are still under development. This is good enough to pass
all of the tests within
https://github.com/Huawei/Huawei_CCA_QEMU
Changes for v3:
* Incorporate fix for m-profile arm_cpu_get_phys_page_attrs_debug,
since it has conflicts with the rest of the patch set.
* Revert accidental change in S1_ptw_translate remapping
ARMFault_GPCFOnOutput to ARMFault_GPCFOnWalk.
* Remove __attribute__((nonnull)) early.
* Rename get_phys_addr_{inner,outer} -> get_phys_addr_{nogpc,gpc}.
Changes for v2:
* Drop "Fix pmsav8 stage2 secure parameter".
* Incorporate review feedback.
* Mark last two patches as "NOTFORMERGE".
r~
Richard Henderson (25):
target/arm: Handle m-profile in arm_is_secure
target/arm: Stub arm_hcr_el2_eff for m-profile
target/arm: Diagnose incorrect usage of arm_is_secure subroutines
target/arm: Rewrite check_s2_mmu_setup
target/arm: Add isar_feature_aa64_rme
target/arm: Update SCR and HCR for RME
target/arm: SCR_EL3.NS may be RES1
target/arm: Add RME cpregs
target/arm: Introduce ARMSecuritySpace
include/exec/memattrs: Add two bits of space to MemTxAttrs
target/arm: Adjust the order of Phys and Stage2 ARMMMUIdx
target/arm: Introduce ARMMMUIdx_Phys_{Realm,Root}
target/arm: Remove __attribute__((nonnull)) from ptw.c
target/arm: Pipe ARMSecuritySpace through ptw.c
target/arm: NSTable is RES0 for the RME EL3 regime
target/arm: Handle Block and Page bits for security space
target/arm: Handle no-execute for Realm and Root regimes
target/arm: Use get_phys_addr_with_struct in S1_ptw_translate
target/arm: Move s1_is_el0 into S1Translate
target/arm: Use get_phys_addr_with_struct for stage2
target/arm: Add GPC syndrome
target/arm: Implement GPC exceptions
target/arm: Implement the granule protection check
target/arm: Enable RME for -cpu max
hw/arm/virt: Add some memory for Realm Management Monitor
include/exec/memattrs.h | 9 +-
include/hw/arm/virt.h | 2 +
target/arm/cpu-param.h | 2 +-
target/arm/cpu.h | 149 ++++++--
target/arm/internals.h | 27 ++
target/arm/syndrome.h | 10 +
hw/arm/virt.c | 43 +++
target/arm/cpu.c | 4 +
target/arm/cpu64.c | 37 ++
target/arm/helper.c | 164 ++++++++-
target/arm/ptw.c | 753 ++++++++++++++++++++++++++++++----------
target/arm/tlb_helper.c | 96 ++++-
12 files changed, 1073 insertions(+), 223 deletions(-)
--
2.34.1
- [PATCH v3 00/25] target/arm: Implement FEAT_RME,
Richard Henderson <=
- [PATCH v3 02/25] target/arm: Stub arm_hcr_el2_eff for m-profile, Richard Henderson, 2023/02/21
- [PATCH v3 03/25] target/arm: Diagnose incorrect usage of arm_is_secure subroutines, Richard Henderson, 2023/02/21
- [PATCH v3 01/25] target/arm: Handle m-profile in arm_is_secure, Richard Henderson, 2023/02/21
- [PATCH v3 04/25] target/arm: Rewrite check_s2_mmu_setup, Richard Henderson, 2023/02/21
- [PATCH v3 10/25] include/exec/memattrs: Add two bits of space to MemTxAttrs, Richard Henderson, 2023/02/21