qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] 9f9dcb: target/i386/tcg: Fix masking of real-


From: Richard Henderson
Subject: [Qemu-commits] [qemu/qemu] 9f9dcb: target/i386/tcg: Fix masking of real-mode addresse...
Date: Mon, 06 Jun 2022 08:00:38 -0700

  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: 9f9dcb96a46a60fcf95f7baebafa3ec5e2a1b5ce
      
https://github.com/qemu/qemu/commit/9f9dcb96a46a60fcf95f7baebafa3ec5e2a1b5ce
  Author: Stephen Michael Jothen <sjothen@gmail.com>
  Date:   2022-06-06 (Mon, 06 Jun 2022)

  Changed paths:
    M target/i386/tcg/sysemu/excp_helper.c

  Log Message:
  -----------
  target/i386/tcg: Fix masking of real-mode addresses with A20 bit

The correct A20 masking is done if paging is enabled (protected mode) but it
seems to have been forgotten in real mode. For example from the AMD64 APM Vol. 2
section 1.2.4:

> If the sum of the segment base and effective address carries over into bit 20,
> that bit can be optionally truncated to mimic the 20-bit address wrapping of 
> the
> 8086 processor by using the A20M# input signal to mask the A20 address bit.

Most BIOSes will enable the A20 line on boot, but I found by disabling the A20 
line
afterwards, the correct wrapping wasn't taking place.

`handle_mmu_fault' in target/i386/tcg/sysemu/excp_helper.c seems to be the 
culprit.
In real mode, it fills the TLB with the raw unmasked address. However, for the
protected mode, the `mmu_translate' function does the correct A20 masking.

The fix then should be to just apply the A20 mask in the first branch of the if
statement.

Signed-off-by: Stephen Michael Jothen <sjothen@gmail.com>
Message-Id: <Yo5MUMSz80jXtvt9@air-old.local>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: d8f3a60931a700c327aa2ee10d0beaeea2cb97da
      
https://github.com/qemu/qemu/commit/d8f3a60931a700c327aa2ee10d0beaeea2cb97da
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2022-06-06 (Mon, 06 Jun 2022)

  Changed paths:
    M meson.build

  Log Message:
  -----------
  build: add a "make modules" target

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: b0f3184e82817b700ea81bc76ebc8d999de35278
      
https://github.com/qemu/qemu/commit/b0f3184e82817b700ea81bc76ebc8d999de35278
  Author: Yang Zhong <yang.zhong@intel.com>
  Date:   2022-06-06 (Mon, 06 Jun 2022)

  Changed paths:
    M target/i386/cpu.c

  Log Message:
  -----------
  target/i386: Fix wrong count setting

The previous patch used wrong count setting with index value, which got wrong
value from CPUID(EAX=12,ECX=0):EAX. So the SGX1 instruction can't be exposed
to VM and the SGX decice can't work in VM.

Fixes: d19d6ffa0710 ("target/i386: introduce helper to access supported CPUID")

Signed-off-by: Yang Zhong <yang.zhong@intel.com>
Message-Id: <20220530131834.1222801-1-yang.zhong@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 24ce7aa77dd1a3095d994bf53d60cce6e672cf4d
      
https://github.com/qemu/qemu/commit/24ce7aa77dd1a3095d994bf53d60cce6e672cf4d
  Author: Jose R. Ziviani <jziviani@suse.de>
  Date:   2022-06-06 (Mon, 06 Jun 2022)

  Changed paths:
    M hw/display/qxl.c
    M hw/display/vhost-user-gpu-pci.c
    M hw/display/vhost-user-gpu.c
    M hw/display/vhost-user-vga.c
    M hw/display/virtio-gpu-base.c
    M hw/display/virtio-gpu-gl.c
    M hw/display/virtio-gpu-pci-gl.c
    M hw/display/virtio-gpu-pci.c
    M hw/display/virtio-gpu.c
    M hw/display/virtio-vga-gl.c
    M hw/display/virtio-vga.c
    M hw/s390x/virtio-ccw-gpu.c
    M hw/usb/ccid-card-emulated.c
    M hw/usb/ccid-card-passthru.c
    M hw/usb/host-libusb.c
    M hw/usb/redirect.c
    M include/qemu/module.h
    M scripts/modinfo-generate.py

  Log Message:
  -----------
  modules: introduces module_kconfig directive

