qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] b03e4f: tests/guest-debug: catch hanging gues


From: Peter Maydell
Subject: [Qemu-commits] [qemu/qemu] b03e4f: tests/guest-debug: catch hanging guests
Date: Fri, 15 May 2020 09:00:31 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: b03e4ffffb1e4a34cb0985f5f5c4a2cfb272e697
      
https://github.com/qemu/qemu/commit/b03e4ffffb1e4a34cb0985f5f5c4a2cfb272e697
  Author: Alex Bennée <address@hidden>
  Date:   2020-05-15 (Fri, 15 May 2020)

  Changed paths:
    M tests/guest-debug/run-test.py

  Log Message:
  -----------
  tests/guest-debug: catch hanging guests

If gdb never actually connected with the guest we need to catch that
and clean-up after ourselves.

Signed-off-by: Alex Bennée <address@hidden>
Message-Id: <address@hidden>


  Commit: aae8b87e9c1658261f6c58ded9928d9ed24bdbef
      
https://github.com/qemu/qemu/commit/aae8b87e9c1658261f6c58ded9928d9ed24bdbef
  Author: Thomas Huth <address@hidden>
  Date:   2020-05-15 (Fri, 15 May 2020)

  Changed paths:
    M .travis.yml

  Log Message:
  -----------
  travis.yml: Improve the --disable-tcg test on s390x

Since the s390x containers do not allow KVM, we only compile-test
the --disable-tcg build on s390x and do not run the qtests. Thus,
it does not make sense to install genisoimage here, and it also does
not make sense to build the s390-ccw.img here again - it is simply
not used without the qtests.
On the other hand, if we do not build the s390-ccw.img anymore, we
can also compile with Clang - so let's use that compiler here to
get some additional test coverage.

Signed-off-by: Thomas Huth <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Cornelia Huck <address@hidden>
Signed-off-by: Alex Bennée <address@hidden>
Message-Id: <address@hidden>
Message-Id: <address@hidden>


  Commit: ee94743034bfb443cf246eda4971bdc15d8ee066
      
https://github.com/qemu/qemu/commit/ee94743034bfb443cf246eda4971bdc15d8ee066
  Author: Alex Bennée <address@hidden>
  Date:   2020-05-15 (Fri, 15 May 2020)

  Changed paths:
    M linux-user/elfload.c
    M linux-user/flatload.c
    M linux-user/main.c
    M linux-user/qemu.h

  Log Message:
  -----------
  linux-user: completely re-write init_guest_space

First we ensure all guest space initialisation logic comes through
probe_guest_base once we understand the nature of the binary we are
loading. The convoluted init_guest_space routine is removed and
replaced with a number of pgb_* helpers which are called depending on
what requirements we have when loading the binary.

We first try to do what is requested by the host. Failing that we try
and satisfy the guest requested base address. If all those options
fail we fall back to finding a space in the memory map using our
recently written read_self_maps() helper.

There are some additional complications we try and take into account
when looking for holes in the address space. We try not to go directly
after the system brk() space so there is space for a little growth. We
also don't want to have to use negative offsets which would result in
slightly less efficient code on x86 when it's unable to use the
segment offset register.

Less mind-binding gotos and hopefully clearer logic throughout.

Signed-off-by: Alex Bennée <address@hidden>
Acked-by: Laurent Vivier <address@hidden>

Message-Id: <address@hidden>


  Commit: e307c192ff95c7c30d1c2fa02409686d450c1ccd
      
https://github.com/qemu/qemu/commit/e307c192ff95c7c30d1c2fa02409686d450c1ccd
  Author: Richard Henderson <address@hidden>
  Date:   2020-05-15 (Fri, 15 May 2020)

  Changed paths:
    M bsd-user/main.c
    M include/exec/cpu-all.h
    M linux-user/main.c

  Log Message:
  -----------
  exec/cpu-all: Use bool for have_guest_base

Signed-off-by: Richard Henderson <address@hidden>
Signed-off-by: Alex Bennée <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Laurent Vivier <address@hidden>
Message-Id: <address@hidden>


  Commit: 7d8cbbabcb1234ffba9a946083073a5e01cdc020
      
https://github.com/qemu/qemu/commit/7d8cbbabcb1234ffba9a946083073a5e01cdc020
  Author: Richard Henderson <address@hidden>
  Date:   2020-05-15 (Fri, 15 May 2020)

  Changed paths:
    M accel/tcg/translate-all.c
    M include/exec/cpu-all.h
    M target/alpha/cpu-param.h

  Log Message:
  -----------
  accel/tcg: Relax va restrictions on 64-bit guests

