qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] 9bbb4e: target/arm: Add missing break stateme


From: Peter Maydell
Subject: [Qemu-commits] [qemu/qemu] 9bbb4e: target/arm: Add missing break statement for Hyperv...
Date: Mon, 22 Jul 2019 07:50:17 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 9bbb4ef991fa93323f87769a6e217c2b9273a128
      
https://github.com/qemu/qemu/commit/9bbb4ef991fa93323f87769a6e217c2b9273a128
  Author: Philippe Mathieu-Daudé <address@hidden>
  Date:   2019-07-22 (Mon, 22 Jul 2019)

  Changed paths:
    M target/arm/helper.c

  Log Message:
  -----------
  target/arm: Add missing break statement for Hypervisor Trap Exception

Reported by GCC9 when building with  -Wimplicit-fallthrough=2:

  target/arm/helper.c: In function ‘arm_cpu_do_interrupt_aarch32_hyp’:
  target/arm/helper.c:7958:14: error: this statement may fall through 
[-Werror=implicit-fallthrough=]
   7958 |         addr = 0x14;
        |         ~~~~~^~~~~~
  target/arm/helper.c:7959:5: note: here
   7959 |     default:
        |     ^~~~~~~
  cc1: all warnings being treated as errors

Fixes: b9bc21ff9f9
Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
Reported-by: Stefan Weil <address@hidden>
Reviewed-by: Peter Maydell <address@hidden>
Message-id: address@hidden
Signed-off-by: Peter Maydell <address@hidden>


  Commit: bc8c2ecfd07ade1f6b47f6f48929487409e578ff
      
https://github.com/qemu/qemu/commit/bc8c2ecfd07ade1f6b47f6f48929487409e578ff
  Author: Peter Maydell <address@hidden>
  Date:   2019-07-22 (Mon, 22 Jul 2019)

  Changed paths:
    M hw/arm/fsl-imx6ul.c
    M hw/arm/mcimx6ul-evk.c
    M include/hw/arm/fsl-imx6ul.h

  Log Message:
  -----------
  hw/arm/fsl-imx6ul.c: Remove dead SMP-related code

The i.MX6UL always has a single Cortex-A7 CPU (we set FSL_IMX6UL_NUM_CPUS
to 1 in line with this). This means that all the code in fsl-imx6ul.c to
handle multiple CPUs is dead code, and Coverity is now complaining that
it is unreachable (CID 1403008, 1403011).

Remove the unreachable code and the only-executes-once loops,
and replace the single-entry cpu[] array in the FSLIMX6ULState
with a simple cpu member.

Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Tested-by: Philippe Mathieu-Daudé <address@hidden>
Message-id: address@hidden


  Commit: 8f4821d77e465bc2ef77302d47640d5a43d92b30
      
https://github.com/qemu/qemu/commit/8f4821d77e465bc2ef77302d47640d5a43d92b30
  Author: Peter Maydell <address@hidden>
  Date:   2019-07-22 (Mon, 22 Jul 2019)

  Changed paths:
    M target/arm/cpu.c

  Log Message:
  -----------
  target/arm: Limit ID register assertions to TCG

In arm_cpu_realizefn() we make several assertions about the values of
guest ID registers:
 * if the CPU provides AArch32 v7VE or better it must advertise the
   ARM_DIV feature
 * if the CPU provides AArch32 A-profile v6 or better it must
   advertise the Jazelle feature

These are essentially consistency checks that our ID register
specifications in cpu.c didn't accidentally miss out a feature,
because increasingly the TCG emulation gates features on the values
in ID registers rather than using old-style checks of ARM_FEATURE_FOO
bits.

Unfortunately, these asserts can cause problems if we're running KVM,
because in that case we don't control the values of the ID registers
-- we read them from the host kernel.  In particular, if the host
kernel is older than 4.15 then it doesn't expose the ID registers via
the KVM_GET_ONE_REG ioctl, and we set up dummy values for some
registers and leave the rest at zero.  (See the comment in
target/arm/kvm64.c kvm_arm_get_host_cpu_features().) This set of
dummy values is not sufficient to pass our assertions, and so on
those kernels running an AArch32 guest on AArch64 will assert.

We could provide a more sophisticated set of dummy ID registers in
this case, but that still leaves the possibility of a host CPU which
reports bogus ID register values that would cause us to assert.  It's
more robust to only do these ID register checks if we're using TCG,
as that is the only case where this is truly a QEMU code bug.

