Am 20.05.2013 14:57, schrieb Peter Maydell: > On 14 May 2013 05:32, John Rigby <john.ri...@linaro.org> wrote: >> @@ -10038,6 +10042,11 @@ void cpu_dump_state(CPUARMState *env, FILE *f, >> fprintf_function cpu_fprintf, >> int i; >> uint32_t psr; >> >> + if (is_a64(env)) { >> + cpu_dump_state_a64(env, f, cpu_fprintf, flags); >> + return; >> + } >> + > > This breaks building of the 32 bit ARM target: > > LINK arm-softmmu/qemu-system-arm > target-arm/translate.o: In function `cpu_dump_state': > /home/petmay01/linaro/qemu-from-laptop/qemu/target-arm/translate.c:10046: > undefined reference to `cpu_dump_state_a64' > > because cpu_dump_state_a64() is in a file which is > only built for 64 bit.
My qom-cpu-10 series may help here, it turns cpu_dump_state() into a simple helper function calling CPUClass::dump_state(). So a Cortex-A5x class_init or TARGET_AARCH64 for the base class_init would simply assign the 64-bit version of the callback, leaving 32-bit target unaffected (note: I didn't read the whole patch). Andreas -- SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg