|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH 2/9] arm/domain: Get rid of READ/WRITE_SYSREG32
On 21/04/2021 08:36, Michal Orzel wrote: Hi Julien, Hi Michal, On 20.04.2021 15:12, Julien Grall wrote:Hi Michal, On 20/04/2021 08:08, Michal Orzel wrote:AArch64 system registers are 64bit whereas AArch32 ones are 32bit or 64bit. MSR/MRS are expecting 64bit values thus we should get rid of helpers READ/WRITE_SYSREG32 in favour of using READ/WRITE_SYSREG. We should also use register_t type when reading sysregs which can correspond to uint64_t or uint32_t. Even though many AArch64 sysregs have upper 32bit reserved it does not mean that they can't be widen in the future. Modify type of registers: actlr, cntkctl to register_t.ACTLR is implementation defined, so in theory there might already bits already defined in the range [32:63]. So I would consider to split it from the patch so we can backport it.You mean not to touch it at all in this series or to create a seperate patch only for ACTLR? I meant creating a separate patch for ACTLR as part of this series.
This was defined on the very first version of the ARMv8-A spec (issue a.a) but was dropped on subsequent versinos. Hence why the compiler doesn't shout at you when finding TEECR32_EL1 and TEEHBR32_EL1. This means that this code could be protected even with #ifdef CONFIG_ARM_32 as AArch64 do not have them. +1. The feature was completely dropped for Armv8 (even if it appeared in earlier version of the spec). I have checked AMD Seattle, QEMU and the Foundation model to confirm the feature is not exposed. Cheers, -- Julien Grall
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |