qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] 44d827: qtest/meson.build: check CONFIG_TCG f


From: Peter Maydell
Subject: [Qemu-commits] [qemu/qemu] 44d827: qtest/meson.build: check CONFIG_TCG for prom-env-t...
Date: Tue, 15 Mar 2022 04:32:45 -0700

  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: 44d827ea69e6d0e1d7f1855b155ebe02a2b7768a
      
https://github.com/qemu/qemu/commit/44d827ea69e6d0e1d7f1855b155ebe02a2b7768a
  Author: Daniel Henrique Barboza <danielhb413@gmail.com>
  Date:   2022-03-14 (Mon, 14 Mar 2022)

  Changed paths:
    M tests/qtest/meson.build

  Log Message:
  -----------
  qtest/meson.build: check CONFIG_TCG for prom-env-test in qtests_ppc

'prom-env-test' is a TCG test that will fail if QEMU is compiled with
--disable-tcg:

$ QTEST_QEMU_BINARY=./qemu-system-ppc64 ./tests/qtest/prom-env-test
/ppc64/prom-env/mac99: qemu-system-ppc64: -accel tcg: invalid accelerator tcg
(... hangs indefinitely ...)

Fix it by checking CONFIG_TCG before compiling prom-env-test.

Cc: Thomas Huth <thuth@redhat.com>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20220303153517.168943-2-danielhb413@gmail.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>


  Commit: 74884cb1a6d0fa193a20b2d1bb1131f50eb2732a
      
https://github.com/qemu/qemu/commit/74884cb1a6d0fa193a20b2d1bb1131f50eb2732a
  Author: Daniel Henrique Barboza <danielhb413@gmail.com>
  Date:   2022-03-14 (Mon, 14 Mar 2022)

  Changed paths:
    M tests/qtest/meson.build

  Log Message:
  -----------
  qtest/meson.build: check CONFIG_TCG for boot-serial-test in qtests_ppc

'boot-serial-test' does not work with a QEMU built with --disable-tcg in
a IBM POWER9 host. The reason is that without TCG QEMU will default to
KVM acceleration, but then the KVM module in IBM POWER hosts aren't able
to handle other CPUs.

The result is that the test will break with a KVM error when trying to
ruin the ppce500 test:

$ QTEST_QEMU_BINARY=./qemu-system-ppc64 ./tests/qtest/boot-serial-test
/ppc64/boot-serial/ppce500: qemu-system-ppc64: -accel tcg: invalid accelerator 
tcg
error: kvm run failed Invalid argument
NIP 0000000000f00000   LR 0000000000000000 CTR 0000000000000000 XER 
0000000000000000 CPU#0
MSR 0000000000000000 HID0 0000000000000000  HF 24020002 iidx 1 didx 1
TB 00000000 00000000 DECR 0
(...)
** (./tests/qtest/boot-serial-test:1935760): ERROR **: 07:44:03.010: Failed to 
find expected string. Please check '/tmp/qtest-boot-serial-sJ78sqg'

Fix it by checking CONFIG_TCG before compiling boot-serial-test.

Cc: Thomas Huth <thuth@redhat.com>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20220303153517.168943-3-danielhb413@gmail.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>


  Commit: 6b87d614fed76a9256cda46f4b2d11b423493b57
      
https://github.com/qemu/qemu/commit/6b87d614fed76a9256cda46f4b2d11b423493b57
  Author: Daniel Henrique Barboza <danielhb413@gmail.com>
  Date:   2022-03-14 (Mon, 14 Mar 2022)

  Changed paths:
    M tests/avocado/boot_linux_console.py

  Log Message:
  -----------
  avocado/boot_linux_console.py: check for tcg in test_ppc_powernv8/9

The PowerNV8/9 machines does not work with KVM acceleration, meaning
that boot_linux_console.py:BootLinuxConsole.test_ppc_powernv8/9 tests
will always fail when QEMU is compiled with --disable-tcg:

ERROR 1-tests/avocado/boot_linux_console.py:BootLinuxConsole.test_ppc_powernv8
-> VMLaunchFailure: ConnectError: Failed to establish session:
[Errno 104] Connection reset by peer
        Exit code: 1
        Command: ./qemu-system-ppc64 -display none -vga none -chardev 
