On Thu, 21 Apr 2022 at 17:29, Hao Wu <wuhao...@google.com> wrote: > > Thanks for all the comments you gave! I'll go over and address them recently. > > For this question, The actual CPU should be cortex A35. However, I don't see > them supported in QEMU. If I inserted CPU with "cortex-a35" QEMU will > complain: > qemu-system-aarch64: missing object type 'cortex-a35-arm-cpu' > > What should I do here?
You need to implement the new CPU type first... This means adding something to target/arm/cpu64.c which will look similar to the existing CPU handling. You need to watch out for: * getting all the ID register values right (check the TRM for the CPU) * implementing whatever the right impdef system registers are * checking whether QEMU is still missing support for any of the architectural features that the A35 implements (what QEMU supports is listed in docs/system/arm/emulation.rst) It's typically not much code but quite a lot of cross-checking against the TRM for the CPU that we're not missing pieces... Since you can add the A35 as a supported CPU type for the 'virt' board you can do A35 support as a separate patchset that doesn't depend on the npmc8xx work. https://patchew.org/QEMU/20220417174426.711829-1-richard.hender...@linaro.org/20220417174426.711829-60-richard.hender...@linaro.org/ is an example of how to add a new CPU (in that case the A76), at the end of a large patchset from RTH that's still going through code review. -- PMM