module_kconfig is a new directive that should be used with module_obj
whenever that module depends on the Kconfig to be enabled.

When the module is enabled in Kconfig we are sure that its dependencies
will be enabled as well, thus the module will be loaded without any
problem.

The correct way to use module_kconfig is by passing the Kconfig option
to module_kconfig (or the *config-devices.mak without CONFIG_).

Signed-off-by: Jose R. Ziviani <jziviani@suse.de>
Signed-off-by: Dario Faggioli <dfaggioli@suse.com>
Message-Id: <165369002370.5857.12150544416563557322.stgit@work>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 05d6814c3eb16524e992bb7048d3385f8e99dd6a
      
https://github.com/qemu/qemu/commit/05d6814c3eb16524e992bb7048d3385f8e99dd6a
  Author: Jose R. Ziviani <jziviani@suse.de>
  Date:   2022-06-06 (Mon, 06 Jun 2022)

  Changed paths:
    M meson.build
    M scripts/modinfo-generate.py

  Log Message:
  -----------
  modules: generates per-target modinfo

This patch changes the way modinfo is generated and built. Instead of
one modinfo.c it generates one modinfo-<target>-softmmu.c per target. It
aims a fine-tune control of modules by configuring Kconfig.

Signed-off-by: Jose R. Ziviani <jziviani@suse.de>
Signed-off-by: Dario Faggioli <dfaggioli@suse.com>
Message-Id: <165369003038.5857.13084289285185196779.stgit@work>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: c4b8ffcbb8531206e12cf3ad92fa90f7c80ed464
      
https://github.com/qemu/qemu/commit/c4b8ffcbb8531206e12cf3ad92fa90f7c80ed464
  Author: Pavel Dovgalyuk <pavel.dovgalyuk@ispras.ru>
  Date:   2022-06-06 (Mon, 06 Jun 2022)

  Changed paths:
    M replay/replay.c

  Log Message:
  -----------
  replay: fix event queue flush for qemu shutdown

This patch fixes event queue flush in the case of emulator
shutdown. replay_finish_events should be called when replay_mode
is not cleared.

Signed-off-by: Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <165364836758.688121.7959245442743676491.stgit@pasha-ThinkPad-X280>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 75bbe5e5ec2867f098a31bfd553a1fb084289cc2
      
https://github.com/qemu/qemu/commit/75bbe5e5ec2867f098a31bfd553a1fb084289cc2
  Author: Pavel Dovgalyuk <pavel.dovgalyuk@ispras.ru>
  Date:   2022-06-06 (Mon, 06 Jun 2022)

  Changed paths:
    M include/sysemu/cpu-timers.h
    M softmmu/icount.c
    M stubs/icount.c
    M util/async.c

  Log Message:
  -----------
  replay: notify vCPU when BH is scheduled

vCPU execution should be suspended when new BH is scheduled.
This is needed to avoid guest timeouts caused by the long cycles
of the execution. In replay mode execution may hang when
vCPU sleeps and block event comes to the queue.
This patch adds notification which wakes up vCPU or interrupts
execution of guest code.

Signed-off-by: Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>

--

v2: changed first_cpu to current_cpu (suggested by Richard Henderson)
v4: moved vCPU notification to aio_bh_enqueue (suggested by Paolo Bonzini)
Message-Id: <165364837317.688121.17680519919871405281.stgit@pasha-ThinkPad-X280>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 60618e2d77691e44bb78e23b2b0cf07b5c405e56
      