socket,id=mon,path=/var/tmp/avo_qemu_sock_no19zg0m/qemu-1936936-7fffa77cff98-monitor.sock
 -mon chardev=mon,mode=control -machine powernv8 -chardev 
socket,id=console,path=/var/tmp/avo_qemu_sock_no19zg0m/qemu-1936936-7fffa77cff98-console.sock,server=on,wait=off
 -serial chardev:console -kernel 
/home/danielhb/avocado/data/cache/by_location/4514304e2c4ee84c5f0b5c8bacedda783891df68/zImage.epapr
 -append console=tty0 console=hvc0 -device 
pcie-pci-bridge,id=bridge1,bus=pcie.1,addr=0x0 -device 
nvme,bus=pcie.2,addr=0x0,serial=1234 -device e1000e,bus=bridge1,addr=0x3 
-device nec-usb-xhci,bus=bridge1,addr=0x2
        Output: qemu-system-ppc64: The powernv machine does not work with KVM 
acceleration

Let's add the TCG accel requirement in both tests to skip them if we
don't have TCG support available.

Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20220303153517.168943-4-danielhb413@gmail.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>


  Commit: d78fb13d6b501f183e280f0b1bfb79480c478e84
      
https://github.com/qemu/qemu/commit/d78fb13d6b501f183e280f0b1bfb79480c478e84
  Author: Daniel Henrique Barboza <danielhb413@gmail.com>
  Date:   2022-03-14 (Mon, 14 Mar 2022)

  Changed paths:
    M tests/avocado/boot_linux_console.py

  Log Message:
  -----------
  avocado/boot_linux_console.py: check tcg accel in test_ppc64_e500

Some ppc64 hosts (e.g. IBM POWER hosts) aren't able to run the e500
machine using KVM accel. Skip this test if TCG accel isn't available.

Cc: Cleber Rosa <crosa@redhat.com>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Message-Id: <20220303153517.168943-5-danielhb413@gmail.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>


  Commit: 89b65e3072d422a32897dfbe649d0df1013df80d
      
https://github.com/qemu/qemu/commit/89b65e3072d422a32897dfbe649d0df1013df80d
  Author: Daniel Henrique Barboza <danielhb413@gmail.com>
  Date:   2022-03-14 (Mon, 14 Mar 2022)

  Changed paths:
    M tests/avocado/replay_kernel.py

  Log Message:
  -----------
  avocado/replay_kernel.py: make tcg-icount check in run_vm()

The icount framework relies on TCG availability. If QEMU is built with
--disable-tcg we won't have icount either, and then this test will fail
with the following message in an IBM POWER9 host:

tests/avocado/replay_kernel.py:ReplayKernelNormal.test_ppc64_pseries:
ERROR: ConnectError: Failed to establish session:
(...)
/11-tests_avocado_replay_kernel.py_ReplayKernelNormal.test_ppc64_pseries/replay.bin:
cannot configure icount, TCG support not available

Although this was revealed in a specific ppc64 scenario, the TCG check
is being done in the common code inside run_vm() because all archs need
TCG to have access to icount.

Cc: Pavel Dovgalyuk <pavel.dovgaluk@ispras.ru>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Message-Id: <20220303153517.168943-6-danielhb413@gmail.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>


  Commit: daff68ccd1780dfccd890b5849bbb176f0a51ef3
      
https://github.com/qemu/qemu/commit/daff68ccd1780dfccd890b5849bbb176f0a51ef3
  Author: Daniel Henrique Barboza <danielhb413@gmail.com>
  Date:   2022-03-14 (Mon, 14 Mar 2022)

  Changed paths:
    M tests/avocado/boot_linux_console.py

  Log Message:
  -----------
  avocado/boot_linux_console.py: check TCG accel in test_ppc_g3beige()

This test breaks when run in an IBM POWER host with a QEMU compiled
with --disable-tcg and the ppc-softmmu target.

One thing to note is that the error message explictly mentions kvm_pr
support:

