mbox series

[PULL,v1,0/8] Xilinx queue

Message ID 1516103467-7983-1-git-send-email-edgar.iglesias@gmail.com
Headers show
Series Xilinx queue | expand

Message

Edgar E. Iglesias Jan. 16, 2018, 11:50 a.m. UTC
From: "Edgar E. Iglesias" <edgar.iglesias@xilinx.com>

The following changes since commit f521eeee3bd060b460c99e605472b7e03967db43:

  Merge remote-tracking branch 'remotes/juanquintela/tags/migration/20180115' into staging (2018-01-15 13:17:47 +0000)

are available in the git repository at:

  git@github.com:edgarigl/qemu.git tags/edgar/xilinx-next-2018-01.for-upstream

for you to fetch changes up to e451272ac191cd3ac408bc89ea63a401e84d4224:

  xlnx-zynqmp: Connect the IPI device to the ZynqMP SoC (2018-01-16 11:44:49 +0100)

----------------------------------------------------------------
Xilinx queue

----------------------------------------------------------------
Alistair Francis (8):
      xlnx-zynqmp-pmu: Initial commit of the ZynqMP PMU
      xlnx-zynqmp-pmu: Add the CPU and memory
      aarch64-softmmu.mak: Use an ARM specific config
      xlnx-pmu-iomod-intc: Add the PMU Interrupt controller
      xlnx-zynqmp-pmu: Connect the PMU interrupt controller
      xlnx-zynqmp-ipi: Initial version of the Xilinx IPI device
      xlnx-zynqmp-pmu: Connect the IPI device to the PMU
      xlnx-zynqmp: Connect the IPI device to the ZynqMP SoC

 default-configs/aarch64-softmmu.mak    |   1 +
 default-configs/microblaze-softmmu.mak |   1 +
 hw/arm/Makefile.objs                   |   2 +-
 hw/arm/xlnx-zynqmp.c                   |  14 +
 hw/display/Makefile.objs               |   2 +-
 hw/dma/Makefile.objs                   |   2 +-
 hw/intc/Makefile.objs                  |   2 +
 hw/intc/xlnx-pmu-iomod-intc.c          | 554 +++++++++++++++++++++++++++++++++
 hw/intc/xlnx-zynqmp-ipi.c              | 377 ++++++++++++++++++++++
 hw/microblaze/Makefile.objs            |   1 +
 hw/microblaze/xlnx-zynqmp-pmu.c        | 204 ++++++++++++
 include/hw/arm/xlnx-zynqmp.h           |   2 +
 include/hw/intc/xlnx-pmu-iomod-intc.h  |  58 ++++
 include/hw/intc/xlnx-zynqmp-ipi.h      |  57 ++++
 14 files changed, 1274 insertions(+), 3 deletions(-)
 create mode 100644 hw/intc/xlnx-pmu-iomod-intc.c
 create mode 100644 hw/intc/xlnx-zynqmp-ipi.c
 create mode 100644 hw/microblaze/xlnx-zynqmp-pmu.c
 create mode 100644 include/hw/intc/xlnx-pmu-iomod-intc.h
 create mode 100644 include/hw/intc/xlnx-zynqmp-ipi.h