https://github.com/qemu/qemu/commit/60618e2d77691e44bb78e23b2b0cf07b5c405e56
  Author: Pavel Dovgalyuk <pavel.dovgalyuk@ispras.ru>
  Date:   2022-06-06 (Mon, 06 Jun 2022)

  Changed paths:
    M accel/tcg/tcg-accel-ops-icount.c
    M docs/replay.txt
    M include/sysemu/replay.h
    M replay/replay-events.c
    M replay/replay-internal.h
    M replay/replay-snapshot.c
    M replay/replay.c
    M softmmu/icount.c

  Log Message:
  -----------
  replay: rewrite async event handling

This patch decouples checkpoints and async events.
It was a tricky part of replay implementation. Now it becomes
much simpler and easier to maintain.

Signed-off-by: Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>
Acked-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <165364837856.688121.8785039478408995979.stgit@pasha-ThinkPad-X280>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 3e21408b0596aa2babe1e26996a15e7ad5eee71a
      
https://github.com/qemu/qemu/commit/3e21408b0596aa2babe1e26996a15e7ad5eee71a
  Author: Pavel Dovgalyuk <pavel.dovgalyuk@ispras.ru>
  Date:   2022-06-06 (Mon, 06 Jun 2022)

  Changed paths:
    M replay/replay-events.c
    M replay/replay-internal.h
    M replay/replay-snapshot.c
    M replay/replay.c

  Log Message:
  -----------
  replay: simplify async event processing

This patch joins replay event id and async event id into single byte in the log.
It makes processing a bit faster and log a bit smaller.

Signed-off-by: Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>

--

v2: minor enum fixes (suggested by Richard Henderson)
Message-Id: <165364838393.688121.8191379555130516329.stgit@pasha-ThinkPad-X280>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 04d0583a4f5d00061bf57d17947aa0d5c6a6cecf
      
https://github.com/qemu/qemu/commit/04d0583a4f5d00061bf57d17947aa0d5c6a6cecf
  Author: Pavel Dovgalyuk <pavel.dovgalyuk@ispras.ru>
  Date:   2022-06-06 (Mon, 06 Jun 2022)

  Changed paths:
    M docs/devel/index-tcg.rst
    A docs/devel/replay.rst
    R docs/devel/replay.txt

  Log Message:
  -----------
  docs: convert docs/devel/replay page to rst

This patch converts prior .txt replay devel documentation to .rst.

Signed-off-by: Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <165364839013.688121.11935249420738873044.stgit@pasha-ThinkPad-X280>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 43185f7bd4cbe730e7d5a6abcefbf83a5c98f3db
      
https://github.com/qemu/qemu/commit/43185f7bd4cbe730e7d5a6abcefbf83a5c98f3db
  Author: Pavel Dovgalyuk <pavel.dovgalyuk@ispras.ru>
  Date:   2022-06-06 (Mon, 06 Jun 2022)

  Changed paths:
    M docs/devel/replay.rst
    R docs/replay.txt
    M docs/system/index.rst
    A docs/system/replay.rst

  Log Message:
  -----------
  docs: move replay docs to docs/system/replay.rst

This patch adds replay description page, converting prior
text from docs/replay.txt.
The text was also updated and some sections were moved
to devel part of the docs.

Signed-off-by: Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>
Acked-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <165364839601.688121.5131456980322853233.stgit@pasha-ThinkPad-X280>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: c9d27a0f9f2ee7e6a57167de7d0dcab406f8bfa7
      
https://github.com/qemu/qemu/commit/c9d27a0f9f2ee7e6a57167de7d0dcab406f8bfa7
  Author: Pavel Dovgalyuk <pavel.dovgalyuk@ispras.ru>
  Date:   2022-06-06 (Mon, 06 Jun 2022)

  Changed paths:
    M tests/avocado/replay_linux.py

  Log Message:
  -----------
  tests/avocado: update replay_linux test

This patch updates replay_linux test to make it compatible with
new LinuxTest class.

Signed-off-by: Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>
Message-Id: <165364840253.688121.10404266209986316381.stgit@pasha-ThinkPad-X280>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 3cd1dce33d2359fe410bb20f6f980f3f91da79bd
      