We cannot at present limit a 64-bit guest to a virtual address
space smaller than the host.  It will mostly work to ignore this
limitation, except if the guest uses high bits of the address
space for tags.  But it will certainly work better, as presently
we can wind up failing to allocate the guest stack.

Widen our user-only page tree to the host or abi pointer width.
Remove the workaround for this problem from target/alpha.
Always validate guest addresses vs reserved_va, as there we
control allocation ourselves.

Signed-off-by: Richard Henderson <address@hidden>
Signed-off-by: Alex Bennée <address@hidden>

Message-Id: <address@hidden>


  Commit: 6a7aa856c59fba11c119fd2f62a2dbd03f8ca08f
      
https://github.com/qemu/qemu/commit/6a7aa856c59fba11c119fd2f62a2dbd03f8ca08f
  Author: Alex Bennée <address@hidden>
  Date:   2020-05-15 (Fri, 15 May 2020)

  Changed paths:
    M accel/tcg/trace-events

  Log Message:
  -----------
  accel/tcg: don't disable exec_tb trace events

I doubt the well predicted trace event check is particularly special in
the grand context of TCG code execution.

Signed-off-by: Alex Bennée <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Message-Id: <address@hidden>


  Commit: e5ef4ec28b801155e20fdb3a4cd21920ffc5f1af
      
https://github.com/qemu/qemu/commit/e5ef4ec28b801155e20fdb3a4cd21920ffc5f1af
  Author: Alex Bennée <address@hidden>
  Date:   2020-05-15 (Fri, 15 May 2020)

  Changed paths:
    M accel/tcg/translate-all.c
    M disas.c
    M include/disas/disas.h
    M include/exec/log.h
    M tcg/tcg.c

  Log Message:
  -----------
  disas: include an optional note for the start of disassembly

This will become useful shortly for providing more information about
output assembly inline. While there fix up the indenting and code
formatting in disas().

Signed-off-by: Alex Bennée <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>

Message-Id: <address@hidden>


  Commit: 16b22e02b57e403568b471511e0b2a70789c94df
      
https://github.com/qemu/qemu/commit/16b22e02b57e403568b471511e0b2a70789c94df
  Author: Alex Bennée <address@hidden>
  Date:   2020-05-15 (Fri, 15 May 2020)

  Changed paths:
    M disas.c

  Log Message:
  -----------
  disas: add optional note support to cap_disas

Include support for outputting a note at the top of a chunk of
disassembly to capstone as well.

Signed-off-by: Alex Bennée <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>

Message-Id: <address@hidden>


  Commit: 5f0df0333b20be816ae54a3fa6476f79f9da160e
      
https://github.com/qemu/qemu/commit/5f0df0333b20be816ae54a3fa6476f79f9da160e
  Author: Alex Bennée <address@hidden>
  Date:   2020-05-15 (Fri, 15 May 2020)

  Changed paths:
    M accel/tcg/translate-all.c

  Log Message:
  -----------
  translate-all: include guest address in out_asm output

We already have information about where each guest instructions
representation starts stored in the tcg_ctx->gen_insn_data so we can
rectify the PC for faults. We can re-use this information to annotate
the out_asm output with guest instruction address which makes it a bit
easier to work out where you are especially with longer blocks. A
minor wrinkle is that some instructions get optimised away so we have
to scan forward until we find some actual generated code.

Signed-off-by: Alex Bennée <address@hidden>

Message-Id: <address@hidden>


  Commit: d2f6dc0790b5a87adb91b150c6a1a88163a0e2d5
      
https://github.com/qemu/qemu/commit/d2f6dc0790b5a87adb91b150c6a1a88163a0e2d5
  Author: Philippe Mathieu-Daudé <address@hidden>
  Date:   2020-05-15 (Fri, 15 May 2020)

  Changed paths:
    M include/qemu/plugin.h

  Log Message:
  -----------
  qemu/plugin: Trivial code movement

Move the qemu_plugin_event enum declaration earlier.
This will make the next commit easier to review.

Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Emilio G. Cota <address@hidden>
Signed-off-by: Alex Bennée <address@hidden>
Message-Id: <address@hidden>
Message-Id: <address@hidden>


  Commit: 1b9905ca0a7fdfdb691131646ee311e7e7dd1dda
      
https://github.com/qemu/qemu/commit/1b9905ca0a7fdfdb691131646ee311e7e7dd1dda
  Author: Philippe Mathieu-Daudé <address@hidden>
  Date:   2020-05-15 (Fri, 15 May 2020)

  Changed paths:
    M include/qemu/plugin.h

  Log Message:
  -----------
  qemu/plugin: Move !CONFIG_PLUGIN stubs altogether