Alistair Francis (8):
  xlnx-zynqmp-pmu: Initial commit of the ZynqMP PMU
  xlnx-zynqmp-pmu: Add the CPU and memory
  aarch64-softmmu.mak: Use an ARM specific config
  xlnx-pmu-iomod-intc: Add the PMU Interrupt controller
  xlnx-zynqmp-pmu: Connect the PMU interrupt controller
  xlnx-zynqmp-ipi: Initial version of the Xilinx IPI device
  xlnx-zynqmp-pmu: Connect the IPI device to the PMU
  xlnx-zynqmp: Connect the IPI device to the ZynqMP SoC

 default-configs/aarch64-softmmu.mak    |   1 +
 default-configs/microblaze-softmmu.mak |   1 +
 hw/arm/Makefile.objs                   |   2 +-
 hw/arm/xlnx-zynqmp.c                   |  14 +
 hw/display/Makefile.objs               |   2 +-
 hw/dma/Makefile.objs                   |   2 +-
 hw/intc/Makefile.objs                  |   2 +
 hw/intc/xlnx-pmu-iomod-intc.c          | 554 +++++++++++++++++++++++++++++++++
 hw/intc/xlnx-zynqmp-ipi.c              | 377 ++++++++++++++++++++++
 hw/microblaze/Makefile.objs            |   1 +
 hw/microblaze/xlnx-zynqmp-pmu.c        | 204 ++++++++++++
 include/hw/arm/xlnx-zynqmp.h           |   2 +
 include/hw/intc/xlnx-pmu-iomod-intc.h  |  58 ++++
 include/hw/intc/xlnx-zynqmp-ipi.h      |  57 ++++
 14 files changed, 1274 insertions(+), 3 deletions(-)
 create mode 100644 hw/intc/xlnx-pmu-iomod-intc.c
 create mode 100644 hw/intc/xlnx-zynqmp-ipi.c
 create mode 100644 hw/microblaze/xlnx-zynqmp-pmu.c
 create mode 100644 include/hw/intc/xlnx-pmu-iomod-intc.h
 create mode 100644 include/hw/intc/xlnx-zynqmp-ipi.h

Comments

Peter Maydell Jan. 16, 2018, 2:17 p.m. UTC | #1
On 16 January 2018 at 11:50, Edgar E. Iglesias <edgar.iglesias@gmail.com> wrote:
> From: "Edgar E. Iglesias" <edgar.iglesias@xilinx.com>
>
> The following changes since commit f521eeee3bd060b460c99e605472b7e03967db43:
>
>   Merge remote-tracking branch 'remotes/juanquintela/tags/migration/20180115' into staging (2018-01-15 13:17:47 +0000)
>
> are available in the git repository at:
>
>   git@github.com:edgarigl/qemu.git tags/edgar/xilinx-next-2018-01.for-upstream
>
> for you to fetch changes up to e451272ac191cd3ac408bc89ea63a401e84d4224:
>
>   xlnx-zynqmp: Connect the IPI device to the ZynqMP SoC (2018-01-16 11:44:49 +0100)
>
> ----------------------------------------------------------------
> Xilinx queue
>
> ----------------------------------------------------------------
> Alistair Francis (8):
>       xlnx-zynqmp-pmu: Initial commit of the ZynqMP PMU
>       xlnx-zynqmp-pmu: Add the CPU and memory
>       aarch64-softmmu.mak: Use an ARM specific config
>       xlnx-pmu-iomod-intc: Add the PMU Interrupt controller
>       xlnx-zynqmp-pmu: Connect the PMU interrupt controller
>       xlnx-zynqmp-ipi: Initial version of the Xilinx IPI device
>       xlnx-zynqmp-pmu: Connect the IPI device to the PMU
>       xlnx-zynqmp: Connect the IPI device to the ZynqMP SoC
>

Hi -- this trips some new runtime sanitizer warnings:

  GTESTER check-qtest-microblaze
/home/petmay01/linaro/qemu-for-merges/vl.c:2279:16: runtime error:
null pointer passed as argument 1, which is declared to never be null
/usr/include/unistd.h:290:60: note: nonnull attribute specified here
/home/petmay01/linaro/qemu-for-merges/vl.c:2279:16: runtime error:
null pointer passed as argument 1, which is declared to never be null
/usr/include/unistd.h:290:60: note: nonnull attribute specified here
make: Leaving directory '/home/petmay01/linaro/qemu-for-merges/build/clang'
make: Entering directory '/home/petmay01/linaro/qemu-for-merges/build/clang'
  GTESTER check-qtest-microblazeel
/home/petmay01/linaro/qemu-for-merges/vl.c:2279:16: runtime error:
null pointer passed as argument 1, which is declared to never be null
/usr/include/unistd.h:290:60: note: nonnull attribute specified here
/home/petmay01/linaro/qemu-for-merges/vl.c:2279:16: runtime error:
null pointer passed as argument 1, which is declared to never be null
/usr/include/unistd.h:290:60: note: nonnull attribute specified here