https://github.com/qemu/qemu/commit/3cd1dce33d2359fe410bb20f6f980f3f91da79bd
  Author: Pavel Dovgalyuk <pavel.dovgalyuk@ispras.ru>
  Date:   2022-06-06 (Mon, 06 Jun 2022)

  Changed paths:
    M tests/avocado/replay_linux.py

  Log Message:
  -----------
  tests/avocado: add replay Linux tests for virtio machine

This patch adds two tests for replaying Linux boot process
on x86_64 virtio platform.

Signed-off-by: Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>
Message-Id: <165364840811.688121.11931681195199516354.stgit@pasha-ThinkPad-X280>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 9b59af628c97eada68eebc1a9af0c72b75ecf1b8
      
https://github.com/qemu/qemu/commit/9b59af628c97eada68eebc1a9af0c72b75ecf1b8
  Author: Pavel Dovgalyuk <pavel.dovgalyuk@ispras.ru>
  Date:   2022-06-06 (Mon, 06 Jun 2022)

  Changed paths:
    M tests/avocado/replay_linux.py

  Log Message:
  -----------
  tests/avocado: add replay Linux test for Aarch64 machines

This patch adds two tests for replaying Linux boot process
on Aarch64 platform.

Signed-off-by: Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>
Message-Id: <165364841373.688121.8868079200312201658.stgit@pasha-ThinkPad-X280>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: d426ff938b3f95e0b04bb410d47ae50359340a16
      
https://github.com/qemu/qemu/commit/d426ff938b3f95e0b04bb410d47ae50359340a16
  Author: Dario Faggioli <dfaggioli@suse.com>
  Date:   2022-06-06 (Mon, 06 Jun 2022)

  Changed paths:
    M tests/Makefile.include

  Log Message:
  -----------
  tests/Makefile.include: Fix 'make check-help' output

Since commit 3d2f73ef75e ("build: use "meson test" as the test harness"),
check-report.tap is no more, and we have check-report.junit.xml.

Update the output of 'make check-help', which was still listing
'check-report.tap', accordingly.

Fixes: 3d2f73ef75e
Signed-off-by: Dario Faggioli <dfaggioli@suse.com>
Message-Id: <165366545439.6869.11633009118019728798.stgit@work>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: efb3934adf9ee7794db7e0ade9f576c634592891
      
https://github.com/qemu/qemu/commit/efb3934adf9ee7794db7e0ade9f576c634592891
  Author: Igor Mammedov <imammedo@redhat.com>
  Date:   2022-06-06 (Mon, 06 Jun 2022)

  Changed paths:
    M target/i386/cpu.c

  Log Message:
  -----------
  x86: cpu: make sure number of addressable IDs for processor cores meets the 
spec

Accourding Intel's CPUID[EAX=04H] resulting bits 31 - 26 in EAX
should be:
"
 **** The nearest power-of-2 integer that is not smaller than (1 + EAX[31:26]) 
is the number of unique
    Core_IDs reserved for addressing different processor cores in a physical 
package. Core ID is a subset of
    bits of the initial APIC ID.
"

ensure that values stored in EAX[31-26] always meets this condition.

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20220524151020.2541698-2-imammedo@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: d7caf13b5fcf742e5680c1d3448ba070fc811644
      
https://github.com/qemu/qemu/commit/d7caf13b5fcf742e5680c1d3448ba070fc811644
  Author: Igor Mammedov <imammedo@redhat.com>
  Date:   2022-06-06 (Mon, 06 Jun 2022)

  Changed paths:
    M target/i386/cpu.c

  Log Message:
  -----------
  x86: cpu: fixup number of addressable IDs for logical processors sharing cache

When QEMU is started with '-cpu host,host-cache-info=on', it will
passthrough host's number of logical processors sharing cache and
number of processor cores in the physical package. QEMU already
fixes up the later to correctly reflect number of configured cores
for VM, however number of logical processors sharing cache is still
comes from host CPU, which confuses guest started with:

       -machine q35,accel=kvm \
       -cpu host,host-cache-info=on,l3-cache=off \
       -smp 20,sockets=2,dies=1,cores=10,threads=1  \
       -numa node,nodeid=0,memdev=ram-node0 \
       -numa node,nodeid=1,memdev=ram-node1 \
       -numa cpu,socket-id=0,node-id=0 \
       -numa cpu,socket-id=1,node-id=1

