qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/9] Add Cortex-R52
@ 2022-07-18 11:54 Tobias Roehmel
  2022-07-18 11:54 ` [PATCH v2 1/9] target/arm: Add ARM_FEATURE_V8_R Tobias Roehmel
                   ` (9 more replies)
  0 siblings, 10 replies; 14+ messages in thread
From: Tobias Roehmel @ 2022-07-18 11:54 UTC (permalink / raw)
  To: qemu-devel; +Cc: peter.maydell, Tobias Roehmel

v2:
PATCH 1:
I have left the flag in for now because there there is a lot of use for it in the MPU translation code.
The PMSAv8r differs in quite a view ways from the implementation in the Cortex-M. I think using
!ARM_FEATURE_M in all of those cases might run into problems down the road when new things are added.
But I'll gladly change that if those concerns are not valid.
PATCH 2:
Patch was moved and I removed the ATCM... registers.
PATCH 3:
The issue here is that the R52 has the MPUIR register which shares the encoding with one of the
MIDR alias registers. It's now changed to not add that register for ARM_FEATURE_V8_R.
PATCH 4:
Added RVBAR for all v8 CPUs instead of just ARMv8r
PATCH 7:
Instead of setting TTBCR_EAE to 1, change all functions that rely on that value and are
relevant for Cortex-R52
PATCH 10:
SPSR_hyp changes removed
PATCH 11:
Removed the r52_machine. The issue with adding the Cortex-R52 to the virt board is that target_page.bits
is expected to be 12 but is set to 10 for ARM_FEATURE_PMSA. Simply changing that or using
virt2.7(which doesn't have that restriction) leads to problems with memory accesses. It might be
best to model an existing board.

These patches add the ARM Cortex-R52. The biggest addition is an implementation of the armv8-r MPU.

All information is taken from:
- ARM Cortex-R52 TRM revision r1p3
- ARM Architecture Reference Manual Supplement
    -ARMv8 for the ARMv8-R AArch32 architecture profile Version A.c

Functionality that is not implemented:
- Changing between single and double precision floats
- Some hypervisor related functionality (HCR.T(R)VM,HADFSR,...)

Tobias Röhmel (9):
  target/arm: Add ARM_FEATURE_V8_R
  target/arm: Don't add all MIDR aliases for Cortex-R
  target/arm: Make RVBAR available for all ARMv8 CPUs
  target/arm: Make stage_2_format for cache attributes optional
  target/arm: Add ARMCacheAttrs to the signature of pmsav8_mpu_lookup
  target/arm: Enable TTBCR_EAE for ARMv8-R AArch32
  target/arm: Add PMSAv8r registers
  target/arm: Add PMSAv8r functionality
  target/arm: Add ARM Cortex-R52 cpu

 target/arm/cpu.c          |   6 +-
 target/arm/cpu.h          |  11 +++
 target/arm/cpu_tcg.c      |  42 +++++++++
 target/arm/debug_helper.c |   3 +-
 target/arm/helper.c       | 183 +++++++++++++++++++++++++++++++++++-
 target/arm/internals.h    |  16 ++--
 target/arm/m_helper.c     |   3 +-
 target/arm/ptw.c          | 191 ++++++++++++++++++++++++++++++++------
 target/arm/tlb_helper.c   |   3 +-
 9 files changed, 417 insertions(+), 41 deletions(-)

-- 
2.25.1



^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2022-08-12 13:13 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-07-18 11:54 [PATCH v2 0/9] Add Cortex-R52 Tobias Roehmel
2022-07-18 11:54 ` [PATCH v2 1/9] target/arm: Add ARM_FEATURE_V8_R Tobias Roehmel
2022-07-18 11:54 ` [PATCH v2 2/9] target/arm: Don't add all MIDR aliases for Cortex-R Tobias Roehmel
2022-08-12 12:51   ` Peter Maydell
2022-07-18 11:54 ` [PATCH v2 3/9] target/arm: Make RVBAR available for all ARMv8 CPUs Tobias Roehmel
2022-08-12 13:11   ` Peter Maydell
2022-07-18 11:54 ` [PATCH v2 4/9] target/arm: Make stage_2_format for cache attributes optional Tobias Roehmel
2022-07-18 11:54 ` [PATCH v2 5/9] target/arm: Add ARMCacheAttrs to the signature of pmsav8_mpu_lookup Tobias Roehmel
2022-07-18 11:54 ` [PATCH v2 6/9] target/arm: Enable TTBCR_EAE for ARMv8-R AArch32 Tobias Roehmel
2022-07-18 11:54 ` [PATCH v2 7/9] target/arm: Add PMSAv8r registers Tobias Roehmel
2022-07-18 11:54 ` [PATCH v2 8/9] target/arm: Add PMSAv8r functionality Tobias Roehmel
2022-07-18 11:54 ` [PATCH v2 9/9] target/arm: Add ARM Cortex-R52 cpu Tobias Roehmel
2022-07-27 11:43 ` [PATCH v2 0/9] Add Cortex-R52 Tobias Roehmel
2022-07-27 12:58   ` Peter Maydell

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).