On Wed, 3 Feb 2021 at 14:50, Michael Nawrocki
<michael.nawrocki@gtri.gatech.edu> wrote:
On 2/2/21 6:29 AM, Peter Maydell wrote:
I see what you mean. Does QEMU support AArch64-only CPU models, and if
so, is there a way to determine if the CPU has AArch32?
We don't have any currently, but in theory the support is there
and we'll likely end up adding some in future.
More specifically, in this case what you want to know is "can
the guest ever see the AArch32 view of SCR_EL3", which is
"is there support for AArch32 at EL1 or above"?", which you can
check for in the EL1 field of ID_AA64PFR0.
So you need a function similar to the existing isar_feature_aa64_aa32(),
but which cecks the EL1 field instead of the EL0 field (you could
call it isar_feature_aa64_aa32_el1()). Then you can test it with
cpu_isar_feature(aa64_aa32_el1, cpu).
NB that you must only call it when you know that the CPU has
AArch64, ie when arm_feature(env, ARM_FEATURE_AARCH64) is true.
thanks
-- PMM