on 2 socket Xeon 4210R host with 10 cores per socket
with CPUID[04H]:
      ...
        --- cache 3 ---
      cache type                           = unified cache (3)
      cache level                          = 0x3 (3)
      self-initializing cache level        = true
      fully associative cache              = false
      maximum IDs for CPUs sharing cache   = 0x1f (31)
      maximum IDs for cores in pkg         = 0xf (15)
      ...
that doesn't match number of logical processors VM was
configured with and as result RHEL 9.0 guest complains:

   sched: CPU #10's llc-sibling CPU #0 is not on the same node! [node: 1 != 0]. 
Ignoring dependency.
   WARNING: CPU: 10 PID: 0 at arch/x86/kernel/smpboot.c:421 
topology_sane.isra.0+0x67/0x80
   ...
   Call Trace:
     set_cpu_sibling_map+0x176/0x590
     start_secondary+0x5b/0x150
     secondary_startup_64_no_verify+0xc2/0xcb

Fix it by capping max number of logical processors to vcpus/socket
as it was configured, which fixes the issue.

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=2088311
Message-Id: <20220524151020.2541698-3-imammedo@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: e7874a50ff3f5b20fb46f36958ad88334e4d55cd
      
https://github.com/qemu/qemu/commit/e7874a50ff3f5b20fb46f36958ad88334e4d55cd
  Author: John Snow <jsnow@redhat.com>
  Date:   2022-06-06 (Mon, 06 Jun 2022)

  Changed paths:
    M python/qemu/qmp/util.py
    M python/setup.cfg

  Log Message:
  -----------
  python: update for mypy 0.950

typeshed (included in mypy) recently updated to improve the typing for
WriteTransport objects. I was working around this, but now there's a
version where I shouldn't work around it.

Unfortunately this creates some minor ugliness if I want to support both
pre- and post-0.950 versions. For now, for my sanity, just disable the
unused-ignores warning.

Signed-off-by: John Snow <jsnow@redhat.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20220526000921.1581503-2-jsnow@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: caa0f7cbaf4159186d614849ddfbdd89f26d597c
      
https://github.com/qemu/qemu/commit/caa0f7cbaf4159186d614849ddfbdd89f26d597c
  Author: John Snow <jsnow@redhat.com>
  Date:   2022-06-06 (Mon, 06 Jun 2022)

  Changed paths:
    M tests/Makefile.include

  Log Message:
  -----------
  tests: add "TESTS_PYTHON" variable to Makefile

This is a convenience feature: $(PYTHON) points to the Python executable
we were instructed to use by the configure script. We use that Python to
create a virtual environment with the "check-venv" target in
tests/Makefile.include.

$(TESTS_PYTHON) points to the Python executable belonging to the virtual
environment tied to the build. This Python executable is a symlink to
the binary used to create the venv, which will be the version provided
at configure time.

Using $(TESTS_PYTHON) therefore uses the $(PYTHON) executable, but with
paths modified to use packages installed to the venv.

Signed-off-by: John Snow <jsnow@redhat.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20220526000921.1581503-3-jsnow@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: aa19dd33ce616c1a34bb569da8e642f0b6f51fa0
      
https://github.com/qemu/qemu/commit/aa19dd33ce616c1a34bb569da8e642f0b6f51fa0
  Author: John Snow <jsnow@redhat.com>
  Date:   2022-06-06 (Mon, 06 Jun 2022)

  Changed paths:
    M tests/Makefile.include

  Log Message:
  -----------
  tests: use python3 as the python executable name

Use "python3" instead of "python" as per PEP0394:
https://peps.python.org/pep-0394/

This should always be defined (in a venv, at least!), matching the
preferred python shebang of "#!/usr/bin/env python3".

Signed-off-by: John Snow <jsnow@redhat.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20220526000921.1581503-4-jsnow@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: a547c82701925400949856488a2c8c8750a3276e
      