This is because you've called qemu_find_file() with a NULL pointer
(which it then passes to access(), which it isn't valid to call with
a NULL pathname argument). Backtrace:

#0  0x0000555555e446c1 in qemu_find_file (type=0, name=0x0)
    at /home/petmay01/linaro/qemu-for-merges/vl.c:2279
#1  0x0000555555dfd693 in microblaze_load_kernel (cpu=0x55555824da28,
ddr_base=<optimised out>, ramsize=0, initrd_filename=<optimised out>,
dtb_filename=0x0, machine_cpu_reset=0x0)
    at /home/petmay01/linaro/qemu-for-merges/hw/microblaze/boot.c:128
#2  0x0000555555dfd519 in xlnx_zynqmp_pmu_init (machine=<optimised out>)
    at /home/petmay01/linaro/qemu-for-merges/hw/microblaze/xlnx-zynqmp-pmu.c:190
#3  0x0000555555f2fd5d in machine_run_board_init (machine=<optimised out>)
    at /home/petmay01/linaro/qemu-for-merges/hw/core/machine.c:792
#4  0x0000555555e4a357 in main (argc=<optimised out>, argv=<optimised
out>, envp=<optimised out>)
    at /home/petmay01/linaro/qemu-for-merges/vl.c:4622

thanks
-- PMM
Edgar E. Iglesias Jan. 16, 2018, 2:49 p.m. UTC | #2
On Tue, Jan 16, 2018 at 02:17:04PM +0000, Peter Maydell wrote:
> On 16 January 2018 at 11:50, Edgar E. Iglesias <edgar.iglesias@gmail.com> wrote:
> > From: "Edgar E. Iglesias" <edgar.iglesias@xilinx.com>
> >
> > The following changes since commit f521eeee3bd060b460c99e605472b7e03967db43:
> >
> >   Merge remote-tracking branch 'remotes/juanquintela/tags/migration/20180115' into staging (2018-01-15 13:17:47 +0000)
> >
> > are available in the git repository at:
> >
> >   git@github.com:edgarigl/qemu.git tags/edgar/xilinx-next-2018-01.for-upstream
> >
> > for you to fetch changes up to e451272ac191cd3ac408bc89ea63a401e84d4224:
> >
> >   xlnx-zynqmp: Connect the IPI device to the ZynqMP SoC (2018-01-16 11:44:49 +0100)
> >
> > ----------------------------------------------------------------
> > Xilinx queue
> >
> > ----------------------------------------------------------------
> > Alistair Francis (8):
> >       xlnx-zynqmp-pmu: Initial commit of the ZynqMP PMU
> >       xlnx-zynqmp-pmu: Add the CPU and memory
> >       aarch64-softmmu.mak: Use an ARM specific config
> >       xlnx-pmu-iomod-intc: Add the PMU Interrupt controller
> >       xlnx-zynqmp-pmu: Connect the PMU interrupt controller
> >       xlnx-zynqmp-ipi: Initial version of the Xilinx IPI device
> >       xlnx-zynqmp-pmu: Connect the IPI device to the PMU
> >       xlnx-zynqmp: Connect the IPI device to the ZynqMP SoC
> >
> 
> Hi -- this trips some new runtime sanitizer warnings:


Hi Peter,

This didn't show up on my clang testing, do you mind sharing configure line and clang version you use?

@Alistair, it does seem like the call to microblaze_load_kernel is passing wrong arguments.
Can you have a look?

Cheers,
Edgar



