qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] e64645: target/ppc/translate: Add dummy imple


From: Thomas Huth
Subject: [Qemu-commits] [qemu/qemu] e64645: target/ppc/translate: Add dummy implementation for...
Date: Sat, 04 Mar 2023 07:41:12 -0800

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: e64645ba802f7735bfffe342945a71b4fb1c5b66
      
https://github.com/qemu/qemu/commit/e64645ba802f7735bfffe342945a71b4fb1c5b66
  Author: Bernhard Beschow <shentey@gmail.com>
  Date:   2023-03-03 (Fri, 03 Mar 2023)

  Changed paths:
    M target/ppc/translate.c

  Log Message:
  -----------
  target/ppc/translate: Add dummy implementation for dcblc instruction

The dcblc instruction is used by u-boot in mpc85xx/start.S. Without it,
an illegal istruction exception is generated very early in the boot
process where the processor is not yet able to handle exceptions. See:

https://github.com/u-boot/u-boot/blob/v2023.01/arch/powerpc/cpu/mpc85xx/start.S#L1840

Signed-off-by: Bernhard Beschow <shentey@gmail.com>
Message-Id: <20230130184950.5241-1-shentey@gmail.com>
Acked-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>


  Commit: 1068ebb60642a6da4bcece4859416a5abd00116c
      
https://github.com/qemu/qemu/commit/1068ebb60642a6da4bcece4859416a5abd00116c
  Author: Frederic Barrat <fbarrat@linux.ibm.com>
  Date:   2023-03-03 (Fri, 03 Mar 2023)

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

  Log Message:
  -----------
  pnv_phb4_pec: Keep track of instantiated PHBs

Add an array on the PEC object to keep track of the PHBs which are
instantiated. The array can be sparsely populated when using
user-created PHBs. It will be useful for the next patch to only export
instantiated PHBs in the device tree.

Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Signed-off-by: Frederic Barrat <fbarrat@linux.ibm.com>
Message-Id: <20230302163715.129635-2-fbarrat@linux.ibm.com>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>


  Commit: cd9b1cf96e11befa490e0252b57d46baa33458ea
      
https://github.com/qemu/qemu/commit/cd9b1cf96e11befa490e0252b57d46baa33458ea
  Author: Frederic Barrat <fbarrat@linux.ibm.com>
  Date:   2023-03-03 (Fri, 03 Mar 2023)

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

  Log Message:
  -----------
  pnv_phb4_pec: Only export existing PHBs to the device tree

So far, we were always exporting all possible PHBs to the device
tree. It works well when using the default config but it potentially
adds non-existing devices when using '-nodefaults' and user-created
PHBs, causing the firmware (skiboot) to report errors when probing
those PHBs. This patch only exports PHBs which have been realized to
the device tree.

Fixes: d786be3fe746 ("ppc/pnv: enable user created pnv-phb for powernv9")
Signed-off-by: Frederic Barrat <fbarrat@linux.ibm.com>
Message-Id: <20230302163715.129635-3-fbarrat@linux.ibm.com>
Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>


  Commit: fa9dc22aecf881bb7f7e27360a06334bc219ca6f
      
https://github.com/qemu/qemu/commit/fa9dc22aecf881bb7f7e27360a06334bc219ca6f
  Author: Frederic Barrat <fbarrat@linux.ibm.com>
  Date:   2023-03-03 (Fri, 03 Mar 2023)

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

  Log Message:
  -----------
  pnv_phb4_pec: Move pnv_phb4_get_pec() to rightful file

The function pnv_phb4_get_pec() exposes some internals of the PEC and
PHB logic, yet it was in the higher level hw/ppc/pnv.c file for
historical reasons: P8 implements the PHBs from pnv.c directly, but on
P9/P10, it's done through the CEC model, which has its own file. So
move pnv_phb4_get_pec() to hw/pci-host/pnv_phb4_pec.c, where it fits
naturally.

While at it, replace the PnvPHB4 parameter by the PnvPHB front-end,
since it has all the information needed and simplify it a bit.

No functional changes.

Signed-off-by: Frederic Barrat <fbarrat@linux.ibm.com>
Message-Id: <20230302163715.129635-4-fbarrat@linux.ibm.com>
Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>


  Commit: ddf0676f1ade90026483a91823d86db4096a40ef
      
https://github.com/qemu/qemu/commit/ddf0676f1ade90026483a91823d86db4096a40ef
  Author: Frederic Barrat <fbarrat@linux.ibm.com>
  Date:   2023-03-03 (Fri, 03 Mar 2023)

  Changed paths:
    M hw/pci-host/pnv_phb.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

  Log Message:
  -----------
  pnv_phb4_pec: Simplify/align code to parent user-created PHBs

When instantiating a user-created PHB on P9/P10, we don't really have
a reason any more to go through an indirection in pnv_chip_add_phb()
in pnv.c, we can go straight to the right function in
pnv_phb4_pec.c. That way, default PHBs and user-created PHBs are all
handled in the same file.  This patch also renames pnv_phb4_get_pec()
to pnv_pec_add_phb() to better reflect that it "hooks" a PHB to a PEC.

For P8, the PHBs are parented to the chip directly, so it makes sense
to keep calling pnv_chip_add_phb() in pnv.c, to also be consistent
with where default PHBs are handled. The only change here is that,
since that function is now only used for P8, we can refine the return
type.

So overall, the PnvPHB front-end now has a pnv_phb_user_get_parent()
function which handles the parenting of the user-created PHBs by
calling the right function in the right file based on the processor
version. It's also easily extensible if we ever need to support a
different parent object.

Signed-off-by: Frederic Barrat <fbarrat@linux.ibm.com>
Message-Id: <20230302163715.129635-5-fbarrat@linux.ibm.com>
Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>


  Commit: ca30a985e956939e503ed62cc98f465cfb039db1
      
