Hi Seth, On Wed, Nov 14, 2018 at 8:25 AM Seth K <[email protected]> wrote: > > I corrected these 2 memory regions based on specifications from the chip > manufacturer. The existing ranges seem to overlap and and cause odd > behavior and/or crashes when trying to set up multiple UARTs, > I also played with changing MAX_SERIAL_PORTS to 8 to match the hardware, > but I did not include that in this patch as I never fully tested its > effects. > This is my first patch, I hope I did it correctly, > Seth Kintigh
Welcome to QEMU, and thanks for your patch :) I checked the DocID15818 (Rev 15) datasheet for this chip and your patch is technically correct. I suggest the patch title as "hw/arm/stm32f205: Fix the UART and Timer region size" (note: use present rather than past). However for the legal stuff, the QEMU project states all patches "must include a Signed-off-by: line". Please have a look at the following page which explains everything you need to know in order to send useful contributions: https://wiki.qemu.org/Contribute/SubmitAPatch#Patch_emails_must_include_a_Signed-off-by:_line > --- Note than the commit message stay in the repository history forever. You can add information not related to the patch below the previous "---" line, it will be cut out when your patch is applied to the repository. Here would go your "This is my first patch, I hope I did it correctly" and signature. Regards, Phil. > hw/char/stm32f2xx_usart.c | 2 +- > hw/timer/stm32f2xx_timer.c | 2 +- > 2 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/hw/char/stm32f2xx_usart.c b/hw/char/stm32f2xx_usart.c > index 032b5fda13..f3363a2952 100644 > --- a/hw/char/stm32f2xx_usart.c > +++ b/hw/char/stm32f2xx_usart.c > @@ -202,7 +202,7 @@ static void stm32f2xx_usart_init(Object *obj) > sysbus_init_irq(SYS_BUS_DEVICE(obj), &s->irq); > > memory_region_init_io(&s->mmio, obj, &stm32f2xx_usart_ops, s, > - TYPE_STM32F2XX_USART, 0x2000); > + TYPE_STM32F2XX_USART, 0x400); > sysbus_init_mmio(SYS_BUS_DEVICE(obj), &s->mmio); > } > > diff --git a/hw/timer/stm32f2xx_timer.c b/hw/timer/stm32f2xx_timer.c > index 58fc7b1188..ae744d1642 100644 > --- a/hw/timer/stm32f2xx_timer.c > +++ b/hw/timer/stm32f2xx_timer.c > @@ -308,7 +308,7 @@ static void stm32f2xx_timer_init(Object *obj) > sysbus_init_irq(SYS_BUS_DEVICE(obj), &s->irq); > > memory_region_init_io(&s->iomem, obj, &stm32f2xx_timer_ops, s, > - "stm32f2xx_timer", 0x4000); > + "stm32f2xx_timer", 0x400); > sysbus_init_mmio(SYS_BUS_DEVICE(obj), &s->iomem); > > s->timer = timer_new_ns(QEMU_CLOCK_VIRTUAL, stm32f2xx_timer_interrupt, > s); > -- > 2.11.0