https://github.com/qemu/qemu/commit/a547c82701925400949856488a2c8c8750a3276e
  Author: John Snow <jsnow@redhat.com>
  Date:   2022-06-06 (Mon, 06 Jun 2022)

  Changed paths:
    M tests/Makefile.include

  Log Message:
  -----------
  tests: silence pip upgrade warnings during venv creation

Turn off the nag warning coaxing us to upgrade pip. It's not really that
interesting to see in CI logs, and as long as nothing is broken --
nothing is broken.

Signed-off-by: John Snow <jsnow@redhat.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20220526000921.1581503-5-jsnow@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 5a6f1199cb5fca105ca99356ae05f8e48f5c8d97
      
https://github.com/qemu/qemu/commit/5a6f1199cb5fca105ca99356ae05f8e48f5c8d97
  Author: John Snow <jsnow@redhat.com>
  Date:   2022-06-06 (Mon, 06 Jun 2022)

  Changed paths:
    M tests/Makefile.include

  Log Message:
  -----------
  tests: add quiet-venv-pip macro

Factor out the "test venv pip" macro; rewrite the "check-venv" rule to
be a little more compact. Replace the "PIP" pseudo-command output with
"VENVPIP" to make it 1% more clear that we are talking about using pip
to install something into a venv.

Signed-off-by: John Snow <jsnow@redhat.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20220526000921.1581503-6-jsnow@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 0e7647aa8a5d5b99a0ffb401ba75f0ae8c171c96
      
https://github.com/qemu/qemu/commit/0e7647aa8a5d5b99a0ffb401ba75f0ae8c171c96
  Author: John Snow <jsnow@redhat.com>
  Date:   2022-06-06 (Mon, 06 Jun 2022)

  Changed paths:
    M tests/Makefile.include
    M tests/avocado/avocado_qemu/__init__.py
    M tests/avocado/virtio_check_params.py
    M tests/avocado/virtio_version.py
    M tests/requirements.txt

  Log Message:
  -----------
  tests: install "qemu" namespace package into venv

This patch adds the "qemu" namespace package to the $build/tests/venv
directory. It does so in "editable" mode, which means that changes to
the source python directory will actively be reflected by the venv.

This patch also then removes any sys.path hacking from the avocado test
scripts directly. By doing this, the environment of where to find these
packages is managed entirely by the virtual environment and not by the
scripts themselves.

Signed-off-by: John Snow <jsnow@redhat.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20220526000921.1581503-7-jsnow@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: f4c66f17051f0dee0e6070c6b78a78e7425b5c96
      
https://github.com/qemu/qemu/commit/f4c66f17051f0dee0e6070c6b78a78e7425b5c96
  Author: John Snow <jsnow@redhat.com>
  Date:   2022-06-06 (Mon, 06 Jun 2022)

  Changed paths:
    M tests/vm/Makefile.include
    M tests/vm/basevm.py

  Log Message:
  -----------
  tests: use tests/venv to run basevm.py-based scripts

This patch co-opts the virtual environment being used by avocado tests
to also run the basevm.py tests. This is being done in preparation for
for the qemu.qmp package being removed from qemu.git.

As part of the change, remove any sys.path() hacks and treat "qemu" as a
normal third-party import.

Signed-off-by: John Snow <jsnow@redhat.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20220526000921.1581503-8-jsnow@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: e184036a0e12cbfb8980362cd4de18268b4d0c38
      
https://github.com/qemu/qemu/commit/e184036a0e12cbfb8980362cd4de18268b4d0c38
  Author: John Snow <jsnow@redhat.com>
  Date:   2022-06-06 (Mon, 06 Jun 2022)

  Changed paths:
    M tests/docker/dockerfiles/debian10.docker

  Log Message:
  -----------
  tests: add python3-venv to debian10.docker

This is needed to be able to add a venv-building step to 'make check';
the clang-user job in particular needs this to be able to run
check-unit.

Signed-off-by: John Snow <jsnow@redhat.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20220526000921.1581503-9-jsnow@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 1d8cf47e5b8b4faa95954824cb6610d81c50d7d2
      