Reported-by: Laszlo Ersek <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Tested-by: Laszlo Ersek <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>
Message-id: address@hidden
Fixes: https://bugs.launchpad.net/qemu/+bug/1830864
Signed-off-by: Peter Maydell <address@hidden>


  Commit: a3e3b5217b35424e8c28c573a425c5e5c9b4f59d
      
https://github.com/qemu/qemu/commit/a3e3b5217b35424e8c28c573a425c5e5c9b4f59d
  Author: Peter Maydell <address@hidden>
  Date:   2019-07-22 (Mon, 22 Jul 2019)

  Changed paths:
    M configure

  Log Message:
  -----------
  configure: Clarify URL to source downloads

If configure detects that it's being run on a source tree which
is missing git modules, it prints an error messages suggesting
that the user downloads a correct source archive from the project
website. However https://www.qemu.org/download/ is a link to a
page with multiple tabs, with the default being the one telling
users how to get binaries from their distro. Clarify the URL
we print to include the #source anchor, so that the browser will
go directly to the source-tarball instructions.

Reported-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Thomas Huth <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Stefan Weil <address@hidden>
Tested-by: Philippe Mathieu-Daudé <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>
Message-id: address@hidden
Suggested-by: Stefan Weil <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>


  Commit: ddb45afbfbc639365d6c934e4e29f6de5e5e2a0e
      
https://github.com/qemu/qemu/commit/ddb45afbfbc639365d6c934e4e29f6de5e5e2a0e
  Author: Peter Maydell <address@hidden>
  Date:   2019-07-22 (Mon, 22 Jul 2019)

  Changed paths:
    M Makefile
    M contrib/elf2dmp/Makefile.objs

  Log Message:
  -----------
  contrib/elf2dmp: Build download.o with CURL_CFLAGS

contrib/elf2dmp has a source file which uses curl/curl.h;
although we link the final executable with CURL_LIBS, we
forgot to build this source file with CURL_CFLAGS, so if
the curl header is in a place that's not already on the
system include path then it will fail to build.

Add a line specifying the cflags needed for download.o;
while we are here, bring the specification of the libs
into line with this, since using a per-object variable
setting is preferred over adding them to the final
executable link line.

Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Marc-André Lureau <address@hidden>
Message-id: address@hidden


  Commit: 23da9e297b4120ca9702cabec91599a44255fe96
      
https://github.com/qemu/qemu/commit/23da9e297b4120ca9702cabec91599a44255fe96
  Author: Peter Maydell <address@hidden>
  Date:   2019-07-22 (Mon, 22 Jul 2019)

  Changed paths:
    M Makefile
    M configure
    M contrib/elf2dmp/Makefile.objs
    M hw/arm/fsl-imx6ul.c
    M hw/arm/mcimx6ul-evk.c
    M include/hw/arm/fsl-imx6ul.h
    M target/arm/cpu.c
    M target/arm/helper.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20190722' 
into staging

target-arm queue:
 * target/arm: Add missing break statement for Hypervisor Trap Exception
   (fixes handling of SMC insn taken to AArch32 Hyp mode via HCR.TSC)
 * hw/arm/fsl-imx6ul.c: Remove dead SMP-related code
 * target/arm: Limit ID register assertions to TCG
 * configure: Clarify URL to source downloads
 * contrib/elf2dmp: Build download.o with CURL_CFLAGS

# gpg: Signature made Mon 22 Jul 2019 14:13:31 BST
# gpg:                using RSA key E1A5C593CD419DE28E8315CF3C2525ED14360CDE
# gpg:                issuer "address@hidden"
# gpg: Good signature from "Peter Maydell <address@hidden>" [ultimate]
# gpg:                 aka "Peter Maydell <address@hidden>" [ultimate]
# gpg:                 aka "Peter Maydell <address@hidden>" [ultimate]
# Primary key fingerprint: E1A5 C593 CD41 9DE2 8E83  15CF 3C25 25ED 1436 0CDE

* remotes/pmaydell/tags/pull-target-arm-20190722:
  contrib/elf2dmp: Build download.o with CURL_CFLAGS
  configure: Clarify URL to source downloads
  target/arm: Limit ID register assertions to TCG
  hw/arm/fsl-imx6ul.c: Remove dead SMP-related code
  target/arm: Add missing break statement for Hypervisor Trap Exception

Signed-off-by: Peter Maydell <address@hidden>


Compare: https://github.com/qemu/qemu/compare/9d2e1fcd14c2...23da9e297b41



reply via email to

[Prev in Thread] Current Thread [Next in Thread]