Simplify the ifdef'ry by moving all stubs together.

Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Emilio G. Cota <address@hidden>
Signed-off-by: Alex Bennée <address@hidden>
Message-Id: <address@hidden>
Message-Id: <address@hidden>


  Commit: 308e7549642eb74b9671b94dd56d1e20773c358a
      
https://github.com/qemu/qemu/commit/308e7549642eb74b9671b94dd56d1e20773c358a
  Author: Philippe Mathieu-Daudé <address@hidden>
  Date:   2020-05-15 (Fri, 15 May 2020)

  Changed paths:
    M include/qemu/qemu-plugin.h
    M plugins/api.c

  Log Message:
  -----------
  qemu/qemu-plugin: Make qemu_plugin_hwaddr_is_io() hwaddr argument const

Rename qemu_plugin_hwaddr_is_io() address argument 'haddr'
similarly to qemu_plugin_hwaddr_device_offset(), and make
it const.

Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Emilio G. Cota <address@hidden>
Signed-off-by: Alex Bennée <address@hidden>
Message-Id: <address@hidden>
Message-Id: <address@hidden>


  Commit: adf1cfbdc29e6e3342ca07701be4d2cbfd7d3907
      
https://github.com/qemu/qemu/commit/adf1cfbdc29e6e3342ca07701be4d2cbfd7d3907
  Author: Alex Bennée <address@hidden>
  Date:   2020-05-15 (Fri, 15 May 2020)

  Changed paths:
    M MAINTAINERS

  Log Message:
  -----------
  MAINTAINERS: update the orphaned cpus-common.c file

We forgot to update MAINTAINERS when this code was re-factored.

Fixes: 267f685b8b
Signed-off-by: Alex Bennée <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Message-Id: <address@hidden>


  Commit: 66706192de113c82ecf849f6943878c453b5d2ba
      
https://github.com/qemu/qemu/commit/66706192de113c82ecf849f6943878c453b5d2ba
  Author: Peter Maydell <address@hidden>
  Date:   2020-05-15 (Fri, 15 May 2020)

  Changed paths:
    M .travis.yml
    M MAINTAINERS
    M accel/tcg/trace-events
    M accel/tcg/translate-all.c
    M bsd-user/main.c
    M disas.c
    M include/disas/disas.h
    M include/exec/cpu-all.h
    M include/exec/log.h
    M include/qemu/plugin.h
    M include/qemu/qemu-plugin.h
    M linux-user/elfload.c
    M linux-user/flatload.c
    M linux-user/main.c
    M linux-user/qemu.h
    M plugins/api.c
    M target/alpha/cpu-param.h
    M tcg/tcg.c
    M tests/guest-debug/run-test.py

  Log Message:
  -----------
  Merge remote-tracking branch 
'remotes/stsquad/tags/pull-testing-tcg-plugins-150520-2' into staging

Various testing, tcg and plugin updates

  - fix bug in gdbstub tests that leave hanging QEMUs
  - tweak s390x travis test
  - re-factor guest_base handling
  - support "notes" in disassembler output
  - include guest address notes in out_asm
  - cleanup plugin headers and and constify hwaddr
  - updates MAINTAINERS for cpu-common.c

# gpg: Signature made Fri 15 May 2020 15:40:40 BST
# gpg:                using RSA key 6685AE99E75167BCAFC8DF35FBD0DB095A9E2A44
# gpg: Good signature from "Alex Bennée (Master Work Key) <address@hidden>" 
[full]
# Primary key fingerprint: 6685 AE99 E751 67BC AFC8  DF35 FBD0 DB09 5A9E 2A44

* remotes/stsquad/tags/pull-testing-tcg-plugins-150520-2:
  MAINTAINERS: update the orphaned cpus-common.c file
  qemu/qemu-plugin: Make qemu_plugin_hwaddr_is_io() hwaddr argument const
  qemu/plugin: Move !CONFIG_PLUGIN stubs altogether
  qemu/plugin: Trivial code movement
  translate-all: include guest address in out_asm output
  disas: add optional note support to cap_disas
  disas: include an optional note for the start of disassembly
  accel/tcg: don't disable exec_tb trace events
  accel/tcg: Relax va restrictions on 64-bit guests
  exec/cpu-all: Use bool for have_guest_base
  linux-user: completely re-write init_guest_space
  travis.yml: Improve the --disable-tcg test on s390x
  tests/guest-debug: catch hanging guests

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


Compare: https://github.com/qemu/qemu/compare/2478b8ecd45f...66706192de11



reply via email to

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