On Mon, 6 Nov 2017 07:48:12 -0800 Andrey Smirnov <andrew.smir...@gmail.com> wrote:
> The following interfaces are partially or fully emulated: > > * up to 2 Cortex A9 cores (SMP works with PSCI) > * A7 MPCORE (identical to A15 MPCORE) > * 4 GPTs modules > * 7 GPIO controllers > * 2 IOMUXC controllers > * 1 CCM module > * 1 SVNS module > * 1 SRC module > * 1 GPCv2 controller > * 4 eCSPI controllers > * 4 I2C controllers > * 7 i.MX UART controllers > * 2 FlexCAN controllers > * 2 Ethernet controllers (FEC) > * 3 SD controllers (USDHC) > * 4 WDT modules > * 1 SDMA module > * 1 GPR module > * 2 USBMISC modules > * 2 ADC modules > * 1 PCIe controller > > Tested to boot and work with upstream Linux (4.13+) guest. > > Cc: Peter Maydell <peter.mayd...@linaro.org> > Cc: Jason Wang <jasow...@redhat.com> > Cc: Philippe Mathieu-Daudé <f4...@amsat.org> > Cc: qemu-devel@nongnu.org > Cc: qemu-...@nongnu.org > Cc: yurov...@gmail.com > Signed-off-by: Andrey Smirnov <andrew.smir...@gmail.com> > --- ... > + > +static void fsl_imx7_init(Object *obj) > +{ > + BusState *sysbus = sysbus_get_default(); > + FslIMX7State *s = FSL_IMX7(obj); > + char name[NAME_SIZE]; > + int i; > + > + if (smp_cpus > FSL_IMX7_NUM_CPUS) { > + error_report("%s: Only %d CPUs are supported (%d requested)", > + TYPE_FSL_IMX7, FSL_IMX7_NUM_CPUS, smp_cpus); > + exit(1); > + } > + > + for (i = 0; i < smp_cpus; i++) { > + object_initialize(&s->cpu[i], sizeof(s->cpu[i]), > + "cortex-a7-" TYPE_ARM_CPU); pls reuse ARM_CPU_TYPE_NAME() macro here > + snprintf(name, NAME_SIZE, "cpu%d", i); > + object_property_add_child(obj, name, OBJECT(&s->cpu[i]), > + &error_fatal); > + }