Command: ./qemu-system-ppc -display none -vga none (...)
-machine g3beige (...)
        Output: ioctl(KVM_CREATE_VM) failed: 22 Invalid argument
PPC KVM module is not loaded. Try modprobe kvm_pr.
qemu-system-ppc: failed to initialize kvm: Invalid argument

The host was running kvm_hv, not kvm_pr, and the machine failed to load.

Unfortunately we don't have a way to detect whether the KVM module loaded
is kvm_hv or kvm_pr - we do a check for /dev/kvm to detect KVM support but
both modules create this file so that's not helpful.

Let's skip this test for now until we have a way of detecting kvm_pr support in 
the host.

Reported-by: Murilo Opsfelder Araujo <muriloo@linux.ibm.com>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Message-Id: <20220310183011.110391-2-danielhb413@gmail.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>


  Commit: ff110c18bf22b746b8a30c295a64f8f1045d0397
      
https://github.com/qemu/qemu/commit/ff110c18bf22b746b8a30c295a64f8f1045d0397
  Author: Daniel Henrique Barboza <danielhb413@gmail.com>
  Date:   2022-03-14 (Mon, 14 Mar 2022)

  Changed paths:
    M tests/avocado/boot_linux_console.py

  Log Message:
  -----------
  avocado/boot_linux_console.py: check TCG accel in test_ppc_mac99()

This test breaks when run in an IBM POWER host with a QEMU compiled
with --disable-tcg and the ppc-softmmu target in a similar manner as
test_ppc_g3beige did.

There's also an observation made about kvm_pr in the error message:

Command: ./qemu-system-ppc -display none -vga none (...)
-machine mac99 (...)
        Output: ioctl(KVM_CREATE_VM) failed: 22 Invalid argument
PPC KVM module is not loaded. Try modprobe kvm_pr.
qemu-system-ppc: failed to initialize kvm: Invalid argument

This means that, when/if we're able to detect kvm_pr support in these
avocado tests, we can revisit this test to not rely solely on TCG
availability.

Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Message-Id: <20220310183011.110391-3-danielhb413@gmail.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>


  Commit: d08b9b76580662e1064ece0b07b1c438fb6f571d
      
https://github.com/qemu/qemu/commit/d08b9b76580662e1064ece0b07b1c438fb6f571d
  Author: Daniel Henrique Barboza <danielhb413@gmail.com>
  Date:   2022-03-14 (Mon, 14 Mar 2022)

  Changed paths:
    M tests/avocado/ppc_405.py

  Log Message:
  -----------
  avocado/ppc_405.py: remove test_ppc_taihu()

Running this test gives us a deprecation warning telling that this
machine type is no longer supported:

        Output: qemu-system-ppc: Machine type 'taihu' is deprecated:
incomplete, use 'ref405ep' instead

Moreover, this test fails to pass running in an IBM POWER host when
building QEMU with --disable-tcg.

Since the machine type is already being considered deprecated let's not
bother fixing the test with --disable-tcg. Remove test_ppc_taihu().

Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Message-Id: <20220310183011.110391-4-danielhb413@gmail.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>


  Commit: 6e73b98a1b2876a565414c4db03149217190b3cd
      
https://github.com/qemu/qemu/commit/6e73b98a1b2876a565414c4db03149217190b3cd
  Author: Daniel Henrique Barboza <danielhb413@gmail.com>
  Date:   2022-03-14 (Mon, 14 Mar 2022)

  Changed paths:
    M tests/avocado/ppc_405.py

  Log Message:
  -----------
  avocado/ppc_405.py: check TCG accel in test_ppc_ref405ep()

Running this test without TCG support in an IBM POWER server results
in the following error:

        Command: ./qemu-system-ppc -display none -vga none (...)
-machine ref405ep (...)
        Output: qemu-system-ppc: Register sync failed... If you're using
kvm-hv.ko, only "-cpu host" is possible
qemu-system-ppc: kvm_init_vcpu: kvm_arch_init_vcpu failed (0): Invalid argument