> 
>   GTESTER check-qtest-microblaze
> /home/petmay01/linaro/qemu-for-merges/vl.c:2279:16: runtime error:
> null pointer passed as argument 1, which is declared to never be null
> /usr/include/unistd.h:290:60: note: nonnull attribute specified here
> /home/petmay01/linaro/qemu-for-merges/vl.c:2279:16: runtime error:
> null pointer passed as argument 1, which is declared to never be null
> /usr/include/unistd.h:290:60: note: nonnull attribute specified here
> make: Leaving directory '/home/petmay01/linaro/qemu-for-merges/build/clang'
> make: Entering directory '/home/petmay01/linaro/qemu-for-merges/build/clang'
>   GTESTER check-qtest-microblazeel
> /home/petmay01/linaro/qemu-for-merges/vl.c:2279:16: runtime error:
> null pointer passed as argument 1, which is declared to never be null
> /usr/include/unistd.h:290:60: note: nonnull attribute specified here
> /home/petmay01/linaro/qemu-for-merges/vl.c:2279:16: runtime error:
> null pointer passed as argument 1, which is declared to never be null
> /usr/include/unistd.h:290:60: note: nonnull attribute specified here
> 
> This is because you've called qemu_find_file() with a NULL pointer
> (which it then passes to access(), which it isn't valid to call with
> a NULL pathname argument). Backtrace:
> 
> #0  0x0000555555e446c1 in qemu_find_file (type=0, name=0x0)
>     at /home/petmay01/linaro/qemu-for-merges/vl.c:2279
> #1  0x0000555555dfd693 in microblaze_load_kernel (cpu=0x55555824da28,
> ddr_base=<optimised out>, ramsize=0, initrd_filename=<optimised out>,
> dtb_filename=0x0, machine_cpu_reset=0x0)
>     at /home/petmay01/linaro/qemu-for-merges/hw/microblaze/boot.c:128
> #2  0x0000555555dfd519 in xlnx_zynqmp_pmu_init (machine=<optimised out>)
>     at /home/petmay01/linaro/qemu-for-merges/hw/microblaze/xlnx-zynqmp-pmu.c:190
> #3  0x0000555555f2fd5d in machine_run_board_init (machine=<optimised out>)
>     at /home/petmay01/linaro/qemu-for-merges/hw/core/machine.c:792
> #4  0x0000555555e4a357 in main (argc=<optimised out>, argv=<optimised
> out>, envp=<optimised out>)
>     at /home/petmay01/linaro/qemu-for-merges/vl.c:4622
> 
> thanks
> -- PMM
Peter Maydell Jan. 16, 2018, 2:54 p.m. UTC | #3
On 16 January 2018 at 14:49, Edgar E. Iglesias
<edgar.iglesias@xilinx.com> wrote:
> This didn't show up on my clang testing, do you mind sharing configure line and clang version you use?
>
> @Alistair, it does seem like the call to microblaze_load_kernel is passing wrong arguments.
> Can you have a look?

exec '../../configure' '--cc=clang' '--cxx=clang++' '--enable-gtk'
'--extra-cflags=-fsanitize=undefined  -fno-sanitize=shift-base
-Werror' "$@"

with clang version 3.8.0-2ubuntu4 (tags/RELEASE_380/final)
on ubuntu xenial.

thanks
-- PMM
Alistair Francis Jan. 16, 2018, 10:45 p.m. UTC | #4
On Tue, Jan 16, 2018 at 6:54 AM, Peter Maydell <peter.maydell@linaro.org> wrote:
> On 16 January 2018 at 14:49, Edgar E. Iglesias
> <edgar.iglesias@xilinx.com> wrote:
>> This didn't show up on my clang testing, do you mind sharing configure line and clang version you use?
>>
>> @Alistair, it does seem like the call to microblaze_load_kernel is passing wrong arguments.
>> Can you have a look?
>
> exec '../../configure' '--cc=clang' '--cxx=clang++' '--enable-gtk'
> '--extra-cflags=-fsanitize=undefined  -fno-sanitize=shift-base
> -Werror' "$@"
>
> with clang version 3.8.0-2ubuntu4 (tags/RELEASE_380/final)
> on ubuntu xenial.

Ok, should be fixed in v5, just running though one more test then I'll
send the patches out.

Alistair

>
> thanks
> -- PMM
>