https://github.com/qemu/qemu/commit/1d8cf47e5b8b4faa95954824cb6610d81c50d7d2
  Author: John Snow <jsnow@redhat.com>
  Date:   2022-06-06 (Mon, 06 Jun 2022)

  Changed paths:
    M .gitlab-ci.d/buildtest.yml
    M scripts/device-crash-test

  Log Message:
  -----------
  tests: run 'device-crash-test' from tests/venv

Remove the sys.path hacking from device-crash-test, and add in a little
user-friendly message for anyone who was used to running this script
directly from the source tree.

Modify the GitLab job recipes to create the tests/venv first, then run
device-crash-test from that venv.

Signed-off-by: John Snow <jsnow@redhat.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20220526000921.1581503-10-jsnow@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: d4bb4432ab43febc0eb41b031c0c3aaf5113a0c6
      
https://github.com/qemu/qemu/commit/d4bb4432ab43febc0eb41b031c0c3aaf5113a0c6
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2022-06-06 (Mon, 06 Jun 2022)

  Changed paths:
    M scripts/meson-buildoptions.sh

  Log Message:
  -----------
  regenerate meson-buildoptions.sh

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 7632a38e7c21c993da74d17afa8dd66d9552da06
      
https://github.com/qemu/qemu/commit/7632a38e7c21c993da74d17afa8dd66d9552da06
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2022-06-06 (Mon, 06 Jun 2022)

  Changed paths:
    M configure

  Log Message:
  -----------
  configure: remove reference to removed option

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: ca5765c8521b8284b8277ed4b811ac0ab9010fc8
      
https://github.com/qemu/qemu/commit/ca5765c8521b8284b8277ed4b811ac0ab9010fc8
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2022-06-06 (Mon, 06 Jun 2022)

  Changed paths:
    M qga/meson.build

  Log Message:
  -----------
  meson: qga: do not use deprecated meson.build_root()

The function will return the build root of the parent project if called from a
subproject; that is irrelevant for QEMU's usage but rarely desirable, and
therefore the function was deprecated and replaced by two functions
project_build_root() and global_build_root().  Replace it with the former.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 57c9363c452af64fe058aa946cc923eae7f7ad33
      
https://github.com/qemu/qemu/commit/57c9363c452af64fe058aa946cc923eae7f7ad33
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2022-06-06 (Mon, 06 Jun 2022)

  Changed paths:
    M .gitlab-ci.d/buildtest.yml
    M accel/tcg/tcg-accel-ops-icount.c
    M configure
    M docs/devel/index-tcg.rst
    A docs/devel/replay.rst
    R docs/devel/replay.txt
    R docs/replay.txt
    M docs/system/index.rst
    A docs/system/replay.rst
    M hw/display/qxl.c
    M hw/display/vhost-user-gpu-pci.c
    M hw/display/vhost-user-gpu.c
    M hw/display/vhost-user-vga.c
    M hw/display/virtio-gpu-base.c
    M hw/display/virtio-gpu-gl.c
    M hw/display/virtio-gpu-pci-gl.c
    M hw/display/virtio-gpu-pci.c
    M hw/display/virtio-gpu.c
    M hw/display/virtio-vga-gl.c
    M hw/display/virtio-vga.c
    M hw/s390x/virtio-ccw-gpu.c
    M hw/usb/ccid-card-emulated.c
    M hw/usb/ccid-card-passthru.c
    M hw/usb/host-libusb.c
    M hw/usb/redirect.c
    M include/qemu/module.h
    M include/sysemu/cpu-timers.h
    M include/sysemu/replay.h
    M meson.build
    M python/qemu/qmp/util.py
    M python/setup.cfg
    M qga/meson.build
    M replay/replay-events.c
    M replay/replay-internal.h
    M replay/replay-snapshot.c
    M replay/replay.c
    M scripts/device-crash-test
    M scripts/meson-buildoptions.sh
    M scripts/modinfo-generate.py
    M softmmu/icount.c
    M stubs/icount.c
    M target/i386/cpu.c
    M target/i386/tcg/sysemu/excp_helper.c
    M tests/Makefile.include
    M tests/avocado/avocado_qemu/__init__.py
    M tests/avocado/replay_linux.py
    M tests/avocado/virtio_check_params.py
    M tests/avocado/virtio_version.py
    M tests/docker/dockerfiles/debian10.docker
    M tests/requirements.txt
    M tests/vm/Makefile.include
    M tests/vm/basevm.py
    M util/async.c

  Log Message:
  -----------
  Merge tag 'for-upstream' of https://gitlab.com/bonzini/qemu into staging