Although the host is running kvm_hv we don't have a way of differentiate
between kvm_hv and kvm_pr, meaning that this test would've failed in the
same way if kvm_pr was the KVM module loaded in the host.

Since we don't have a way of checking which KVM module is being loaded
when using avocado, make a TCG accel check in test_ppc_ref405ep().

Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Message-Id: <20220310183011.110391-5-danielhb413@gmail.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>


  Commit: 4e653f0aa8db4fb8f4fc48f0d5231f2b9bc3a9e5
      
https://github.com/qemu/qemu/commit/4e653f0aa8db4fb8f4fc48f0d5231f2b9bc3a9e5
  Author: Daniel Henrique Barboza <danielhb413@gmail.com>
  Date:   2022-03-14 (Mon, 14 Mar 2022)

  Changed paths:
    M tests/avocado/ppc_74xx.py

  Log Message:
  -----------
  avocado/ppc_74xx.py: check TCG accel for all tests

All tests of this file, when running in an IBM POWER host and with
--disable-tcg, fail in a similar manner:

        Command: ./qemu-system-ppc -display none -vga none (...)
-cpu 7400 (...)
        Output: ioctl(KVM_CREATE_VM) failed: 22 Invalid argument
PPC KVM module is not loaded. Try modprobe kvm_pr.
qemu-system-ppc: failed to initialize kvm: Invalid argument

We don't have a way of telling which KVM module is loaded in a Power
host (kvm_hv or kvm_pr). For now let's make all the tests of this
file depend on TCG support.

Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Message-Id: <20220310183011.110391-6-danielhb413@gmail.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>


  Commit: 52b7fb79ed8e406c86d4b9e98b9047df2d7fadfc
      
https://github.com/qemu/qemu/commit/52b7fb79ed8e406c86d4b9e98b9047df2d7fadfc
  Author: Daniel Henrique Barboza <danielhb413@gmail.com>
  Date:   2022-03-14 (Mon, 14 Mar 2022)

  Changed paths:
    M tests/avocado/ppc_bamboo.py

  Log Message:
  -----------
  avocado/ppc_bamboo.py: check TCG accel in test_ppc_bamboo()

This tests times out in an IBM POWER host when compiled with
--disable-tcg.

Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Message-Id: <20220310183011.110391-7-danielhb413@gmail.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>


  Commit: 32768847b7c902a84f8d291797206b575e105d94
      
https://github.com/qemu/qemu/commit/32768847b7c902a84f8d291797206b575e105d94
  Author: Daniel Henrique Barboza <danielhb413@gmail.com>
  Date:   2022-03-14 (Mon, 14 Mar 2022)

  Changed paths:
    M tests/avocado/ppc_mpc8544ds.py

  Log Message:
  -----------
  avocado/ppc_mpc8544ds.py: check TCG accel in test_ppc_mpc8544ds()

This tests times out in an IBM POWER host when compiled with
--disable-tcg.

Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Message-Id: <20220310183011.110391-8-danielhb413@gmail.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>


  Commit: 486ff2896e5bab24403545068dafc1e21bb5c38c
      
https://github.com/qemu/qemu/commit/486ff2896e5bab24403545068dafc1e21bb5c38c
  Author: Daniel Henrique Barboza <danielhb413@gmail.com>
  Date:   2022-03-14 (Mon, 14 Mar 2022)

  Changed paths:
    M tests/avocado/ppc_prep_40p.py

  Log Message:
  -----------
  avocado/ppc_prep_40p.py: check TCG accel in all tests

All tests in the file times out when running in an IBM POWER host and
--disable-tcg with an error like the following:

        Command: ./qemu-system-ppc -display none -vga none (...)
-machine 40p (...)
        Output: qemu-system-ppc: Register sync failed... If you're using
kvm-hv.ko, only "-cpu host" is possible
qemu-system-ppc: kvm_init_vcpu: kvm_arch_init_vcpu failed (0): Invalid argument

Since we don't have a way to detect whether the host is running kvm_hv
or kvm_pr, skip all tests if TCG is not available.

Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20220310183011.110391-9-danielhb413@gmail.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>


  Commit: b719411673386187862218892f21b3974987f9c3
      