https://github.com/qemu/qemu/commit/ca30a985e956939e503ed62cc98f465cfb039db1
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2023-03-04 (Sat, 04 Mar 2023)

  Changed paths:
    M hw/pci-host/pnv_phb.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/translate.c

  Log Message:
  -----------
  Merge tag 'pull-ppc-20230303' of https://gitlab.com/danielhb/qemu into staging

ppc patch queue for 2023-03-03:

This queue includes a stub implementation for the dcblc instruction to
avoid an illegal instrunction exception when using u-boot with mpc85xx.
It also includes a PHB fix with user-created pnv-phb devices and
Skiboot.

# -----BEGIN PGP SIGNATURE-----
#
# iIwEABYKADQWIQQX6/+ZI9AYAK8oOBk82cqW3gMxZAUCZAJllhYcZGFuaWVsaGI0
# MTNAZ21haWwuY29tAAoJEDzZypbeAzFk02YA/2YnJl0aRw6hgiayI2rLbcwQcVfp
# oGAhh4QmqFL2UJw2AQDra0kh9sxBSEcqhltNnOa08tBnHPts3W/A8nmFtCd4Cw==
# =VRNM
# -----END PGP SIGNATURE-----
# gpg: Signature made Fri 03 Mar 2023 21:24:38 GMT
# gpg:                using EDDSA key 17EBFF9923D01800AF2838193CD9CA96DE033164
# gpg:                issuer "danielhb413@gmail.com"
# gpg: Good signature from "Daniel Henrique Barboza <danielhb413@gmail.com>" 
[unknown]
# 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: 17EB FF99 23D0 1800 AF28  3819 3CD9 CA96 DE03 3164

* tag 'pull-ppc-20230303' of https://gitlab.com/danielhb/qemu:
  pnv_phb4_pec: Simplify/align code to parent user-created PHBs
  pnv_phb4_pec: Move pnv_phb4_get_pec() to rightful file
  pnv_phb4_pec: Only export existing PHBs to the device tree
  pnv_phb4_pec: Keep track of instantiated PHBs
  target/ppc/translate: Add dummy implementation for dcblc instruction

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


  Commit: c15d9e2311a54346e01afb22007d0868724ee8c8
      
https://github.com/qemu/qemu/commit/c15d9e2311a54346e01afb22007d0868724ee8c8
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2023-03-04 (Sat, 04 Mar 2023)

  Changed paths:
    M tests/qtest/migration-test.c

  Log Message:
  -----------
  tests/qtest/migration-test: Disable migration/multifd/tcp/plain/cancel

migration-test has been flaky for a long time, both in CI and
otherwise:

https://gitlab.com/qemu-project/qemu/-/jobs/3806090216
(a FreeBSD job)
  32/648 
ERROR:../tests/qtest/migration-helpers.c:205:wait_for_migration_status: 
assertion failed: (g_test_timer_elapsed() < MIGRATION_STATUS_WAIT_TIMEOUT) ERROR

on a local macos x86 box:
▶  34/621 
ERROR:../../tests/qtest/migration-helpers.c:151:migrate_query_not_failed: 
assertion failed: (!g_str_equal(status, "failed")) ERROR
 34/621 qemu:qtest+qtest-i386 / qtest-i386/migration-test                       
  ERROR          168.12s   killed by signal 6 SIGABRT
――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
stderr:
qemu-system-i386: Failed to peek at channel
query-migrate shows failed migration: Unable to write to socket: Broken pipe
**
ERROR:../../tests/qtest/migration-helpers.c:151:migrate_query_not_failed: 
assertion failed: (!g_str_equal(status, "failed"))

(test program exited with status code -6)
――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――

▶  37/621 
ERROR:../../tests/qtest/migration-helpers.c:151:migrate_query_not_failed: 
assertion failed: (!g_str_equal(status, "failed")) ERROR
 37/621 qemu:qtest+qtest-x86_64 / qtest-x86_64/migration-test                   
  ERROR          174.37s   killed by signal 6 SIGABRT
――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
stderr:
query-migrate shows failed migration: Unable to write to socket: Broken pipe
**
ERROR:../../tests/qtest/migration-helpers.c:151:migrate_query_not_failed: 
assertion failed: (!g_str_equal(status, "failed"))

(test program exited with status code -6)

In the cases where I've looked at the underlying log, this seems to
be in the migration/multifd/tcp/plain/cancel subtest.  Disable that
specific subtest by default until somebody can track down the
underlying cause. Enthusiasts can opt back in by setting
QEMU_TEST_FLAKY_TESTS=1 in their environment.

We might need to disable more parts of this test if this isn't
sufficient to fix the flakiness.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Acked-by: Thomas Huth <thuth@redhat.com>
Message-id: 20230302172211.4146376-1-peter.maydell@linaro.org


  Commit: 2946e1af2704bf6584f57d4e3aec49d1d5f3ecc0
      
https://github.com/qemu/qemu/commit/2946e1af2704bf6584f57d4e3aec49d1d5f3ecc0
  Author: Thomas Huth <thuth@redhat.com>
  Date:   2023-03-04 (Sat, 04 Mar 2023)

  Changed paths:
    M configure

  Log Message:
  -----------
  configure: Disable thread-safety warnings on macOS

The enablement of -Wthread-safety broke compilation on macOS (if
-Werror is enabled, like in our CI). Disable it there by default
until the problems are resolved.

Signed-off-by: Thomas Huth <thuth@redhat.com>
Acked-by: Kevin Wolf <kwolf@redhat.com>
Message-id: 20230301113425.286946-1-thuth@redhat.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


Compare: https://github.com/qemu/qemu/compare/cad8db986560...2946e1af2704



reply via email to

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