|
| From: | Zenghui Yu |
| Subject: | Re: [PATCH v6 24/24] target/arm: Define neoverse-n1 |
| Date: | Wed, 10 Aug 2022 21:12:54 +0800 |
| User-agent: | Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.9.0 |
On 2022/5/7 2:02, Richard Henderson wrote:
+static void aarch64_neoverse_n1_initfn(Object *obj)
+{
+ ARMCPU *cpu = ARM_CPU(obj);
+
+ cpu->dtb_compatible = "arm,neoverse-n1";
+ set_feature(&cpu->env, ARM_FEATURE_V8);
+ set_feature(&cpu->env, ARM_FEATURE_NEON);
+ set_feature(&cpu->env, ARM_FEATURE_GENERIC_TIMER);
+ set_feature(&cpu->env, ARM_FEATURE_AARCH64);
+ set_feature(&cpu->env, ARM_FEATURE_CBAR_RO);
+ set_feature(&cpu->env, ARM_FEATURE_EL2);
+ set_feature(&cpu->env, ARM_FEATURE_EL3);
+ set_feature(&cpu->env, ARM_FEATURE_PMU);
+
+ /* Ordered by B2.4 AArch64 registers by functional group */
+ cpu->clidr = 0x82000023;
+ cpu->ctr = 0x8444c004;
+ cpu->dcz_blocksize = 4;
+ cpu->isar.id_aa64dfr0 = 0x0000000110305408ull;
The r4p1 TRM says that the Neoverse N1 core supports SPE (the value of ID_AA64DFR0.PMSVer is 0b0001) but do we really support SPE emulation in QEMU? The guest immediately received an unexpected exception (with EC==0, at EFI stage) when I tried to boot it using something like: /path/to/qemu-system-aarch64 \ -M virt,gic-version=3,virtualization=on \ -cpu neoverse-n1 -accel tcg \ -bios QEMU_EFI.fd [...] and QEMU shouted that "read access to unsupported AArch64 system register op0:3 op1:0 crn:9 crm:10 op2:7", which told us that the guest attempted to read the PMBIDR_EL1 register. Zenghui
| [Prev in Thread] | Current Thread | [Next in Thread] |