https://github.com/qemu/qemu/commit/b719411673386187862218892f21b3974987f9c3
  Author: Daniel Henrique Barboza <danielhb413@gmail.com>
  Date:   2022-03-14 (Mon, 14 Mar 2022)

  Changed paths:
    M tests/avocado/ppc_virtex_ml507.py

  Log Message:
  -----------
  avocado/ppc_virtex_ml507.py: check TCG accel in test_ppc_virtex_ml507()

This test times out when running in an IBM POWER host and --disable-tcg.

Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Message-Id: <20220310183011.110391-10-danielhb413@gmail.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>


  Commit: c6242335b3ff504a552ceba18c8b8ab9dc684a77
      
https://github.com/qemu/qemu/commit/c6242335b3ff504a552ceba18c8b8ab9dc684a77
  Author: Leandro Lupori <leandro.lupori@eldorado.org.br>
  Date:   2022-03-14 (Mon, 14 Mar 2022)

  Changed paths:
    M target/ppc/mmu-radix64.c

  Log Message:
  -----------
  target/ppc: fix ISI fault cause for Radix MMU

Fix Instruction Storage Interrupt (ISI) fault cause for Radix MMU,
when caused by missing PAGE_EXEC permission, to be
SRR1_NOEXEC_GUARD instead of DSISR_PROTFAULT.
This matches POWER9 hardware behavior.

Fixes: d5fee0bbe68 ("target/ppc: Implement ISA V3.00 radix page fault handler")
Signed-off-by: Leandro Lupori <leandro.lupori@eldorado.org.br>
Message-Id: <20220309192756.145283-1-leandro.lupori@eldorado.org.br>
Signed-off-by: Cédric Le Goater <clg@kaod.org>


  Commit: 52d324ff13fcf97bc31f2e24803e366d330aa7cc
      
https://github.com/qemu/qemu/commit/52d324ff13fcf97bc31f2e24803e366d330aa7cc
  Author: Matheus Ferst <matheus.ferst@eldorado.org.br>
  Date:   2022-03-14 (Mon, 14 Mar 2022)

  Changed paths:
    M target/ppc/translate/vsx-impl.c.inc
    M tests/tcg/ppc64/Makefile.target
    M tests/tcg/ppc64le/Makefile.target
    A tests/tcg/ppc64le/xxspltw.c

  Log Message:
  -----------
  target/ppc: fix xxspltw for big endian hosts

Fix a typo in the host endianness macro and add a simple test to detect
regressions.

Fixes: 9bb0048ec6f8 ("target/ppc: convert xxspltw to vector operations")
Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20220310172047.61094-1-matheus.ferst@eldorado.org.br>
Signed-off-by: Cédric Le Goater <clg@kaod.org>


  Commit: 5d927bceaf882770790800d8069fcaa0c9034a7f
      
https://github.com/qemu/qemu/commit/5d927bceaf882770790800d8069fcaa0c9034a7f
  Author: Cédric Le Goater <clg@kaod.org>
  Date:   2022-03-14 (Mon, 14 Mar 2022)

  Changed paths:
    M hw/intc/xive2.c

  Log Message:
  -----------
  ppc/xive2: Make type Xive2EndSource not user creatable

Xive2EndSource objects can only be instantiated through a Xive2Router
(PnvXive2).

Reported-by: Thomas Huth <thuth@redhat.com>
Fixes: f8a233dedf25 ("ppc/xive2: Introduce a XIVE2 core framework")
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Cédric Le Goater <clg@kaod.org>


  Commit: d3df1f64704d0a189270703ff6406fcfebfd1913
      
https://github.com/qemu/qemu/commit/d3df1f64704d0a189270703ff6406fcfebfd1913
  Author: Frederic Barrat <fbarrat@linux.ibm.com>
  Date:   2022-03-14 (Mon, 14 Mar 2022)

  Changed paths:
    M hw/pci-host/pnv_phb4.c
    M hw/pci-host/pnv_phb4_pec.c
    M include/hw/pci-host/pnv_phb4.h

  Log Message:
  -----------
  ppc/pnv: Introduce a pnv-phb5 device to match root port