* prepare to expand usage of test venv
* fix CPUID when passing through host cache information
* a20 fix
* SGX fix
* generate per-target modinfo
* replay cleanups and simplifications
* "make modules" target

# -----BEGIN PGP SIGNATURE-----
#
# iQFIBAABCAAyFiEE8TM4V0tmI4mGbHaCv/vSX3jHroMFAmKeCV0UHHBib256aW5p
# QHJlZGhhdC5jb20ACgkQv/vSX3jHroNVWQgArVaF9Q/RWd1jJ2EUoWhy/GKsrdBs
# CHmSzrYzF/0cqD4OtrjTRyUP72Kywf4/aP4GYtLsjSYRUyriqS4nm5yEkDsME+pH
# 0adATIumtGHBPjVJyPUux3H1cbPUmsxbE03ZIWUK65M/IM2m46hmPDTWVx6ZSXMN
# VnSQdTUeZdxY26D8zfLp+oufqmfgaPT19zURcMZlvWFJ830t+1spfZwH0RGjDlfZ
# ffNVMPcco1qreNFggNIV9sKtoLb8A9PxpFJPV9OtBONA5UGxZ7xhjjZY9jCI4Bxa
# xAd60nXeoAwiOP7LE2bEwXbPku3xgy2e0LNXhqblMGNGOjdlRlwfL/FhFw==
# =C9N3
# -----END PGP SIGNATURE-----
# gpg: Signature made Mon 06 Jun 2022 07:04:13 AM PDT
# gpg:                using RSA key F13338574B662389866C7682BFFBD25F78C7AE83
# gpg:                issuer "pbonzini@redhat.com"
# gpg: Good signature from "Paolo Bonzini <bonzini@gnu.org>" [undefined]
# gpg:                 aka "Paolo Bonzini <pbonzini@redhat.com>" [undefined]
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg:          There is no indication that the signature belongs to the owner.
# Primary key fingerprint: 46F5 9FBD 57D6 12E7 BFD4  E2F7 7E15 100C CD36 69B1
#      Subkey fingerprint: F133 3857 4B66 2389 866C  7682 BFFB D25F 78C7 AE83

* tag 'for-upstream' of https://gitlab.com/bonzini/qemu: (29 commits)
  meson: qga: do not use deprecated meson.build_root()
  configure: remove reference to removed option
  regenerate meson-buildoptions.sh
  tests: run 'device-crash-test' from tests/venv
  tests: add python3-venv to debian10.docker
  tests: use tests/venv to run basevm.py-based scripts
  tests: install "qemu" namespace package into venv
  tests: add quiet-venv-pip macro
  tests: silence pip upgrade warnings during venv creation
  tests: use python3 as the python executable name
  tests: add "TESTS_PYTHON" variable to Makefile
  python: update for mypy 0.950
  x86: cpu: fixup number of addressable IDs for logical processors sharing cache
  x86: cpu: make sure number of addressable IDs for processor cores meets the 
spec
  tests/Makefile.include: Fix 'make check-help' output
  tests/avocado: add replay Linux test for Aarch64 machines
  tests/avocado: add replay Linux tests for virtio machine
  tests/avocado: update replay_linux test
  docs: move replay docs to docs/system/replay.rst
  docs: convert docs/devel/replay page to rst
  ...

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


Compare: https://github.com/qemu/qemu/compare/ca127b3fc247...57c9363c452a



reply via email to

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