On Wed, Jun 8, 2016 at 10:59 AM, Alistair Francis <alistair.fran...@xilinx.com> wrote: > Update the QEMU Cadence UART reset values to enable a direct Linux boot > without u-boot.
Hi Alistair, Could you expand a bit on this, I don't see any issues where direct booting is broken with the cadence uart for zynq or zynqmp. I did notice however that the earlycon for the cadence uart driver (in the kernel) does not set txen, which is possibly the cause for the delayed console output. Also I do see that there is a regression for xlnx-ep108 with qemu 2.6.0 where bringing up the additional cpus causes a RAM/ROM exec error (see below). If i remove cpu@1,2,3 from the dt it boots fine (ep108 kernel dt). qemu: fatal: Trying to execute code outside RAM or ROM at 0xffffffc000082000 PC=ffffffc000082000 SP=0000000000000000 X00=0000000034d5d91d X01=0000000000001122 X02=0000000000000000 X03=0000000000000000 X04=0000000000000000 X05=ffffffc000084000 X06=0000000034d5d91d X07=0000000000000000 X08=0000000000000000 X09=0000000000000000 X10=00000032b5193519 X11=0000000000000000 X12=0000000000000000 X13=0000000000000000 X14=0000000000000000 X15=0000000000000000 X16=0000000000000000 X17=0000000000000000 X18=0000000000000000 X19=0000000000000000 X20=0000000000000e11 X21=ffffffc000ae8688 X22=0000000000000000 X23=0000000000000000 X24=0000000000000000 X25=0000000000b43000 X26=0000000000b46000 X27=ffffffc000082000 X28=0000000000000000 X29=0000000000000000 X30=0000000000081fec PSTATE=600003cd -ZC- EL3h --- ffffffc000082000 <__secondary_switched>: ffffffc000082000: f94002a0 ldr x0, [x21] ffffffc000082004: 9100001f mov sp, x0 ffffffc000082008: d280001d mov x29, #0x0 // #0 ffffffc00008200c: 14002d0b b ffffffc00008d438 <secondary_start_kernel> Regards, Nathan > > Signed-off-by: Alistair Francis <alistair.fran...@xilinx.com> > --- > In future versions of QEMU we can hopefully change the reset values from > the command line, but at the moment this is the best we can do. > > .../d3d0ed0cc451232fd5037d41d8e73de469c83cf6.patch | 31 > ++++++++++++++++++++++ > recipes-zynqmp/qemu/qemu_2.5%.bbappend | 1 + > 2 files changed, 32 insertions(+) > create mode 100644 > recipes-zynqmp/qemu/files/d3d0ed0cc451232fd5037d41d8e73de469c83cf6.patch > > diff --git > a/recipes-zynqmp/qemu/files/d3d0ed0cc451232fd5037d41d8e73de469c83cf6.patch > b/recipes-zynqmp/qemu/files/d3d0ed0cc451232fd5037d41d8e73de469c83cf6.patch > new file mode 100644 > index 0000000..930fcfc > --- /dev/null > +++ b/recipes-zynqmp/qemu/files/d3d0ed0cc451232fd5037d41d8e73de469c83cf6.patch > @@ -0,0 +1,31 @@ > +From d3d0ed0cc451232fd5037d41d8e73de469c83cf6 Mon Sep 17 00:00:00 2001 > +From: Alistair Francis <alistair.fran...@xilinx.com> > +Date: Tue, 7 Jun 2016 17:14:27 -0700 > +Subject: [PATCH] cadence_uart: Enable transmitter by default > + > +On hardware Linux relies on u-boot to enable the transmitter for the > +Cadence UART device. To allow direct Linux boots on QEMU change the > +default reset values to enable the transmitter by default. > + > +Signed-off-by: Alistair Francis <alistair.fran...@xilinx.com> > +Upstream-Status: Not Applicable > +--- > + hw/char/cadence_uart.c | 2 +- > + 1 file changed, 1 insertion(+), 1 deletion(-) > + > +diff --git a/hw/char/cadence_uart.c b/hw/char/cadence_uart.c > +index 9d379e5..c72ceb7 100644 > +--- a/hw/char/cadence_uart.c > ++++ b/hw/char/cadence_uart.c > +@@ -440,7 +440,7 @@ static void cadence_uart_reset(DeviceState *dev) > + { > + CadenceUARTState *s = CADENCE_UART(dev); > + > +- s->r[R_CR] = 0x00000128; > ++ s->r[R_CR] = 0x00000118; > + s->r[R_IMR] = 0; > + s->r[R_CISR] = 0; > + s->r[R_RTRIG] = 0x00000020; > +-- > +2.7.4 > + > diff --git a/recipes-zynqmp/qemu/qemu_2.5%.bbappend > b/recipes-zynqmp/qemu/qemu_2.5%.bbappend > index 6f7cb50..73ed23d 100644 > --- a/recipes-zynqmp/qemu/qemu_2.5%.bbappend > +++ b/recipes-zynqmp/qemu/qemu_2.5%.bbappend > @@ -5,5 +5,6 @@ SRC_URI += " \ > file://4054bfa9e7986c9b7d2bf70f9e10af9647e376fc.patch \ > file://8a83ffc2dafad3499b87a736b17ab1b203fdb00b.patch \ > file://978364f12adebb4b8d90fdeb71242cb3c1405740.patch \ > + file://d3d0ed0cc451232fd5037d41d8e73de469c83cf6.patch \ > " > > -- > 2.7.4 > > -- > _______________________________________________ > meta-xilinx mailing list > meta-xilinx@yoctoproject.org > https://lists.yoctoproject.org/listinfo/meta-xilinx -- _______________________________________________ meta-xilinx mailing list meta-xilinx@yoctoproject.org https://lists.yoctoproject.org/listinfo/meta-xilinx