We already have the pnv-phb3 and pnv-phb4 devices for POWER8 and
POWER9 respectively. POWER10 uses version 5 of the PHB. It is very
close to the PHB4 from POWER9, at least in our model and we could
almost keep using the PHB4 model. However the matching root port
pnv-phb5-root-port is specific to POWER10 so to avoid confusion as
well as making it easy to introduce differences later, we create a
pnv-phb5 class, which is mostly an alias for pnv-phb4 for now.

With this patch, the command line for a user-created PHB on powernv10
becomes:
  -machine powernv10 -nodefaults -device pnv-phb5 -device pnv-phb5-root-port

Fixes: 623575e16cd5 ("ppc/pnv: Add model for POWER10 PHB5 PCIe Host bridge")
Signed-off-by: Frederic Barrat <fbarrat@linux.ibm.com>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Message-Id: <20220310155101.294568-2-fbarrat@linux.ibm.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>


  Commit: 8e6f45cc3f94d5a1ba5cf0017bc846454b3d3fa3
      
https://github.com/qemu/qemu/commit/8e6f45cc3f94d5a1ba5cf0017bc846454b3d3fa3
  Author: Frederic Barrat <fbarrat@linux.ibm.com>
  Date:   2022-03-14 (Mon, 14 Mar 2022)

  Changed paths:
    M hw/ppc/pnv.c

  Log Message:
  -----------
  ppc/pnv: Always create the PHB5 PEC devices

Always create the PECs (PCI Express Controller) for the system. The
PECs host the PHBs and we try to find the matching PEC when creating a
PHB, so it must exist. It also matches what we do on POWER9

Fixes: 623575e16cd5 ("ppc/pnv: Add model for POWER10 PHB5 PCIe Host bridge")
Signed-off-by: Frederic Barrat <fbarrat@linux.ibm.com>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
[ clg: - Rewored commit log
       - Removed dynamic PHB5 ]
Message-Id: <20220310155101.294568-3-fbarrat@linux.ibm.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>


  Commit: 9c10d86fee11d96274ea6f7cda12d2471abe3c47
      
https://github.com/qemu/qemu/commit/9c10d86fee11d96274ea6f7cda12d2471abe3c47
  Author: Cédric Le Goater <clg@kaod.org>
  Date:   2022-03-14 (Mon, 14 Mar 2022)

  Changed paths:
    M hw/pci-host/pnv_phb3.c
    M hw/pci-host/pnv_phb4.c
    M hw/pci-host/pnv_phb4_pec.c
    M hw/ppc/pnv.c
    M include/hw/ppc/pnv.h

  Log Message:
  -----------
  ppc/pnv: Remove user-created PHB{3,4,5} devices

On a real system with POWER{8,9,10} processors, PHBs are sub-units of
the processor, they can be deactivated by firmware but not plugged in
or out like a PCI adapter on a slot. Nevertheless, having user-created
PHBs in QEMU seemed to be a good idea for testing purposes :

 1. having a limited set of PHBs speedups boot time.
 2. it is useful to be able to mimic a partially broken topology you
    some time have to deal with during bring-up.

PowerNV is also used for distro install tests and having libvirt
support eases these tasks. libvirt prefers to run the machine with
-nodefaults to be sure not to drag unexpected devices which would need
to be defined in the domain file without being specified on the QEMU
command line. For this reason :

 3. -nodefaults should not include default PHBs

User-created PHB{3,4,5} devices satisfied all these needs but reality
proves to be a bit more complex, internally when modeling such
devices, and externally when dealing with the user interface.

Req 1. and 2. can be simply addressed differently with a machine option:
"phb-mask=<uint>", which QEMU would use to enable/disable PHB device
nodes when creating the device tree.

For Req 3., we need to make sure we are taking the right approach. It
seems that we should expose a new type of user-created PHB device, a
generic virtualized one, that libvirt would use and not one depending
on the processor revision. This needs more thinking.

For now, remove user-created PHB{3,4,5} devices. All the cleanups we
did are not lost and they will be useful for the next steps.

