On Thu, Aug 31, 2017 at 4:40 PM, Philippe Mathieu-Daudé <f4...@amsat.org> wrote: > Hi Alistair, > > > On 08/31/2017 08:02 PM, Alistair Francis wrote: >> >> On Wed, Aug 30, 2017 at 7:47 AM, Philippe Mathieu-Daudé <f4...@amsat.org> >> wrote: >>> >>> On 08/30/2017 09:26 AM, Peter Maydell wrote: >>>> >>>> >>>> On 30 August 2017 at 03:45, Philippe Mathieu-Daudé <f4...@amsat.org> >>>> wrote: >>>>> >>>>> >>>>> I think they might be issues if you start QEMU without -serial and then >>>>> use >>>>> a firmware polling for an uart, the device won't be mapped and the >>>>> memory >>>>> accesses are mostly ignored. >>>>> >>>>> I'd rather use: >>>>> >>>>> for (i = 0; i < MSF2_NUM_UARTS && i < MAX_SERIAL_PORTS; i++) { >>>>> static const char *serial[] = {"serial0", "serial1"}; >>>>> >>>>> if (!serial_hds[i]) { >>>>> serial_hds[i] = qemu_chr_new(serial[i], "null"); >>>>> >>>>> } >>>>> >>>>>> + serial_mm_init(get_system_memory(), uart_addr[i], 2, >>>>>> + qdev_get_gpio_in(armv7m, uart_irq[i]), >>>>>> + 115200, serial_hds[i], >>>>>> DEVICE_NATIVE_ENDIAN); >>>>>> + } >>>>>> + } >>>> >>>> >>>> >>>> It would be better to fix serial_mm_init() to handle having >>>> a NULL chardev pointer, because we already have a lot of >>>> SoC code that just passes it serial_hds[] regardless. >>> >>> >>> >>> clever :) >>> >>>> I'd leave this code as it is and we can fix serial_mm_init >>>> separately (somebody pointed out this issue for a xilinx >>>> board recently). >> >> >> Ah, I'll look into this then. > > > I already sent a series to take care of this: > > http://lists.nongnu.org/archive/html/qemu-devel/2017-08/msg06325.html
That was quick. Can you CC me on the next version? Thanks, Alistair > > I'll respin a v2 shortly.