Fixes: 5bc67b052b51 ("ppc/pnv: Introduce user creatable pnv-phb4 devices")
Fixes: 1f6a88fffc75 ("ppc/pnv: Introduce support for user created PHB3 devices")
Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Reviewed-by: Frederic Barrat <fbarrat@linux.ibm.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>
Message-Id: <20220314130514.529931-1-clg@kaod.org>
Signed-off-by: Cédric Le Goater <clg@kaod.org>


  Commit: ac621d40b58fcf9a058680a2a114718a0710abcc
      
https://github.com/qemu/qemu/commit/ac621d40b58fcf9a058680a2a114718a0710abcc
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2022-03-15 (Tue, 15 Mar 2022)

  Changed paths:
    M hw/intc/xive2.c
    M hw/pci-host/pnv_phb3.c
    M hw/pci-host/pnv_phb4.c
    M hw/pci-host/pnv_phb4_pec.c
    M hw/ppc/pnv.c
    M include/hw/pci-host/pnv_phb4.h
    M include/hw/ppc/pnv.h
    M target/ppc/mmu-radix64.c
    M target/ppc/translate/vsx-impl.c.inc
    M tests/avocado/boot_linux_console.py
    M tests/avocado/ppc_405.py
    M tests/avocado/ppc_74xx.py
    M tests/avocado/ppc_bamboo.py
    M tests/avocado/ppc_mpc8544ds.py
    M tests/avocado/ppc_prep_40p.py
    M tests/avocado/ppc_virtex_ml507.py
    M tests/avocado/replay_kernel.py
    M tests/qtest/meson.build
    M tests/tcg/ppc64/Makefile.target
    M tests/tcg/ppc64le/Makefile.target
    A tests/tcg/ppc64le/xxspltw.c

  Log Message:
  -----------
  Merge tag 'pull-ppc-20220314' of https://github.com/legoater/qemu into staging

ppc-7.0 queue :

* Removal of user-created PHB devices
* Avocado fixes for --disable-tcg
* Instruction and Radix MMU fixes

# gpg: Signature made Mon 14 Mar 2022 15:16:07 GMT
# gpg:                using RSA key A0F66548F04895EBFE6B0B6051A343C7CFFBECA1
# gpg: Good signature from "Cédric Le Goater <clg@kaod.org>" [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: A0F6 6548 F048 95EB FE6B  0B60 51A3 43C7 CFFB ECA1

* tag 'pull-ppc-20220314' of https://github.com/legoater/qemu:
  ppc/pnv: Remove user-created PHB{3,4,5} devices
  ppc/pnv: Always create the PHB5 PEC devices
  ppc/pnv: Introduce a pnv-phb5 device to match root port
  ppc/xive2: Make type Xive2EndSource not user creatable
  target/ppc: fix xxspltw for big endian hosts
  target/ppc: fix ISI fault cause for Radix MMU
  avocado/ppc_virtex_ml507.py: check TCG accel in test_ppc_virtex_ml507()
  avocado/ppc_prep_40p.py: check TCG accel in all tests
  avocado/ppc_mpc8544ds.py: check TCG accel in test_ppc_mpc8544ds()
  avocado/ppc_bamboo.py: check TCG accel in test_ppc_bamboo()
  avocado/ppc_74xx.py: check TCG accel for all tests
  avocado/ppc_405.py: check TCG accel in test_ppc_ref405ep()
  avocado/ppc_405.py: remove test_ppc_taihu()
  avocado/boot_linux_console.py: check TCG accel in test_ppc_mac99()
  avocado/boot_linux_console.py: check TCG accel in test_ppc_g3beige()
  avocado/replay_kernel.py: make tcg-icount check in run_vm()
  avocado/boot_linux_console.py: check tcg accel in test_ppc64_e500
  avocado/boot_linux_console.py: check for tcg in test_ppc_powernv8/9
  qtest/meson.build: check CONFIG_TCG for boot-serial-test in qtests_ppc
  qtest/meson.build: check CONFIG_TCG for prom-env-test in qtests_ppc

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


Compare: https://github.com/qemu/qemu/compare/a72ada1662ee...ac621d40b58f



reply via email to

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