qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] 41bf93: bsd-user: Catch up with sys/param.h r


From: Paolo Bonzini
Subject: [Qemu-commits] [qemu/qemu] 41bf93: bsd-user: Catch up with sys/param.h requirement fo...
Date: Mon, 31 Oct 2022 03:42:18 -0700

  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: 41bf9322a0f8378b1194324cf7c6048253673046
      
https://github.com/qemu/qemu/commit/41bf9322a0f8378b1194324cf7c6048253673046
  Author: Muhammad Moinur Rahman <bofh@FreeBSD.org>
  Date:   2022-10-26 (Wed, 26 Oct 2022)

  Changed paths:
    M bsd-user/host/i386/host-signal.h
    M bsd-user/host/x86_64/host-signal.h

  Log Message:
  -----------
  bsd-user: Catch up with sys/param.h requirement for machine/pmap.h

Some versions of FreeBSD now require sys/param.h for machine/pmap.h on
x86. Include them here to meet that requirement. It does no harm on
older versions, so there's no need to #ifdef it.

Signed-off-by:  Muhammad Moinur Rahman <bofh@FreeBSD.org>
Reviewed-by:    John Baldwin <jhb@FreeBSD.org>
Signed-off-by:  Warner Losh <imp@bsdimp.com>


  Commit: 36c182bbe680d64f0868522bb9256b5b8eccf280
      
https://github.com/qemu/qemu/commit/36c182bbe680d64f0868522bb9256b5b8eccf280
  Author: Claudio Imbrenda <imbrenda@linux.ibm.com>
  Date:   2022-10-27 (Thu, 27 Oct 2022)

  Changed paths:
    M hw/s390x/pv.c

  Log Message:
  -----------
  s390x/pv: remove semicolon from macro definition

Remove spurious semicolon at the end of the macro s390_pv_cmd

Signed-off-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
Acked-by: Cornelia Huck <cohuck@redhat.com>
Message-Id: <20221010151041.89071-1-imbrenda@linux.ibm.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: d001a81256d1291319e13711f73d1f436beb81af
      
https://github.com/qemu/qemu/commit/d001a81256d1291319e13711f73d1f436beb81af
  Author: Cornelia Huck <cohuck@redhat.com>
  Date:   2022-10-27 (Thu, 27 Oct 2022)

  Changed paths:
    M MAINTAINERS

  Log Message:
  -----------
  s390x: step down as general arch maintainer

I haven't really been working on s390x for some time now, and in
practice, I don't have time for it, either. So let's remove myself
from this entry.

Signed-off-by: Cornelia Huck <cohuck@redhat.com>
Message-Id: <20221010160957.40779-1-cohuck@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 38621181ae3cbec62e3490fbc14f6ac01642d07a
      
https://github.com/qemu/qemu/commit/38621181ae3cbec62e3490fbc14f6ac01642d07a
  Author: Nico Boehr <nrb@linux.ibm.com>
  Date:   2022-10-27 (Thu, 27 Oct 2022)

  Changed paths:
    M hw/s390x/tod-kvm.c

  Log Message:
  -----------
  s390x/tod-kvm: don't save/restore the TOD in PV guests

Under PV, the guest's TOD clock is under control of the ultravisor and the
hypervisor cannot change it.

With upcoming kernel changes[1], the Linux kernel will reject QEMU's
request to adjust the guest's clock in this case, so don't attempt to set
the clock.

This avoids the following warning message on save/restore of a PV guest:

warning: Unable to set KVM guest TOD clock: Operation not supported

[1] https://lore.kernel.org/all/20221011160712.928239-2-nrb@linux.ibm.com/

Fixes: c3347ed0d2ee ("s390x: protvirt: Support unpack facility")
Signed-off-by: Nico Boehr <nrb@linux.ibm.com>
Message-Id: <20221012123229.1196007-1-nrb@linux.ibm.com>
[thuth: Add curly braces]
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 117ea96089e36a4d31a42f96062b950641ba1698
      
https://github.com/qemu/qemu/commit/117ea96089e36a4d31a42f96062b950641ba1698
  Author: Thomas Huth <thuth@redhat.com>
  Date:   2022-10-27 (Thu, 27 Oct 2022)

  Changed paths:
    M tests/tcg/s390x/Makefile.target

  Log Message:
  -----------
  tests/tcg/s390x: Test compiler flags only once, not every time

This is common practice, see the Makefile.target in the aarch64
folder for example.

Suggested-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20221012182755.1014853-2-thuth@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: f7d81a351d6122440f9190adba69da3f81b7b186
      
https://github.com/qemu/qemu/commit/f7d81a351d6122440f9190adba69da3f81b7b186
  Author: Thomas Huth <thuth@redhat.com>
  Date:   2022-10-27 (Thu, 27 Oct 2022)

  Changed paths:
    M target/s390x/tcg/translate_vx.c.inc

  Log Message:
  -----------
  target/s390x: Fix emulation of the VISTR instruction

The element size is encoded in the M3 field, not in the M4
field.

Fixes: be6324c6b734 ("s390x/tcg: Implement VECTOR ISOLATE STRING")
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1248
Message-Id: <20221012182755.1014853-3-thuth@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 9e3eb3b29a73c35adbbe60b0fd3c8feb6c680d55
      
https://github.com/qemu/qemu/commit/9e3eb3b29a73c35adbbe60b0fd3c8feb6c680d55
  Author: Thomas Huth <thuth@redhat.com>
  Date:   2022-10-28 (Fri, 28 Oct 2022)

  Changed paths:
    M tests/tcg/s390x/Makefile.target
    A tests/tcg/s390x/vistr.c

  Log Message:
  -----------
  tests/tcg/s390x: Add a test for the vistr instruction

This test can be used to verify that the change in the previous
commit is indeed fixing the problem with the M3 vs. M4 field
mixup.

Message-Id: <20221012182755.1014853-4-thuth@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 9d711f19c5608910cdefdad24e23a2e695b312bb
      
https://github.com/qemu/qemu/commit/9d711f19c5608910cdefdad24e23a2e695b312bb
  Author: Christian Borntraeger <borntraeger@linux.ibm.com>
  Date:   2022-10-28 (Fri, 28 Oct 2022)

  Changed paths:
    M MAINTAINERS

  Log Message:
  -----------
  MAINTAINERS: target/s390x/: add Ilya as reviewer

Ilya has volunteered to review TCG patches for s390x.

Signed-off-by: Christian Borntraeger <borntraeger@linux.ibm.com>
Acked-by: David Hildenbrand <david@redhat.com>
Acked-by: Richard Henderson <richard.henderson@linaro.org>
Acked-by: Ilya Leoshkevich <iii@linux.ibm.com>
Message-Id: <20221019125640.3014143-1-borntraeger@linux.ibm.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: daa8bb57dba5add4929dea6919858a2062101b26
      
https://github.com/qemu/qemu/commit/daa8bb57dba5add4929dea6919858a2062101b26
  Author: Thomas Huth <thuth@redhat.com>
  Date:   2022-10-28 (Fri, 28 Oct 2022)

  Changed paths:
    M tests/qtest/tpm-crb-swtpm-test.c
    M tests/qtest/tpm-tis-device-swtpm-test.c
    M tests/qtest/tpm-tis-swtpm-test.c
    M tests/qtest/tpm-util.c
    M tests/qtest/tpm-util.h

  Log Message:
  -----------
  tests/qtest/tpm: Clean up remainders of swtpm

After running "make check", there are remainders of the tpm
tests left in the /tmp directory, slowly filling it up.
Seems like "swtpm" leaves a ".lock" and a "tpm2-00.permall"
file behind, so that the g_rmdir() calls on the temporary
directories fail. Introduce a helper function to remove those
leftovers before doing the g_rmdir().

Message-Id: <20221012084334.794253-1-thuth@redhat.com>
Reviewed-by: Stefan Berger <stefanb@linux.ibm.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 73df4f92273d80556777b9f2084898bd1889315e
      
https://github.com/qemu/qemu/commit/73df4f92273d80556777b9f2084898bd1889315e
  Author: Thomas Huth <thuth@redhat.com>
  Date:   2022-10-28 (Fri, 28 Oct 2022)

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

  Log Message:
  -----------
  tests/qtest/cxl-test: Remove temporary directories after testing

The cxl-test leaves some temporary directories behind. Let's
clean them up now!

Message-Id: <20221012091435.893570-1-thuth@redhat.com>
Reviewed-by: Zhang Chen <chen.zhang@intel.com>
Acked-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 0e283d845e9040a4a20dfb2c7122c9e95afca46f
      
https://github.com/qemu/qemu/commit/0e283d845e9040a4a20dfb2c7122c9e95afca46f
  Author: Akihiko Odaki <akihiko.odaki@daynix.com>
  Date:   2022-10-28 (Fri, 28 Oct 2022)

  Changed paths:
    M hw/net/e1000_regs.h
    M tests/qtest/libqos/e1000e.c

  Log Message:
  -----------
  tests/qtest/libqos/e1000e: Use e1000_regs.h

The register definitions in tests/qtest/libqos/e1000e.c had names
different from hw/net/e1000_regs.h, which made it hard to understand
what test codes corresponds to the implementation. Use
hw/net/e1000_regs.h from tests/qtest/libqos/e1000e.c to remove
these duplications.

E1000E_CTRL_EXT_TXLSFLOW is removed from E1000E_CTRL_EXT settings
because hw/net/e1000_regs.h does not have the definition and it is for
TCP segmentation offload, which does not matter for the implemented
tests.

Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Message-Id: <20221013055245.28102-1-akihiko.odaki@daynix.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 690d43a8b1fa0d6fce6f68725e823e95115cf532
      
https://github.com/qemu/qemu/commit/690d43a8b1fa0d6fce6f68725e823e95115cf532
  Author: Brad Smith <brad@comstyle.com>
  Date:   2022-10-28 (Fri, 28 Oct 2022)

  Changed paths:
    M tests/vm/openbsd

  Log Message:
  -----------
  tests/vm: update openbsd to release 7.2

tests/vm: update openbsd to release 7.2

Signed-off-by: Brad Smith <brad@comstyle.com>
Message-Id: <Y1TKVwNKvk+euT/s@humpty.home.comstyle.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 8f4bcbcf110f27b3bf8b8c33b48ec321f3e136d3
      
https://github.com/qemu/qemu/commit/8f4bcbcf110f27b3bf8b8c33b48ec321f3e136d3
  Author: Brad Smith <brad@comstyle.com>
  Date:   2022-10-28 (Fri, 28 Oct 2022)

  Changed paths:
    M .gitlab-ci.d/cirrus/freebsd-12.vars
    M .gitlab-ci.d/cirrus/freebsd-13.vars
    M tests/docker/dockerfiles/alpine.docker
    M tests/docker/dockerfiles/centos8.docker
    M tests/docker/dockerfiles/debian-amd64-cross.docker
    M tests/docker/dockerfiles/debian-amd64.docker
    M tests/docker/dockerfiles/debian-arm64-cross.docker
    M tests/docker/dockerfiles/debian-armel-cross.docker
    M tests/docker/dockerfiles/debian-armhf-cross.docker
    M tests/docker/dockerfiles/debian-mips64el-cross.docker
    M tests/docker/dockerfiles/debian-mipsel-cross.docker
    M tests/docker/dockerfiles/debian-ppc64el-cross.docker
    M tests/docker/dockerfiles/debian-s390x-cross.docker
    M tests/docker/dockerfiles/fedora.docker
    M tests/docker/dockerfiles/opensuse-leap.docker
    M tests/docker/dockerfiles/ubuntu2004.docker
    M tests/lcitool/libvirt-ci
    M tests/lcitool/projects/qemu.yml
    M tests/vm/freebsd

  Log Message:
  -----------
  tests: Add sndio to the FreeBSD CI containers / VM

Add sndio to the FreeBSD CI containers / VM

Signed-off-by: Brad Smith <brad@comstyle.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by:  Warner Losh <imp@bsdimp.com>
Message-Id: <Y1f6dxjvD01DtXyG@humpty.home.comstyle.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: c9923550b446e54413024117c0ed978a08e3ab1a
      
https://github.com/qemu/qemu/commit/c9923550b446e54413024117c0ed978a08e3ab1a
  Author: Xuzhou Cheng <xuzhou.cheng@windriver.com>
  Date:   2022-10-28 (Fri, 28 Oct 2022)

  Changed paths:
    M accel/dummy-cpus.c
    M accel/meson.build
    M accel/qtest/meson.build
    M include/hw/core/cpu.h
    M softmmu/cpus.c

  Log Message:
  -----------
  accel/qtest: Support qtest accelerator for Windows

Currently signal SIGIPI [=SIGUSR1] is used to kick the dummy CPU
when qtest accelerator is used. However SIGUSR1 is unsupported on
Windows. To support Windows, we add a QemuSemaphore CPUState::sem
to kick the dummy CPU instead for Windows.

Signed-off-by: Xuzhou Cheng <xuzhou.cheng@windriver.com>
Signed-off-by: Bin Meng <bin.meng@windriver.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20221028045736.679903-2-bin.meng@windriver.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 84c662d2546feda2aeac21d09d4c71e8658062c0
      
https://github.com/qemu/qemu/commit/84c662d2546feda2aeac21d09d4c71e8658062c0
  Author: Xuzhou Cheng <xuzhou.cheng@windriver.com>
  Date:   2022-10-28 (Fri, 28 Oct 2022)

  Changed paths:
    M include/qemu/sockets.h
    M tests/qtest/libqmp.c
    M tests/qtest/libqtest.c
    M util/osdep.c

  Log Message:
  -----------
  tests/qtest: Use send/recv for socket communication

Socket communication in the libqtest and libqmp codes uses read()
and write() which work on any file descriptor on *nix, and sockets
in *nix are an example of a file descriptor.

However sockets on Windows do not use *nix-style file descriptors,
so read() and write() cannot be used on sockets on Windows.
Switch over to use send() and recv() instead which work on both
Windows and *nix.

Signed-off-by: Xuzhou Cheng <xuzhou.cheng@windriver.com>
Signed-off-by: Bin Meng <bin.meng@windriver.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20221028045736.679903-3-bin.meng@windriver.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: b1d3095ccf61e4d1bd1d6273b9b7060fe7f20934
      
https://github.com/qemu/qemu/commit/b1d3095ccf61e4d1bd1d6273b9b7060fe7f20934
  Author: Bin Meng <bin.meng@windriver.com>
  Date:   2022-10-28 (Fri, 28 Oct 2022)

  Changed paths:
    M tests/qtest/libqtest.c

  Log Message:
  -----------
  tests/qtest: Support libqtest to build and run on Windows

At present the libqtest codes were written to depend on several
POSIX APIs, including fork(), kill() and waitpid(). Unfortunately
these APIs are not available on Windows.

This commit implements the corresponding functionalities using
win32 native APIs. With this change, all qtest cases can build
successfully on a Windows host, and we can start qtest testing
on Windows now.

Signed-off-by: Xuzhou Cheng <xuzhou.cheng@windriver.com>
Signed-off-by: Bin Meng <bin.meng@windriver.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20221028045736.679903-4-bin.meng@windriver.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: e4439e52806b797f38adf7a96b5ed74295f806b0
      
https://github.com/qemu/qemu/commit/e4439e52806b797f38adf7a96b5ed74295f806b0
  Author: Bin Meng <bin.meng@windriver.com>
  Date:   2022-10-28 (Fri, 28 Oct 2022)

  Changed paths:
    M tests/qtest/device-plug-test.c

  Log Message:
  -----------
  tests/qtest: device-plug-test: Reverse the usage of double/single quotes

The usage of double/single quotes in test_q35_pci_unplug_json_request()
should be reversed to work on both win32 and non-win32 platforms:

- The value of -device parameter needs to be surrounded by "" as
  Windows does not drop '' when passing it to QEMU which causes
  QEMU command line option parser failure.
- The JSON key/value pairs need to be surrounded by '' to make the
  JSON parser happy on Windows.

Fixes: a12f1a7e56b7 ("tests/x86: Add subtest with 'q35' machine type to 
device-plug-test")
Signed-off-by: Bin Meng <bin.meng@windriver.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20221028045736.679903-5-bin.meng@windriver.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 1b0f1b14fe26752d628dd71920f4bb63b79765a4
      
https://github.com/qemu/qemu/commit/1b0f1b14fe26752d628dd71920f4bb63b79765a4
  Author: Bin Meng <bin.meng@windriver.com>
  Date:   2022-10-28 (Fri, 28 Oct 2022)

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

  Log Message:
  -----------
  tests/qtest: Use EXIT_FAILURE instead of magic number

When migration fails, QEMU exits with a status code EXIT_FAILURE.
Change qtests to use the well-defined macro instead of magic number.

Signed-off-by: Bin Meng <bin.meng@windriver.com>
Message-Id: <20221028045736.679903-6-bin.meng@windriver.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 69c056fbc0cd57b4b2db7b3e823a9f6945756b38
      
https://github.com/qemu/qemu/commit/69c056fbc0cd57b4b2db7b3e823a9f6945756b38
  Author: Bin Meng <bin.meng@windriver.com>
  Date:   2022-10-28 (Fri, 28 Oct 2022)

  Changed paths:
    M tests/qtest/libqtest.c
    M tests/qtest/libqtest.h

  Log Message:
  -----------
  tests/qtest: libqtest: Introduce qtest_wait_qemu()

Introduce an API for qtest to wait for the QEMU process to terminate.

Suggested-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Bin Meng <bin.meng@windriver.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20221028045736.679903-7-bin.meng@windriver.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: f2d063e61ee2026700ab44bef967f663e976bec8
      
https://github.com/qemu/qemu/commit/f2d063e61ee2026700ab44bef967f663e976bec8
  Author: Xuzhou Cheng <xuzhou.cheng@windriver.com>
  Date:   2022-10-28 (Fri, 28 Oct 2022)

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

  Log Message:
  -----------
  tests/qtest: migration-test: Make sure QEMU process "to" exited after 
migration is canceled

Make sure QEMU process "to" exited before launching another target
for migration in the test_multifd_tcp_cancel case.

Signed-off-by: Xuzhou Cheng <xuzhou.cheng@windriver.com>
Signed-off-by: Bin Meng <bin.meng@windriver.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20221028045736.679903-8-bin.meng@windriver.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 8aff9c3279087b8527fd2c3dd4cf0706892887ba
      
https://github.com/qemu/qemu/commit/8aff9c3279087b8527fd2c3dd4cf0706892887ba
  Author: Bin Meng <bin.meng@windriver.com>
  Date:   2022-10-28 (Fri, 28 Oct 2022)

  Changed paths:
    M tests/qtest/libqos/meson.build

  Log Message:
  -----------
  tests/qtest: libqos: Do not build virtio-9p unconditionally

At present the virtio-9p related codes are built into libqos
unconditionally. Change to build them conditionally by testing
the 'virtfs' config option.

Signed-off-by: Bin Meng <bin.meng@windriver.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20221028045736.679903-9-bin.meng@windriver.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: db8fca024fa98241ed40470f87b8ecfb82c57d32
      
https://github.com/qemu/qemu/commit/db8fca024fa98241ed40470f87b8ecfb82c57d32
  Author: Bin Meng <bin.meng@windriver.com>
  Date:   2022-10-28 (Fri, 28 Oct 2022)

  Changed paths:
    M tests/qtest/libqtest.c

  Log Message:
  -----------
  tests/qtest: libqtest: Correct the timeout unit of blocking receive calls for 
win32

Some qtest cases don't get response from the QEMU executable under
test in time on Windows. It turns out that the socket receive call
got timeout before it receive the complete response.

The timeout value is supposed to be set to 50 seconds via the
setsockopt() call, but there is a difference among platforms.
The timeout unit of blocking receive calls is measured in
seconds on non-Windows platforms but milliseconds on Windows.

Signed-off-by: Bin Meng <bin.meng@windriver.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20221028045736.679903-10-bin.meng@windriver.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 4f93f071ca9e7f85f976c805142d33f6cffd2745
      
https://github.com/qemu/qemu/commit/4f93f071ca9e7f85f976c805142d33f6cffd2745
  Author: Matheus Ferst <matheus.ferst@eldorado.org.br>
  Date:   2022-10-28 (Fri, 28 Oct 2022)

  Changed paths:
    M target/ppc/translate.c

  Log Message:
  -----------
  target/ppc: fix msgclr/msgsnd insns flags

On Power ISA v2.07, the category for these instructions became
"Embedded.Processor Control" or "Book S".

Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br>
Reviewed-by: Fabiano Rosas <farosas@linux.ibm.com>
Message-Id: <20221006200654.725390-2-matheus.ferst@eldorado.org.br>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>


  Commit: 9d950c724144770d9d092f70716da0da022926de
      
https://github.com/qemu/qemu/commit/9d950c724144770d9d092f70716da0da022926de
  Author: Matheus Ferst <matheus.ferst@eldorado.org.br>
  Date:   2022-10-28 (Fri, 28 Oct 2022)

  Changed paths:
    M target/ppc/translate.c

  Log Message:
  -----------
  target/ppc: fix msgsync insns flags

This instruction was added by Power ISA 3.0, using PPC2_PRCNTL makes it
available for older processors, like de e5500 and e6500.

Fixes: 7af1e7b02264 ("target/ppc: add support for hypervisor doorbells on 
book3s CPUs")
Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br>
Reviewed-by: Fabiano Rosas <farosas@linux.ibm.com>
Message-Id: <20221006200654.725390-3-matheus.ferst@eldorado.org.br>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>


  Commit: e8db3cc76e9555c482ee92743bcf3560e25b1424
      
https://github.com/qemu/qemu/commit/e8db3cc76e9555c482ee92743bcf3560e25b1424
  Author: Matheus Ferst <matheus.ferst@eldorado.org.br>
  Date:   2022-10-28 (Fri, 28 Oct 2022)

  Changed paths:
    M target/ppc/translate.c

  Log Message:
  -----------
  target/ppc: fix REQUIRE_HV macro definition

The macro is missing a '{' after the if condition. Any use of REQUIRE_HV
would cause a compilation error.

Fixes: fc34e81acd51 ("target/ppc: add macros to check privilege level")
Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br>
Reviewed-by: Fabiano Rosas <farosas@linux.ibm.com>
Message-Id: <20221006200654.725390-4-matheus.ferst@eldorado.org.br>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>


  Commit: 98f43417b66457eb9c207a2a09e0eef984dadc41
      
https://github.com/qemu/qemu/commit/98f43417b66457eb9c207a2a09e0eef984dadc41
  Author: Matheus Ferst <matheus.ferst@eldorado.org.br>
  Date:   2022-10-28 (Fri, 28 Oct 2022)

  Changed paths:
    M target/ppc/insn32.decode
    M target/ppc/translate.c
    A target/ppc/translate/processor-ctrl-impl.c.inc

  Log Message:
  -----------
  target/ppc: move msgclr/msgsnd to decodetree

Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br>
Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Message-Id: <20221006200654.725390-5-matheus.ferst@eldorado.org.br>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>


  Commit: e8e09d7da7dd572e6cf62b2f12b65fb9833cf7ba
      
https://github.com/qemu/qemu/commit/e8e09d7da7dd572e6cf62b2f12b65fb9833cf7ba
  Author: Matheus Ferst <matheus.ferst@eldorado.org.br>
  Date:   2022-10-28 (Fri, 28 Oct 2022)

  Changed paths:
    M target/ppc/insn32.decode
    M target/ppc/translate.c
    M target/ppc/translate/processor-ctrl-impl.c.inc

  Log Message:
  -----------
  target/ppc: move msgclrp/msgsndp to decodetree

Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br>
Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Message-Id: <20221006200654.725390-6-matheus.ferst@eldorado.org.br>
[danielhb: ppc32 build fix in trans_(MSGCLRP|MSGSNDP)]
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>


  Commit: b35bf5f2d759d97652b4acd96e62329a1657f3cb
      
https://github.com/qemu/qemu/commit/b35bf5f2d759d97652b4acd96e62329a1657f3cb
  Author: Matheus Ferst <matheus.ferst@eldorado.org.br>
  Date:   2022-10-28 (Fri, 28 Oct 2022)

  Changed paths:
    M target/ppc/insn32.decode
    M target/ppc/translate.c
    M target/ppc/translate/processor-ctrl-impl.c.inc

  Log Message:
  -----------
  target/ppc: move msgsync to decodetree

Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br>
Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Message-Id: <20221006200654.725390-7-matheus.ferst@eldorado.org.br>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>


  Commit: dc46167a2225d3c0861cd4fcbc350e3e0e89bc61
      
https://github.com/qemu/qemu/commit/dc46167a2225d3c0861cd4fcbc350e3e0e89bc61
  Author: Lucas Mateus Castro (alqotel) <lucas.araujo@eldorado.org.br>
  Date:   2022-10-28 (Fri, 28 Oct 2022)

  Changed paths:
    M target/ppc/helper.h
    M target/ppc/insn32.decode
    M target/ppc/int_helper.c
    M target/ppc/translate.c
    M target/ppc/translate/vmx-impl.c.inc

  Log Message:
  -----------
  target/ppc: Moved VMLADDUHM to decodetree and use gvec

This patch moves VMLADDUHM to decodetree a creates a gvec implementation
using mul_vec and add_vec.

rept    loop    master             patch
8       12500   0,01810500         0,00903100 (-50.1%)
25      4000    0,01739400         0,00747700 (-57.0%)
100     1000    0,01843600         0,00901400 (-51.1%)
500     200     0,02574600         0,01971000 (-23.4%)
2500    40      0,05921600         0,07121800 (+20.3%)
8000    12      0,15326700         0,21725200 (+41.7%)

The significant difference in performance when REPT is low and LOOP is
high I think is due to the fact that the new implementation has a higher
translation time, as when using a helper only 5 TCGop are used but with
the patch a total of 10 TCGop are needed (Power lacks a direct mul_vec
equivalent so this instruction is implemented with the help of 5 others,
vmuleu, vmulou, vmrgh, vmrgl and vpkum).

Signed-off-by: Lucas Mateus Castro (alqotel) <lucas.araujo@eldorado.org.br>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20221019125040.48028-2-lucas.araujo@eldorado.org.br>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>


  Commit: 306e4753354378213eddf6f4e6335ffc68186d1f
      
https://github.com/qemu/qemu/commit/306e4753354378213eddf6f4e6335ffc68186d1f
  Author: Lucas Mateus Castro (alqotel) <lucas.araujo@eldorado.org.br>
  Date:   2022-10-28 (Fri, 28 Oct 2022)

  Changed paths:
    M target/ppc/helper.h
    M target/ppc/insn32.decode
    M target/ppc/int_helper.c
    M target/ppc/translate/vmx-impl.c.inc
    M target/ppc/translate/vmx-ops.c.inc

  Log Message:
  -----------
  target/ppc: Move VMH[R]ADDSHS instruction to decodetree

This patch moves VMHADDSHS and VMHRADDSHS to decodetree I couldn't find
a satisfactory implementation with TCG inline.

vmhaddshs:
rept    loop    master             patch
8       12500   0,02983400         0,02648500 (-11.2%)
25      4000    0,02946000         0,02518000 (-14.5%)
100     1000    0,03104300         0,02638000 (-15.0%)
500     200     0,04002000         0,03502500 (-12.5%)
2500    40      0,08090100         0,07562200 (-6.5%)
8000    12      0,19242600         0,18626800 (-3.2%)

vmhraddshs:
rept    loop    master             patch
8       12500   0,03078600         0,02851000 (-7.4%)
25      4000    0,02793200         0,02746900 (-1.7%)
100     1000    0,02886000         0,02839900 (-1.6%)
500     200     0,03714700         0,03799200 (+2.3%)
2500    40      0,07948000         0,07852200 (-1.2%)
8000    12      0,19049800         0,18813900 (-1.2%)

Signed-off-by: Lucas Mateus Castro (alqotel) <lucas.araujo@eldorado.org.br>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20221019125040.48028-3-lucas.araujo@eldorado.org.br>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>


  Commit: 611bc69bf6bc6b23e91e4798c036b941c9958b40
      
https://github.com/qemu/qemu/commit/611bc69bf6bc6b23e91e4798c036b941c9958b40
  Author: Lucas Mateus Castro (alqotel) <lucas.araujo@eldorado.org.br>
  Date:   2022-10-28 (Fri, 28 Oct 2022)

  Changed paths:
    M target/ppc/helper.h
    M target/ppc/insn32.decode
    M target/ppc/int_helper.c
    M target/ppc/translate/vmx-impl.c.inc
    M target/ppc/translate/vmx-ops.c.inc

  Log Message:
  -----------
  target/ppc: Move V(ADD|SUB)CUW to decodetree and use gvec

This patch moves VADDCUW and VSUBCUW to decodtree with gvec using an
implementation based on the helper, with the main difference being
changing the -1 (aka all bits set to 1) result returned by cmp when
true to +1. It also implemented a .fni4 version of those instructions
and dropped the helper.

vaddcuw:
rept    loop    master             patch
8       12500   0,01008200         0,00612400 (-39.3%)
25      4000    0,01091500         0,00471600 (-56.8%)
100     1000    0,01332500         0,00593700 (-55.4%)
500     200     0,01998500         0,01275700 (-36.2%)
2500    40      0,04704300         0,04364300 (-7.2%)
8000    12      0,10748200         0,11241000 (+4.6%)

vsubcuw:
rept    loop    master             patch
8       12500   0,01226200         0,00571600 (-53.4%)
25      4000    0,01493500         0,00462100 (-69.1%)
100     1000    0,01522700         0,00455100 (-70.1%)
500     200     0,02384600         0,01133500 (-52.5%)
2500    40      0,04935200         0,03178100 (-35.6%)
8000    12      0,09039900         0,09440600 (+4.4%)

Overall there was a gain in performance, but the TCGop code was still
slightly bigger in the new version (it went from 4 to 5).

Signed-off-by: Lucas Mateus Castro (alqotel) <lucas.araujo@eldorado.org.br>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20221019125040.48028-4-lucas.araujo@eldorado.org.br>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>


  Commit: 90b5aadb09b1063dfc34636efe212c6862cbe32f
      
https://github.com/qemu/qemu/commit/90b5aadb09b1063dfc34636efe212c6862cbe32f
  Author: Lucas Mateus Castro (alqotel) <lucas.araujo@eldorado.org.br>
  Date:   2022-10-28 (Fri, 28 Oct 2022)

  Changed paths:
    M target/ppc/helper.h
    M target/ppc/insn32.decode
    M target/ppc/int_helper.c
    M target/ppc/translate/vmx-impl.c.inc
    M target/ppc/translate/vmx-ops.c.inc

  Log Message:
  -----------
  target/ppc: Move VNEG[WD] to decodtree and use gvec

Moved the instructions VNEGW and VNEGD to decodetree and used gvec to
decode it.

vnegw:
rept    loop    master             patch
8       12500   0,01053200         0,00548400 (-47.9%)
25      4000    0,01030500         0,00390000 (-62.2%)
100     1000    0,01096300         0,00395400 (-63.9%)
500     200     0,01472000         0,00712300 (-51.6%)
2500    40      0,03809000         0,02147700 (-43.6%)
8000    12      0,09957100         0,06202100 (-37.7%)

vnegd:
rept    loop    master             patch
8       12500   0,00594600         0,00543800 (-8.5%)
25      4000    0,00575200         0,00396400 (-31.1%)
100     1000    0,00676100         0,00394800 (-41.6%)
500     200     0,01149300         0,00709400 (-38.3%)
2500    40      0,03441500         0,02169600 (-37.0%)
8000    12      0,09516900         0,06337000 (-33.4%)

Signed-off-by: Lucas Mateus Castro (alqotel) <lucas.araujo@eldorado.org.br>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20221019125040.48028-5-lucas.araujo@eldorado.org.br>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>


  Commit: d57fbd8fd9ea4f559cf4ed6c8fb6f064b73d6882
      
https://github.com/qemu/qemu/commit/d57fbd8fd9ea4f559cf4ed6c8fb6f064b73d6882
  Author: Lucas Mateus Castro (alqotel) <lucas.araujo@eldorado.org.br>
  Date:   2022-10-28 (Fri, 28 Oct 2022)

  Changed paths:
    M target/ppc/helper.h
    M target/ppc/insn32.decode
    M target/ppc/int_helper.c
    M target/ppc/translate/vmx-impl.c.inc
    M target/ppc/translate/vmx-ops.c.inc

  Log Message:
  -----------
  target/ppc: Move VPRTYB[WDQ] to decodetree and use gvec

Moved VPRTYBW and VPRTYBD to use gvec and both of them and VPRTYBQ to
decodetree. VPRTYBW and VPRTYBD now also use .fni4 and .fni8,
respectively.

vprtybw:
rept    loop    master             patch
8       12500   0,01198900         0,00703100 (-41.4%)
25      4000    0,01070100         0,00571400 (-46.6%)
100     1000    0,01123300         0,00678200 (-39.6%)
500     200     0,01601500         0,01535600 (-4.1%)
2500    40      0,03872900         0,05562100 (43.6%)
8000    12      0,10047000         0,16643000 (65.7%)

vprtybd:
rept    loop    master             patch
8       12500   0,00757700         0,00788100 (4.0%)
25      4000    0,00652500         0,00669600 (2.6%)
100     1000    0,00714400         0,00825400 (15.5%)
500     200     0,01211000         0,01903700 (57.2%)
2500    40      0,03483800         0,07021200 (101.5%)
8000    12      0,09591800         0,21036200 (119.3%)

vprtybq:
rept    loop    master             patch
8       12500   0,00675600         0,00667200 (-1.2%)
25      4000    0,00619400         0,00643200 (3.8%)
100     1000    0,00707100         0,00751100 (6.2%)
500     200     0,01199300         0,01342000 (11.9%)
2500    40      0,03490900         0,04092900 (17.2%)
8000    12      0,09588200         0,11465100 (19.6%)

I wasn't expecting such a performance lost in both VPRTYBD and VPRTYBQ,
I'm not sure if it's worth to move those instructions. Comparing the
assembly of the helper with the TCGop they are pretty similar, so
I'm not sure why vprtybd took so much more time.

Signed-off-by: Lucas Mateus Castro (alqotel) <lucas.araujo@eldorado.org.br>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20221019125040.48028-6-lucas.araujo@eldorado.org.br>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>


  Commit: c85929b2ddf6bbad737635c9b85213007ec043af
      
https://github.com/qemu/qemu/commit/c85929b2ddf6bbad737635c9b85213007ec043af
  Author: Lucas Mateus Castro (alqotel) <lucas.araujo@eldorado.org.br>
  Date:   2022-10-28 (Fri, 28 Oct 2022)

  Changed paths:
    M target/ppc/helper.h
    M target/ppc/insn32.decode
    M target/ppc/int_helper.c
    M target/ppc/translate/vmx-impl.c.inc
    M target/ppc/translate/vmx-ops.c.inc

  Log Message:
  -----------
  target/ppc: Move VAVG[SU][BHW] to decodetree and use gvec

Moved the instructions VAVGUB, VAVGUH, VAVGUW, VAVGSB, VAVGSH, VAVGSW,
to decodetree and use gvec with them. For these one the right shift
had to be made before the sum as to avoid an overflow, so add 1 at the
end if any of the entries had 1 in its LSB as to replicate the "+ 1"
before the shift described by the ISA.

vavgub:
rept    loop    master             patch
8       12500   0,02616600         0,00754200 (-71.2%)
25      4000    0,02530000         0,00637700 (-74.8%)
100     1000    0,02604600         0,00790100 (-69.7%)
500     200     0,03189300         0,01838400 (-42.4%)
2500    40      0,06006900         0,06851000 (+14.1%)
8000    12      0,13941000         0,20548500 (+47.4%)

vavguh:
rept    loop    master             patch
8       12500   0,01818200         0,00780600 (-57.1%)
25      4000    0,01789300         0,00641600 (-64.1%)
100     1000    0,01899100         0,00787200 (-58.5%)
500     200     0,02527200         0,01828400 (-27.7%)
2500    40      0,05361800         0,06773000 (+26.3%)
8000    12      0,12886600         0,20291400 (+57.5%)

vavguw:
rept    loop    master             patch
8       12500   0,01423100         0,00776600 (-45.4%)
25      4000    0,01780800         0,00638600 (-64.1%)
100     1000    0,02085500         0,00787000 (-62.3%)
500     200     0,02737100         0,01828800 (-33.2%)
2500    40      0,05572600         0,06774200 (+21.6%)
8000    12      0,13101700         0,20311600 (+55.0%)

vavgsb:
rept    loop    master             patch
8       12500   0,03006000         0,00788600 (-73.8%)
25      4000    0,02882200         0,00637800 (-77.9%)
100     1000    0,02958000         0,00791400 (-73.2%)
500     200     0,03548800         0,01860400 (-47.6%)
2500    40      0,06360000         0,06850800 (+7.7%)
8000    12      0,13816500         0,20550300 (+48.7%)

vavgsh:
rept    loop    master             patch
8       12500   0,01965900         0,00776600 (-60.5%)
25      4000    0,01875400         0,00638700 (-65.9%)
100     1000    0,01952200         0,00786900 (-59.7%)
500     200     0,02562000         0,01760300 (-31.3%)
2500    40      0,05384300         0,06742800 (+25.2%)
8000    12      0,13240800         0,20330000 (+53.5%)

vavgsw:
rept    loop    master             patch
8       12500   0,01407700         0,00775600 (-44.9%)
25      4000    0,01762300         0,00640000 (-63.7%)
100     1000    0,02046500         0,00788500 (-61.5%)
500     200     0,02745600         0,01843000 (-32.9%)
2500    40      0,05375500         0,06820500 (+26.9%)
8000    12      0,13068300         0,20304900 (+55.4%)

These results to me seems to indicate that with gvec the results have a
slower translation but faster execution.

Signed-off-by: Lucas Mateus Castro (alqotel) <lucas.araujo@eldorado.org.br>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20221019125040.48028-7-lucas.araujo@eldorado.org.br>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>


  Commit: 26c964f85159c78f6ecf132de8f2f0093d3f2e89
      
https://github.com/qemu/qemu/commit/26c964f85159c78f6ecf132de8f2f0093d3f2e89
  Author: Lucas Mateus Castro (alqotel) <lucas.araujo@eldorado.org.br>
  Date:   2022-10-28 (Fri, 28 Oct 2022)

  Changed paths:
    M target/ppc/helper.h
    M target/ppc/insn32.decode
    M target/ppc/int_helper.c
    M target/ppc/translate/vmx-impl.c.inc
    M target/ppc/translate/vmx-ops.c.inc

  Log Message:
  -----------
  target/ppc: Move VABSDU[BHW] to decodetree and use gvec

Moved VABSDUB, VABSDUH and VABSDUW to decodetree and use gvec to
translate them.

vabsdub:
rept    loop    master             patch
8       12500   0,03601600         0,00688500 (-80.9%)
25      4000    0,03651000         0,00532100 (-85.4%)
100     1000    0,03666900         0,00595300 (-83.8%)
500     200     0,04305800         0,01244600 (-71.1%)
2500    40      0,06893300         0,04273700 (-38.0%)
8000    12      0,14633200         0,12660300 (-13.5%)

vabsduh:
rept    loop    master             patch
8       12500   0,02172400         0,00687500 (-68.4%)
25      4000    0,02154100         0,00531500 (-75.3%)
100     1000    0,02235400         0,00596300 (-73.3%)
500     200     0,02827500         0,01245100 (-56.0%)
2500    40      0,05638400         0,04285500 (-24.0%)
8000    12      0,13166000         0,12641400 (-4.0%)

vabsduw:
rept    loop    master             patch
8       12500   0,01646400         0,00688300 (-58.2%)
25      4000    0,01454500         0,00475500 (-67.3%)
100     1000    0,01545800         0,00511800 (-66.9%)
500     200     0,02168200         0,01114300 (-48.6%)
2500    40      0,04571300         0,04138800 (-9.5%)
8000    12      0,12209500         0,12178500 (-0.3%)

Same as VADDCUW and VSUBCUW, overall performance gain but it uses more
TCGop (4 before the patch, 6 after).

Signed-off-by: Lucas Mateus Castro (alqotel) <lucas.araujo@eldorado.org.br>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20221019125040.48028-8-lucas.araujo@eldorado.org.br>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>


  Commit: a5b36805192ac12f114c45e9c8ccbe4ce9ba1cf9
      
https://github.com/qemu/qemu/commit/a5b36805192ac12f114c45e9c8ccbe4ce9ba1cf9
  Author: Lucas Mateus Castro (alqotel) <lucas.araujo@eldorado.org.br>
  Date:   2022-10-28 (Fri, 28 Oct 2022)

  Changed paths:
    M target/ppc/insn32.decode
    M target/ppc/translate/vsx-impl.c.inc
    M target/ppc/translate/vsx-ops.c.inc

  Log Message:
  -----------
  target/ppc: Use gvec to decode XV[N]ABS[DS]P/XVNEG[DS]P

Moved XVABSSP, XVABSDP, XVNABSSP,XVNABSDP, XVNEGSP and XVNEGDP to
decodetree and used gvec to translate them.

xvabssp:
rept    loop    master             patch
8       12500   0,00477900         0,00476000 (-0.4%)
25      4000    0,00442800         0,00353300 (-20.2%)
100     1000    0,00478700         0,00366100 (-23.5%)
500     200     0,00973200         0,00649400 (-33.3%)
2500    40      0,03165200         0,02226700 (-29.7%)
8000    12      0,09315900         0,06674900 (-28.3%)

xvabsdp:
rept    loop    master             patch
8       12500   0,00475000         0,00474400 (-0.1%)
25      4000    0,00355600         0,00367500 (+3.3%)
100     1000    0,00444200         0,00366000 (-17.6%)
500     200     0,00942700         0,00732400 (-22.3%)
2500    40      0,02990000         0,02308500 (-22.8%)
8000    12      0,08770300         0,06683800 (-23.8%)

xvnabssp:
rept    loop    master             patch
8       12500   0,00494500         0,00492900 (-0.3%)
25      4000    0,00397700         0,00338600 (-14.9%)
100     1000    0,00421400         0,00353500 (-16.1%)
500     200     0,01048000         0,00707100 (-32.5%)
2500    40      0,03251500         0,02238300 (-31.2%)
8000    12      0,08889100         0,06469800 (-27.2%)

xvnabsdp:
rept    loop    master             patch
8       12500   0,00511000         0,00492700 (-3.6%)
25      4000    0,00398800         0,00381500 (-4.3%)
100     1000    0,00390500         0,00365900 (-6.3%)
500     200     0,00924800         0,00784600 (-15.2%)
2500    40      0,03138900         0,02391600 (-23.8%)
8000    12      0,09654200         0,05684600 (-41.1%)

xvnegsp:
rept    loop    master             patch
8       12500   0,00493900         0,00452800 (-8.3%)
25      4000    0,00369100         0,00366800 (-0.6%)
100     1000    0,00371100         0,00380000 (+2.4%)
500     200     0,00991100         0,00652300 (-34.2%)
2500    40      0,03025800         0,02422300 (-19.9%)
8000    12      0,09251100         0,06457600 (-30.2%)

xvnegdp:
rept    loop    master             patch
8       12500   0,00474900         0,00454400 (-4.3%)
25      4000    0,00353100         0,00325600 (-7.8%)
100     1000    0,00398600         0,00366800 (-8.0%)
500     200     0,01032300         0,00702400 (-32.0%)
2500    40      0,03125000         0,02422400 (-22.5%)
8000    12      0,09475100         0,06173000 (-34.9%)

This one to me seemed the opposite of the previous instructions, as it
looks like there was an improvement in the translation time (itself not
a surprise as operations were done twice before so there was the need to
translate twice as many TCGop)

Signed-off-by: Lucas Mateus Castro (alqotel) <lucas.araujo@eldorado.org.br>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20221019125040.48028-9-lucas.araujo@eldorado.org.br>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>


  Commit: 95a89d3118590aaed3a56b52e08246cdb51a108e
      
https://github.com/qemu/qemu/commit/95a89d3118590aaed3a56b52e08246cdb51a108e
  Author: Lucas Mateus Castro (alqotel) <lucas.araujo@eldorado.org.br>
  Date:   2022-10-28 (Fri, 28 Oct 2022)

  Changed paths:
    M target/ppc/insn32.decode
    M target/ppc/translate/vsx-impl.c.inc
    M target/ppc/translate/vsx-ops.c.inc

  Log Message:
  -----------
  target/ppc: Use gvec to decode XVCPSGN[SD]P

Moved XVCPSGNSP and XVCPSGNDP to decodetree and used gvec to translate
them.

xvcpsgnsp:
rept    loop    master             patch
8       12500   0,00561400         0,00537900 (-4.2%)
25      4000    0,00562100         0,00400000 (-28.8%)
100     1000    0,00696900         0,00416300 (-40.3%)
500     200     0,02211900         0,00840700 (-62.0%)
2500    40      0,09328600         0,02728300 (-70.8%)
8000    12      0,27295300         0,06867800 (-74.8%)

xvcpsgndp:
rept    loop    master             patch
8       12500   0,00556300         0,00584200 (+5.0%)
25      4000    0,00482700         0,00431700 (-10.6%)
100     1000    0,00585800         0,00464400 (-20.7%)
500     200     0,01565300         0,00839700 (-46.4%)
2500    40      0,05766500         0,02430600 (-57.8%)
8000    12      0,19875300         0,07947100 (-60.0%)

Like the previous instructions there seemed to be a improvement on
translation time.

Signed-off-by: Lucas Mateus Castro (alqotel) <lucas.araujo@eldorado.org.br>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20221019125040.48028-10-lucas.araujo@eldorado.org.br>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>


  Commit: a70a5247104d3d7a8cf584f20d73f41bef643a19
      
https://github.com/qemu/qemu/commit/a70a5247104d3d7a8cf584f20d73f41bef643a19
  Author: Lucas Mateus Castro (alqotel) <lucas.araujo@eldorado.org.br>
  Date:   2022-10-28 (Fri, 28 Oct 2022)

  Changed paths:
    M target/ppc/fpu_helper.c
    M target/ppc/helper.h
    M target/ppc/insn32.decode
    M target/ppc/translate/vsx-impl.c.inc
    M target/ppc/translate/vsx-ops.c.inc

  Log Message:
  -----------
  target/ppc: Moved XVTSTDC[DS]P to decodetree

Moved XVTSTDCSP and XVTSTDCDP to decodetree an restructured the helper
to be simpler and do all decoding in the decodetree (so XB, XT and DCMX
are all calculated outside the helper).

Obs: The tests in this one are slightly different, these are the sum of
these instructions with all possible immediate and those instructions
are repeated 10 times.

xvtstdcsp:
rept    loop    master             patch
8       12500   2,76402100         2,70699100 (-2.1%)
25      4000    2,64867100         2,67884100 (+1.1%)
100     1000    2,73806300         2,78701000 (+1.8%)
500     200     3,44666500         3,61027600 (+4.7%)
2500    40      5,85790200         6,47475500 (+10.5%)
8000    12     15,22102100        17,46062900 (+14.7%)

xvtstdcdp:
rept    loop    master             patch
8       12500   2,11818000         1,61065300 (-24.0%)
25      4000    2,04573400         1,60132200 (-21.7%)
100     1000    2,13834100         1,69988100 (-20.5%)
500     200     2,73977000         2,48631700 (-9.3%)
2500    40      5,05067000         5,25914100 (+4.1%)
8000    12     14,60507800        15,93704900 (+9.1%)

Signed-off-by: Lucas Mateus Castro (alqotel) <lucas.araujo@eldorado.org.br>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20221019125040.48028-11-lucas.araujo@eldorado.org.br>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>


  Commit: da3c53bac3d8f3040b35ef3d98a64b592bb28a66
      
https://github.com/qemu/qemu/commit/da3c53bac3d8f3040b35ef3d98a64b592bb28a66
  Author: Lucas Mateus Castro (alqotel) <lucas.araujo@eldorado.org.br>
  Date:   2022-10-28 (Fri, 28 Oct 2022)

  Changed paths:
    M target/ppc/fpu_helper.c
    M target/ppc/helper.h
    M target/ppc/insn32.decode
    M target/ppc/translate/vsx-impl.c.inc
    M target/ppc/translate/vsx-ops.c.inc

  Log Message:
  -----------
  target/ppc: Moved XSTSTDC[QDS]P to decodetree

Moved XSTSTDCSP, XSTSTDCDP and XSTSTDCQP to decodetree and moved some of
its decoding away from the helper as previously the DCMX, XB and BF were
calculated in the helper with the help of cpu_env, now that part was
moved to the decodetree with the rest.

xvtstdcsp:
rept    loop    master             patch
8       12500   1,85393600         1,94683600 (+5.0%)
25      4000    1,78779800         1,92479000 (+7.7%)
100     1000    2,12775000         2,28895500 (+7.6%)
500     200     2,99655300         3,23102900 (+7.8%)
2500    40      6,89082200         7,44827500 (+8.1%)
8000    12     17,50585500        18,95152100 (+8.3%)

xvtstdcdp:
rept    loop    master             patch
8       12500   1,39043100         1,33539800 (-4.0%)
25      4000    1,35731800         1,37347800 (+1.2%)
100     1000    1,51514800         1,56053000 (+3.0%)
500     200     2,21014400         2,47906000 (+12.2%)
2500    40      5,39488200         6,68766700 (+24.0%)
8000    12     13,98623900        18,17661900 (+30.0%)

xvtstdcdp:
rept    loop    master             patch
8       12500   1,35123800         1,34455800 (-0.5%)
25      4000    1,36441200         1,36759600 (+0.2%)
100     1000    1,49763500         1,54138400 (+2.9%)
500     200     2,19020200         2,46196400 (+12.4%)
2500    40      5,39265700         6,68147900 (+23.9%)
8000    12     14,04163600        18,19669600 (+29.6%)

As some values are now decoded outside the helper and passed to it as an
argument the number of arguments of the helper increased, the number
of TCGop needed to load the arguments increased. I suspect that's why
the slow-down in the tests with a high REPT but low LOOP.

Signed-off-by: Lucas Mateus Castro (alqotel) <lucas.araujo@eldorado.org.br>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20221019125040.48028-12-lucas.araujo@eldorado.org.br>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>


  Commit: bbd8dd5e45b831ef3fda585cf80d08f45cdaba95
      
https://github.com/qemu/qemu/commit/bbd8dd5e45b831ef3fda585cf80d08f45cdaba95
  Author: Lucas Mateus Castro (alqotel) <lucas.araujo@eldorado.org.br>
  Date:   2022-10-28 (Fri, 28 Oct 2022)

  Changed paths:
    M target/ppc/translate/vsx-impl.c.inc

  Log Message:
  -----------
  target/ppc: Use gvec to decode XVTSTDC[DS]P

Used gvec to translate XVTSTDCSP and XVTSTDCDP.

xvtstdcsp:
rept    loop    imm     master version  prev version        current version
25      4000    0       0,206200        0,040730 (-80.2%)    0,040740 (-80.2%)
25      4000    1       0,205120        0,053650 (-73.8%)    0,053510 (-73.9%)
25      4000    3       0,206160        0,058630 (-71.6%)    0,058570 (-71.6%)
25      4000    51      0,217110        0,191490 (-11.8%)    0,192320 (-11.4%)
25      4000    127     0,206160        0,191490 (-7.1%)     0,192640 (-6.6%)
8000    12      0       1,234719        0,418833 (-66.1%)    0,386365 (-68.7%)
8000    12      1       1,232417        1,435979 (+16.5%)    1,462792 (+18.7%)
8000    12      3       1,232760        1,766073 (+43.3%)    1,743990 (+41.5%)
8000    12      51      1,239281        1,319562 (+6.5%)     1,423479 (+14.9%)
8000    12      127     1,231708        1,315760 (+6.8%)     1,426667 (+15.8%)

xvtstdcdp:
rept    loop    imm     master version  prev version    current version
25      4000    0       0,159930        0,040830 (-74.5%)    0,040610 (-74.6%)
25      4000    1       0,160640        0,053670 (-66.6%)    0,053480 (-66.7%)
25      4000    3       0,160020        0,063030 (-60.6%)    0,062960 (-60.7%)
25      4000    51      0,160410        0,128620 (-19.8%)    0,127470 (-20.5%)
25      4000    127     0,160330        0,127670 (-20.4%)    0,128690 (-19.7%)
8000    12      0       1,190365        0,422146 (-64.5%)    0,388417 (-67.4%)
8000    12      1       1,191292        1,445312 (+21.3%)    1,428698 (+19.9%)
8000    12      3       1,188687        1,980656 (+66.6%)    1,975354 (+66.2%)
8000    12      51      1,191250        1,264500 (+6.1%)     1,355083 (+13.8%)
8000    12      127     1,197313        1,266729 (+5.8%)     1,349156 (+12.7%)

Overall, these instructions are the hardest ones to measure performance
as the gvec implementation is affected by the immediate. Above there are
5 different scenarios when it comes to immediate and 2 when it comes to
rept/loop combination. The immediates scenarios are: all bits are 0
therefore the target register should just be changed to 0, with 1 bit
set, with 2 bits set in a combination the new implementation can deal
with using gvec, 4 bits set and the new implementation can't deal with
it using gvec and all bits set. The rept/loop scenarios are high loop
and low rept (so it should spend more time executing it than translating
it) and high rept low loop (so it should spend more time translating it
than executing this code).
These comparisons are between the upstream version, a previous similar
implementation and a one with a cleaner code(this one).
For a comparison with o previous different implementation:
<20221010191356.83659-13-lucas.araujo@eldorado.org.br>

Signed-off-by: Lucas Mateus Castro (alqotel) <lucas.araujo@eldorado.org.br>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20221019125040.48028-13-lucas.araujo@eldorado.org.br>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>


  Commit: f003109f710bb39a78c27ce18aa10579340f5a3f
      
https://github.com/qemu/qemu/commit/f003109f710bb39a78c27ce18aa10579340f5a3f
  Author: Matheus Ferst <matheus.ferst@eldorado.org.br>
  Date:   2022-10-28 (Fri, 28 Oct 2022)

  Changed paths:
    M hw/ppc/ppc.c
    M hw/ppc/trace-events
    M target/ppc/cpu.h
    M target/ppc/cpu_init.c
    M target/ppc/excp_helper.c
    M target/ppc/misc_helper.c

  Log Message:
  -----------
  target/ppc: define PPC_INTERRUPT_* values directly

This enum defines the bit positions in env->pending_interrupts for each
interrupt. However, except for the comparison in kvmppc_set_interrupt,
the values are always used as (1 << PPC_INTERRUPT_*). Define them
directly like that to save some clutter. No functional change intended.

Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br>
Message-Id: <20221011204829.1641124-2-matheus.ferst@eldorado.org.br>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>


  Commit: 7b694df6a6deeac8ede0512f983c70463968021a
      
https://github.com/qemu/qemu/commit/7b694df6a6deeac8ede0512f983c70463968021a
  Author: Matheus Ferst <matheus.ferst@eldorado.org.br>
  Date:   2022-10-28 (Fri, 28 Oct 2022)

  Changed paths:
    M target/ppc/excp_helper.c
    M target/ppc/misc_helper.c

  Log Message:
  -----------
  target/ppc: always use ppc_set_irq to set env->pending_interrupts

Use ppc_set_irq to raise/clear interrupts to ensure CPU_INTERRUPT_HARD
will be set/reset accordingly.

Reviewed-by: Fabiano Rosas <farosas@linux.ibm.com>
Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br>
Message-Id: <20221011204829.1641124-3-matheus.ferst@eldorado.org.br>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>


  Commit: de76b85c961378795a9e3044881554b25a4db333
      
https://github.com/qemu/qemu/commit/de76b85c961378795a9e3044881554b25a4db333
  Author: Matheus Ferst <matheus.ferst@eldorado.org.br>
  Date:   2022-10-28 (Fri, 28 Oct 2022)

  Changed paths:
    M target/ppc/excp_helper.c

  Log Message:
  -----------
  target/ppc: split interrupt masking and delivery from ppc_hw_interrupt

Split ppc_hw_interrupt into an interrupt masking method,
ppc_next_unmasked_interrupt, and an interrupt processing method,
ppc_deliver_interrupt.

Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br>
Reviewed-by: Fabiano Rosas <farosas@linux.ibm.com>
Message-Id: <20221011204829.1641124-4-matheus.ferst@eldorado.org.br>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>


  Commit: ba2898f79f9d36320abfa7c0589c796810c7186b
      
https://github.com/qemu/qemu/commit/ba2898f79f9d36320abfa7c0589c796810c7186b
  Author: Matheus Ferst <matheus.ferst@eldorado.org.br>
  Date:   2022-10-28 (Fri, 28 Oct 2022)

  Changed paths:
    M target/ppc/excp_helper.c

  Log Message:
  -----------
  target/ppc: prepare to split interrupt masking and delivery by excp_model

Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br>
Reviewed-by: Fabiano Rosas <farosas@linux.ibm.com>
Message-Id: <20221011204829.1641124-5-matheus.ferst@eldorado.org.br>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>


  Commit: 2dfecf01952f6d4c9c7698ae55d7a425999acaed
      
https://github.com/qemu/qemu/commit/2dfecf01952f6d4c9c7698ae55d7a425999acaed
  Author: Matheus Ferst <matheus.ferst@eldorado.org.br>
  Date:   2022-10-28 (Fri, 28 Oct 2022)

  Changed paths:
    M target/ppc/excp_helper.c

  Log Message:
  -----------
  target/ppc: create an interrupt masking method for POWER9/POWER10

The new method is identical to ppc_next_unmasked_interrupt_generic,
processor-specific code will be added/removed in the following patches.

Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br>
Reviewed-by: Fabiano Rosas <farosas@linux.ibm.com>
Message-Id: <20221011204829.1641124-6-matheus.ferst@eldorado.org.br>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>


  Commit: b00e9a2f2be384820a107c28ff97fb4d6ed84b8a
      
https://github.com/qemu/qemu/commit/b00e9a2f2be384820a107c28ff97fb4d6ed84b8a
  Author: Matheus Ferst <matheus.ferst@eldorado.org.br>
  Date:   2022-10-28 (Fri, 28 Oct 2022)

  Changed paths:
    M target/ppc/excp_helper.c

  Log Message:
  -----------
  target/ppc: remove unused interrupts from p9_next_unmasked_interrupt

Remove the following unused interrupts from the POWER9 interrupt masking
method:
- PPC_INTERRUPT_RESET: only raised for 6xx, 7xx, 970 and POWER5p;
- Debug Interrupt: removed in Power ISA v2.07;
- Critical Input, Watchdog Timer, and Fixed Interval Timer: only defined
  for embedded CPUs;
- Critical Doorbell Interrupt: removed in Power ISA v3.0;
- Programmable Interval Timer: 40x-only.

Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br>
Reviewed-by: Fabiano Rosas <farosas@linux.ibm.com>
Message-Id: <20221011204829.1641124-7-matheus.ferst@eldorado.org.br>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>


  Commit: 3654e238af02fb828b71aa85a4fc475770a3d91a
      
https://github.com/qemu/qemu/commit/3654e238af02fb828b71aa85a4fc475770a3d91a
  Author: Matheus Ferst <matheus.ferst@eldorado.org.br>
  Date:   2022-10-28 (Fri, 28 Oct 2022)

  Changed paths:
    M target/ppc/excp_helper.c

  Log Message:
  -----------
  target/ppc: create an interrupt deliver method for POWER9/POWER10

The new method is identical to ppc_deliver_interrupt, processor-specific
code will be added/removed in the following patches.

Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br>
Reviewed-by: Fabiano Rosas <farosas@linux.ibm.com>
Message-Id: <20221011204829.1641124-8-matheus.ferst@eldorado.org.br>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>


  Commit: 1e75ffe40efcf07c3576a9ffb76235975ca96ce7
      
https://github.com/qemu/qemu/commit/1e75ffe40efcf07c3576a9ffb76235975ca96ce7
  Author: Matheus Ferst <matheus.ferst@eldorado.org.br>
  Date:   2022-10-28 (Fri, 28 Oct 2022)

  Changed paths:
    M target/ppc/excp_helper.c

  Log Message:
  -----------
  target/ppc: remove unused interrupts from p9_deliver_interrupt

Remove the following unused interrupts from the POWER9 interrupt
processing method:
- PPC_INTERRUPT_RESET: only raised for 6xx, 7xx, 970 and POWER5p;
- Debug Interrupt: removed in Power ISA v2.07;
- Critical Input, Watchdog Timer, and Fixed Interval Timer: only defined
  for embedded CPUs;
- Critical Doorbell Interrupt: removed in Power ISA v3.0;
- Programmable Interval Timer: 40x-only.

Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br>
Reviewed-by: Fabiano Rosas <farosas@linux.ibm.com>
Message-Id: <20221011204829.1641124-9-matheus.ferst@eldorado.org.br>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>


  Commit: ed3a24c95a9d8d870bf671d5675b8b4b32a0db75
      
https://github.com/qemu/qemu/commit/ed3a24c95a9d8d870bf671d5675b8b4b32a0db75
  Author: Matheus Ferst <matheus.ferst@eldorado.org.br>
  Date:   2022-10-28 (Fri, 28 Oct 2022)

  Changed paths:
    M target/ppc/excp_helper.c

  Log Message:
  -----------
  target/ppc: remove generic architecture checks from p9_deliver_interrupt

Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br>
Reviewed-by: Fabiano Rosas <farosas@linux.ibm.com>
Message-Id: <20221011204829.1641124-10-matheus.ferst@eldorado.org.br>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>


  Commit: 0ccd9d67b1ee9289dd96f2d133a618f97f7a89ab
      
https://github.com/qemu/qemu/commit/0ccd9d67b1ee9289dd96f2d133a618f97f7a89ab
  Author: Matheus Ferst <matheus.ferst@eldorado.org.br>
  Date:   2022-10-28 (Fri, 28 Oct 2022)

  Changed paths:
    M target/ppc/cpu_init.c

  Log Message:
  -----------
  target/ppc: move power-saving interrupt masking out of cpu_has_work_POWER9

Move the interrupt masking logic out of cpu_has_work_POWER9 in a new
method, p9_interrupt_powersave, that only returns an interrupt if it can
wake the processor from power-saving mode.

Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br>
Reviewed-by: Fabiano Rosas <farosas@linux.ibm.com>
Message-Id: <20221011204829.1641124-11-matheus.ferst@eldorado.org.br>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>


  Commit: 27796411271837b45c635c537e70d1ecfdcd4e1c
      
https://github.com/qemu/qemu/commit/27796411271837b45c635c537e70d1ecfdcd4e1c
  Author: Matheus Ferst <matheus.ferst@eldorado.org.br>
  Date:   2022-10-28 (Fri, 28 Oct 2022)

  Changed paths:
    M target/ppc/cpu_init.c
    M target/ppc/excp_helper.c
    M target/ppc/internal.h

  Log Message:
  -----------
  target/ppc: add power-saving interrupt masking logic to 
p9_next_unmasked_interrupt

Export p9_interrupt_powersave and use it in p9_next_unmasked_interrupt.

Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br>
Reviewed-by: Fabiano Rosas <farosas@linux.ibm.com>
Message-Id: <20221011204829.1641124-12-matheus.ferst@eldorado.org.br>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>


  Commit: a9899d42012c49169074fb85b61c78aa6e17af8e
      
https://github.com/qemu/qemu/commit/a9899d42012c49169074fb85b61c78aa6e17af8e
  Author: Matheus Ferst <matheus.ferst@eldorado.org.br>
  Date:   2022-10-28 (Fri, 28 Oct 2022)

  Changed paths:
    M target/ppc/excp_helper.c

  Log Message:
  -----------
  target/ppc: create an interrupt masking method for POWER8

The new method is identical to ppc_next_unmasked_interrupt_generic,
processor-specific code will be added/removed in the following patches.

Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br>
Reviewed-by: Fabiano Rosas <farosas@linux.ibm.com>
Message-Id: <20221011204829.1641124-13-matheus.ferst@eldorado.org.br>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>


  Commit: f6194fdde2e37743d2833b66fc272472190e51cc
      
https://github.com/qemu/qemu/commit/f6194fdde2e37743d2833b66fc272472190e51cc
  Author: Matheus Ferst <matheus.ferst@eldorado.org.br>
  Date:   2022-10-28 (Fri, 28 Oct 2022)

  Changed paths:
    M target/ppc/excp_helper.c

  Log Message:
  -----------
  target/ppc: remove unused interrupts from p8_next_unmasked_interrupt

Remove the following unused interrupts from the POWER8 interrupt masking
method:
- PPC_INTERRUPT_RESET: only raised for 6xx, 7xx, 970, and POWER5p;
- Debug Interrupt: removed in Power ISA v2.07;
- Hypervisor Virtualization: introduced in Power ISA v3.0;
- Critical Input, Watchdog Timer, and Fixed Interval Timer: only defined
  for embedded CPUs;
- Critical Doorbell: processor does not implement the "Embedded.Processor
  Control" category;
- Programmable Interval Timer: 40x-only;
- PPC_INTERRUPT_THERM: only raised for 970 and POWER5p;

Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br>
Reviewed-by: Fabiano Rosas <farosas@linux.ibm.com>
Message-Id: <20221011204829.1641124-14-matheus.ferst@eldorado.org.br>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>


  Commit: 6527e757db546fcdc4a0a695325fb3f1fb0804d5
      
https://github.com/qemu/qemu/commit/6527e757db546fcdc4a0a695325fb3f1fb0804d5
  Author: Matheus Ferst <matheus.ferst@eldorado.org.br>
  Date:   2022-10-28 (Fri, 28 Oct 2022)

  Changed paths:
    M target/ppc/excp_helper.c

  Log Message:
  -----------
  target/ppc: create an interrupt deliver method for POWER8

The new method is identical to ppc_deliver_interrupt, processor-specific
code will be added/removed in the following patches.

Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br>
Reviewed-by: Fabiano Rosas <farosas@linux.ibm.com>
Message-Id: <20221011204829.1641124-15-matheus.ferst@eldorado.org.br>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>


  Commit: 567372673e4e3aaaa0391bb5ea127e387f4dbd34
      
https://github.com/qemu/qemu/commit/567372673e4e3aaaa0391bb5ea127e387f4dbd34
  Author: Matheus Ferst <matheus.ferst@eldorado.org.br>
  Date:   2022-10-28 (Fri, 28 Oct 2022)

  Changed paths:
    M target/ppc/excp_helper.c

  Log Message:
  -----------
  target/ppc: remove unused interrupts from p8_deliver_interrupt

Remove the following unused interrupts from the POWER8 interrupt
processing method:
- PPC_INTERRUPT_RESET: only raised for 6xx, 7xx, 970 and POWER5p;
- Debug Interrupt: removed in Power ISA v2.07;
- Hypervisor Virtualization: introduced in Power ISA v3.0;
- Critical Input, Watchdog Timer, and Fixed Interval Timer: only defined
  for embedded CPUs;
- Critical Doorbell: processor does not implement the
  "Embedded.Processor Control" category;
- Programmable Interval Timer: 40x-only;
- PPC_INTERRUPT_THERM: only raised for 970 and POWER5p;

Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br>
Reviewed-by: Fabiano Rosas <farosas@linux.ibm.com>
Message-Id: <20221011204829.1641124-16-matheus.ferst@eldorado.org.br>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>


  Commit: d66b441d64ca63bb9b50d5d8a054b1836297a6e3
      
https://github.com/qemu/qemu/commit/d66b441d64ca63bb9b50d5d8a054b1836297a6e3
  Author: Matheus Ferst <matheus.ferst@eldorado.org.br>
  Date:   2022-10-28 (Fri, 28 Oct 2022)

  Changed paths:
    M target/ppc/excp_helper.c

  Log Message:
  -----------
  target/ppc: remove generic architecture checks from p8_deliver_interrupt

Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br>
Reviewed-by: Fabiano Rosas <farosas@linux.ibm.com>
Message-Id: <20221011204829.1641124-17-matheus.ferst@eldorado.org.br>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>


  Commit: 788ff1ce44b813475ddcb95726bdd3afdaa40d6d
      
https://github.com/qemu/qemu/commit/788ff1ce44b813475ddcb95726bdd3afdaa40d6d
  Author: Matheus Ferst <matheus.ferst@eldorado.org.br>
  Date:   2022-10-28 (Fri, 28 Oct 2022)

  Changed paths:
    M target/ppc/cpu_init.c

  Log Message:
  -----------
  target/ppc: move power-saving interrupt masking out of cpu_has_work_POWER8

Move the interrupt masking logic out of cpu_has_work_POWER8 in a new
method, p8_interrupt_powersave, that only returns an interrupt if it can
wake the processor from power-saving mode.

Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br>
Reviewed-by: Fabiano Rosas <farosas@linux.ibm.com>
Message-Id: <20221011204829.1641124-18-matheus.ferst@eldorado.org.br>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>


  Commit: 64a9b5eebef97d5b742b162625d5bc262be832ec
      
https://github.com/qemu/qemu/commit/64a9b5eebef97d5b742b162625d5bc262be832ec
  Author: Matheus Ferst <matheus.ferst@eldorado.org.br>
  Date:   2022-10-28 (Fri, 28 Oct 2022)

  Changed paths:
    M target/ppc/cpu_init.c
    M target/ppc/excp_helper.c
    M target/ppc/internal.h

  Log Message:
  -----------
  target/ppc: add power-saving interrupt masking logic to 
p8_next_unmasked_interrupt

Export p8_interrupt_powersave and use it in p8_next_unmasked_interrupt.

Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br>
Reviewed-by: Fabiano Rosas <farosas@linux.ibm.com>
Message-Id: <20221011204829.1641124-19-matheus.ferst@eldorado.org.br>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>


  Commit: bf303fb3f11c3e131f315e44b792ad79a8ae07bb
      
https://github.com/qemu/qemu/commit/bf303fb3f11c3e131f315e44b792ad79a8ae07bb
  Author: Matheus Ferst <matheus.ferst@eldorado.org.br>
  Date:   2022-10-28 (Fri, 28 Oct 2022)

  Changed paths:
    M target/ppc/excp_helper.c

  Log Message:
  -----------
  target/ppc: create an interrupt masking method for POWER7

The new method is identical to ppc_next_unmasked_interrupt_generic,
processor-specific code will be added/removed in the following patches.

Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br>
Reviewed-by: Fabiano Rosas <farosas@linux.ibm.com>
Message-Id: <20221011204829.1641124-20-matheus.ferst@eldorado.org.br>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>


  Commit: c8e1de2e421fcb5ce88443bd819f919e3eab13f2
      
https://github.com/qemu/qemu/commit/c8e1de2e421fcb5ce88443bd819f919e3eab13f2
  Author: Matheus Ferst <matheus.ferst@eldorado.org.br>
  Date:   2022-10-28 (Fri, 28 Oct 2022)

  Changed paths:
    M target/ppc/excp_helper.c

  Log Message:
  -----------
  target/ppc: remove unused interrupts from p7_next_unmasked_interrupt

Remove the following unused interrupts from the POWER7 interrupt masking
method:
- PPC_INTERRUPT_RESET: only raised for 6xx, 7xx, 970 and POWER5p;
- Hypervisor Virtualization: introduced in Power ISA v3.0;
- Hypervisor Doorbell and Event-Based Branch: introduced in
  Power ISA v2.07;
- Critical Input, Watchdog Timer, and Fixed Interval Timer: only defined
  for embedded CPUs;
- Doorbell and Critical Doorbell Interrupt: processor does not implement
  the Embedded.Processor Control category;
- Programmable Interval Timer: 40x-only;
- PPC_INTERRUPT_THERM: only raised for 970 and POWER5p;

Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br>
Reviewed-by: Fabiano Rosas <farosas@linux.ibm.com>
Message-Id: <20221011204829.1641124-21-matheus.ferst@eldorado.org.br>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>


  Commit: d93a48561c59b08958c9c37191248492a7acb8e4
      
https://github.com/qemu/qemu/commit/d93a48561c59b08958c9c37191248492a7acb8e4
  Author: Matheus Ferst <matheus.ferst@eldorado.org.br>
  Date:   2022-10-28 (Fri, 28 Oct 2022)

  Changed paths:
    M target/ppc/excp_helper.c

  Log Message:
  -----------
  target/ppc: create an interrupt deliver method for POWER7

The new method is identical to ppc_deliver_interrupt, processor-specific
code will be added/removed in the following patches.

Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br>
Reviewed-by: Fabiano Rosas <farosas@linux.ibm.com>
Message-Id: <20221011204829.1641124-22-matheus.ferst@eldorado.org.br>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>


  Commit: ec0f351af109e2b3d94ae50f5fe560a435b544d1
      
https://github.com/qemu/qemu/commit/ec0f351af109e2b3d94ae50f5fe560a435b544d1
  Author: Matheus Ferst <matheus.ferst@eldorado.org.br>
  Date:   2022-10-28 (Fri, 28 Oct 2022)

  Changed paths:
    M target/ppc/excp_helper.c

  Log Message:
  -----------
  target/ppc: remove unused interrupts from p7_deliver_interrupt

Remove the following unused interrupts from the POWER7 interrupt
processing method:
- PPC_INTERRUPT_RESET: only raised for 6xx, 7xx, 970 and POWER5p;
- Hypervisor Virtualization: introduced in Power ISA v3.0;
- Hypervisor Doorbell and Event-Based Branch: introduced in
  Power ISA v2.07;
- Critical Input, Watchdog Timer, and Fixed Interval Timer: only defined
  for embedded CPUs;
- Doorbell and Critical Doorbell Interrupt: processor does not implement
  the Embedded.Processor Control category;
- Programmable Interval Timer: 40x-only;
- PPC_INTERRUPT_THERM: only raised for 970 and POWER5p;

Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br>
Reviewed-by: Fabiano Rosas <farosas@linux.ibm.com>
Message-Id: <20221011204829.1641124-23-matheus.ferst@eldorado.org.br>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>


  Commit: 3f34e809ac856831949843d2adc45fab00f8b244
      
https://github.com/qemu/qemu/commit/3f34e809ac856831949843d2adc45fab00f8b244
  Author: Matheus Ferst <matheus.ferst@eldorado.org.br>
  Date:   2022-10-28 (Fri, 28 Oct 2022)

  Changed paths:
    M target/ppc/excp_helper.c

  Log Message:
  -----------
  target/ppc: remove generic architecture checks from p7_deliver_interrupt

Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br>
Reviewed-by: Fabiano Rosas <farosas@linux.ibm.com>
Message-Id: <20221011204829.1641124-24-matheus.ferst@eldorado.org.br>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>


  Commit: b34d358a212908326a43216162e90934015b02e7
      
https://github.com/qemu/qemu/commit/b34d358a212908326a43216162e90934015b02e7
  Author: Matheus Ferst <matheus.ferst@eldorado.org.br>
  Date:   2022-10-28 (Fri, 28 Oct 2022)

  Changed paths:
    M target/ppc/cpu_init.c

  Log Message:
  -----------
  target/ppc: move power-saving interrupt masking out of cpu_has_work_POWER7

Move the interrupt masking logic out of cpu_has_work_POWER7 in a new
method, p7_interrupt_powersave, that only returns an interrupt if it can
wake the processor from power-saving mode.

Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br>
Reviewed-by: Fabiano Rosas <farosas@linux.ibm.com>
Message-Id: <20221011204829.1641124-25-matheus.ferst@eldorado.org.br>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>


  Commit: 022b7128535d0ec963f724008a5f8b6a842d92ae
      
https://github.com/qemu/qemu/commit/022b7128535d0ec963f724008a5f8b6a842d92ae
  Author: Matheus Ferst <matheus.ferst@eldorado.org.br>
  Date:   2022-10-28 (Fri, 28 Oct 2022)

  Changed paths:
    M target/ppc/cpu_init.c
    M target/ppc/excp_helper.c
    M target/ppc/internal.h

  Log Message:
  -----------
  target/ppc: add power-saving interrupt masking logic to 
p7_next_unmasked_interrupt

Export p7_interrupt_powersave and use it in p7_next_unmasked_interrupt.

Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br>
Reviewed-by: Fabiano Rosas <farosas@linux.ibm.com>
Message-Id: <20221011204829.1641124-26-matheus.ferst@eldorado.org.br>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>


  Commit: 6a8e8188c3c99e987e3d5b9df614a68a5d4bd1e0
      
https://github.com/qemu/qemu/commit/6a8e8188c3c99e987e3d5b9df614a68a5d4bd1e0
  Author: Matheus Ferst <matheus.ferst@eldorado.org.br>
  Date:   2022-10-28 (Fri, 28 Oct 2022)

  Changed paths:
    M target/ppc/cpu.c
    M target/ppc/cpu.h

  Log Message:
  -----------
  target/ppc: remove ppc_store_lpcr from CONFIG_USER_ONLY builds

Writes to LPCR are hypervisor privileged.

Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br>
Reviewed-by: Fabiano Rosas <farosas@linux.ibm.com>
Message-Id: <20221011204829.1641124-27-matheus.ferst@eldorado.org.br>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>


  Commit: 2fdedcbc69564f52a1c33bedfa291707e998a132
      
https://github.com/qemu/qemu/commit/2fdedcbc69564f52a1c33bedfa291707e998a132
  Author: Matheus Ferst <matheus.ferst@eldorado.org.br>
  Date:   2022-10-28 (Fri, 28 Oct 2022)

  Changed paths:
    M hw/ppc/pnv_core.c
    M hw/ppc/ppc.c
    M hw/ppc/spapr_hcall.c
    M hw/ppc/spapr_rtas.c
    M target/ppc/cpu.c
    M target/ppc/cpu.h
    M target/ppc/excp_helper.c
    M target/ppc/helper.h
    M target/ppc/helper_regs.c
    M target/ppc/translate.c

  Log Message:
  -----------
  target/ppc: introduce ppc_maybe_interrupt

This new method will check if any pending interrupt was unmasked and
then call cpu_interrupt/cpu_reset_interrupt accordingly. Code that
raises/lowers or masks/unmasks interrupts should call this method to
keep CPU_INTERRUPT_HARD coherent with env->pending_interrupts.

Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br>
Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Message-Id: <20221021142156.4134411-2-matheus.ferst@eldorado.org.br>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>


  Commit: ab9cfa04523e0312c741e16ca54c5fa4e1eee9e2
      
https://github.com/qemu/qemu/commit/ab9cfa04523e0312c741e16ca54c5fa4e1eee9e2
  Author: Matheus Ferst <matheus.ferst@eldorado.org.br>
  Date:   2022-10-28 (Fri, 28 Oct 2022)

  Changed paths:
    M target/ppc/cpu_init.c

  Log Message:
  -----------
  target/ppc: unify cpu->has_work based on cs->interrupt_request

Now that cs->interrupt_request indicates if there is any unmasked
interrupt, checking if the CPU has work to do can be simplified to a
single check that works for all CPU models.

Reviewed-by: Fabiano Rosas <farosas@linux.ibm.com>
Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br>
Message-Id: <20221021142156.4134411-3-matheus.ferst@eldorado.org.br>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>


  Commit: 9c713713dac70fe7eaa9b403234a71024a729eb4
      
https://github.com/qemu/qemu/commit/9c713713dac70fe7eaa9b403234a71024a729eb4
  Author: Matheus Ferst <matheus.ferst@eldorado.org.br>
  Date:   2022-10-28 (Fri, 28 Oct 2022)

  Changed paths:
    M target/ppc/cpu_init.c
    M target/ppc/excp_helper.c
    M target/ppc/internal.h

  Log Message:
  -----------
  target/ppc: move the p*_interrupt_powersave methods to excp_helper.c

Move the methods to excp_helper.c and make them static.

Reviewed-by: Fabiano Rosas <farosas@linux.ibm.com>
Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br>
Message-Id: <20221021142156.4134411-4-matheus.ferst@eldorado.org.br>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>


  Commit: 2a48dd7cbd456ac2e27b3cf66cfb7e2e1886dbf4
      
https://github.com/qemu/qemu/commit/2a48dd7cbd456ac2e27b3cf66cfb7e2e1886dbf4
  Author: BALATON Zoltan <balaton@eik.bme.hu>
  Date:   2022-10-28 (Fri, 28 Oct 2022)

  Changed paths:
    M hw/ppc/meson.build
    M hw/ppc/ppc440_uc.c
    A hw/ppc/ppc4xx_sdram.c

  Log Message:
  -----------
  ppc440_uc.c: Move DDR2 SDRAM controller model to ppc4xx_sdram.c

In order to move PPC4xx SDRAM controller models together move out the
DDR2 controller model from ppc440_uc.c into a new ppc4xx_sdram.c file.

Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu>
Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Message-Id: 
<2f2900f93e997480e54b7bf9c32bb482a0fb1022.1666194485.git.balaton@eik.bme.hu>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>


  Commit: fa446fc54082c0c87a2edf7048bd17112773f0ef
      
https://github.com/qemu/qemu/commit/fa446fc54082c0c87a2edf7048bd17112773f0ef
  Author: BALATON Zoltan <balaton@eik.bme.hu>
  Date:   2022-10-28 (Fri, 28 Oct 2022)

  Changed paths:
    M hw/ppc/ppc4xx_devs.c
    M hw/ppc/ppc4xx_sdram.c

  Log Message:
  -----------
  ppc4xx_devs.c: Move DDR SDRAM controller model to ppc4xx_sdram.c

Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu>
Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Message-Id: 
<3ea98072dbeb757942e25dcfcdd6a7a47738d2ca.1666194485.git.balaton@eik.bme.hu>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>


  Commit: 080741abc293e79b6e860e2c8d66bfe519090c86
      
https://github.com/qemu/qemu/commit/080741abc293e79b6e860e2c8d66bfe519090c86
  Author: BALATON Zoltan <balaton@eik.bme.hu>
  Date:   2022-10-28 (Fri, 28 Oct 2022)

  Changed paths:
    M hw/ppc/ppc4xx_devs.c
    M hw/ppc/ppc4xx_sdram.c
    M include/hw/ppc/ppc4xx.h

  Log Message:
  -----------
  ppc4xx_sdram: Move ppc4xx_sdram_banks() to ppc4xx_sdram.c

This function is only used by the ppc4xx memory controller models so
it can be made static.

Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu>
Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Message-Id: 
<b1504a82157a586aa284e8ee3b427b9a07b24169.1666194485.git.balaton@eik.bme.hu>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>


  Commit: c8c6d68af7e7fba666a684c684f86ddbf9f20bee
      
https://github.com/qemu/qemu/commit/c8c6d68af7e7fba666a684c684f86ddbf9f20bee
  Author: BALATON Zoltan <balaton@eik.bme.hu>
  Date:   2022-10-28 (Fri, 28 Oct 2022)

  Changed paths:
    M hw/ppc/ppc4xx_sdram.c

  Log Message:
  -----------
  ppc4xx_sdram: Use hwaddr for memory bank size

This resolves the target_ulong dependency that's clearly wrong and was
also noted in a fixme comment.

Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: 
<92fdc5f9cc76bf45831428b3ec8d9fc6241b7190.1666194485.git.balaton@eik.bme.hu>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>


  Commit: 61cfe0df903c1c1a0654781db0788da9cd4da32a
      
https://github.com/qemu/qemu/commit/61cfe0df903c1c1a0654781db0788da9cd4da32a
  Author: BALATON Zoltan <balaton@eik.bme.hu>
  Date:   2022-10-28 (Fri, 28 Oct 2022)

  Changed paths:
    M hw/ppc/ppc4xx_sdram.c

  Log Message:
  -----------
  ppc4xx_sdram: Rename local state variable for brevity

Rename the sdram local state variable to s in dcr read/write functions
and reset methods for better readability and to match realize methods.
Other places not converted will be changed or removed in subsequent
patches.

Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: 
<8e7539cb1fccd7556b68351c4dcf62534c3a69cf.1666194485.git.balaton@eik.bme.hu>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>


  Commit: 424a660c58a6b950363d42b79a30e651c1037550
      
https://github.com/qemu/qemu/commit/424a660c58a6b950363d42b79a30e651c1037550
  Author: BALATON Zoltan <balaton@eik.bme.hu>
  Date:   2022-10-28 (Fri, 28 Oct 2022)

  Changed paths:
    M hw/ppc/ppc4xx_sdram.c
    M hw/ppc/trace-events

  Log Message:
  -----------
  ppc4xx_sdram: Generalise bank setup

Currently only base and size are set on initial bank creation and bcr
value is computed on mapping the region. Set bcr at init so the bcr
encoding method becomes local to the controller model and mapping and
unmapping can operate on the bank so it can be shared between
different controller models. This patch converts the DDR2 controller.

Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu>
Message-Id: 
<51b957b4b2d714a1072aa2589b979e08411640df.1666194485.git.balaton@eik.bme.hu>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>


  Commit: 54a3527e427b7df33ffcea3ad0ab56f7a0a61dd9
      
https://github.com/qemu/qemu/commit/54a3527e427b7df33ffcea3ad0ab56f7a0a61dd9
  Author: BALATON Zoltan <balaton@eik.bme.hu>
  Date:   2022-10-28 (Fri, 28 Oct 2022)

  Changed paths:
    M hw/ppc/ppc4xx_sdram.c

  Log Message:
  -----------
  ppc4xx_sdram: Convert DDR SDRAM controller to new bank handling

Use the generic bank handling introduced in previous patch in the DDR
SDRAM controller too. This also fixes previously broken region unmap
due to sdram_ddr_unmap_bcr() ignoring container region so it crashed
with an assert when the guest tried to disable the controller.

Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu>
Message-Id: 
<fc7c50e365d0027a659111e9cd67f9b93113a163.1666194485.git.balaton@eik.bme.hu>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>


  Commit: 286787f105c3216028841fd86c4e563af6b1b9e0
      
https://github.com/qemu/qemu/commit/286787f105c3216028841fd86c4e563af6b1b9e0
  Author: BALATON Zoltan <balaton@eik.bme.hu>
  Date:   2022-10-28 (Fri, 28 Oct 2022)

  Changed paths:
    M hw/ppc/ppc4xx_sdram.c

  Log Message:
  -----------
  ppc4xx_sdram: Add errp parameter to ppc4xx_sdram_banks()

Do not exit from ppc4xx_sdram_banks() but report error via an errp
parameter instead.

Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: 
<04bb3445439c2f37b99e74b3fdf4e62c2e6f7e04.1666194485.git.balaton@eik.bme.hu>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>


  Commit: 8b3d1c49a9f0f315d2b292c1791430c0f382afa4
      
https://github.com/qemu/qemu/commit/8b3d1c49a9f0f315d2b292c1791430c0f382afa4
  Author: Leandro Lupori <leandro.lupori@eldorado.org.br>
  Date:   2022-10-28 (Fri, 28 Oct 2022)

  Changed paths:
    M target/ppc/cpu.h
    M target/ppc/helper_regs.c
    M target/ppc/translate.c

  Log Message:
  -----------
  target/ppc: Add new PMC HFLAGS

Add 2 new PMC related HFLAGS:
- HFLAGS_PMCJCE - value of MMCR0 PMCjCE bit
- HFLAGS_PMC_OTHER - set if a PMC other than PMC5-6 is enabled

These flags allow further optimization of PMC5 update code, by
allowing frequently tested conditions to be performed at
translation time.

Signed-off-by: Leandro Lupori <leandro.lupori@eldorado.org.br>
Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Message-Id: <20221025202424.195984-3-leandro.lupori@eldorado.org.br>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>


  Commit: eeaaefe9fa8b95a7ed39ee86257f3bf1af751804
      
https://github.com/qemu/qemu/commit/eeaaefe9fa8b95a7ed39ee86257f3bf1af751804
  Author: Leandro Lupori <leandro.lupori@eldorado.org.br>
  Date:   2022-10-28 (Fri, 28 Oct 2022)

  Changed paths:
    M target/ppc/helper.h
    M target/ppc/power8-pmu.c
    M target/ppc/power8-pmu.h
    M target/ppc/translate.c

  Log Message:
  -----------
  target/ppc: Increment PMC5 with inline insns

Profiling QEMU during Fedora 35 for PPC64 boot revealed that
6.39% of total time was being spent in helper_insns_inc(), on a
POWER9 machine. To avoid calling this helper every time PMCs had
to be incremented, an inline implementation of PMC5 increment and
check for overflow was developed. This led to a reduction of
about 12% in Fedora's boot time.

Signed-off-by: Leandro Lupori <leandro.lupori@eldorado.org.br>
Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Message-Id: <20221025202424.195984-4-leandro.lupori@eldorado.org.br>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>


  Commit: c593d1cc2555c5fe6a6a558f4d2bdc3bfd6713de
      
https://github.com/qemu/qemu/commit/c593d1cc2555c5fe6a6a558f4d2bdc3bfd6713de
  Author: Bernhard Beschow <shentey@gmail.com>
  Date:   2022-10-28 (Fri, 28 Oct 2022)

  Changed paths:
    M docs/system/ppc/ppce500.rst

  Log Message:
  -----------
  docs/system/ppc/ppce500: Use qemu-system-ppc64 across the board(s)

The documentation suggests that there is a qemu-system-ppc32 binary
while the 32 bit version is actually just named qemu-system-ppc. Settle
on qemu-system-ppc64 which also works for 32 bit machines and causes
less clutter in the documentation.

Found-by: BALATON Zoltan <balaton@eik.bme.hu>
Suggested-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Signed-off-by: Bernhard Beschow <shentey@gmail.com>
Message-Id: <20221018210146.193159-2-shentey@gmail.com>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>


  Commit: 334c388f25707a234c4a0dea05b9df08d7746638
      
https://github.com/qemu/qemu/commit/334c388f25707a234c4a0dea05b9df08d7746638
  Author: Bernhard Beschow <shentey@gmail.com>
  Date:   2022-10-28 (Fri, 28 Oct 2022)

  Changed paths:
    M hw/block/pflash_cfi01.c
    M hw/block/pflash_cfi02.c

  Log Message:
  -----------
  hw/block/pflash_cfi0{1, 2}: Error out if device length isn't a power of two

According to the JEDEC standard the device length is communicated to an
OS as an exponent (power of two).

Signed-off-by: Bernhard Beschow <shentey@gmail.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20221018210146.193159-3-shentey@gmail.com>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>


  Commit: c038e5745eca4851bb2ba515324f3e97c68f27ce
      
https://github.com/qemu/qemu/commit/c038e5745eca4851bb2ba515324f3e97c68f27ce
  Author: Bernhard Beschow <shentey@gmail.com>
  Date:   2022-10-28 (Fri, 28 Oct 2022)

  Changed paths:
    M hw/sd/sdhci-internal.h
    M hw/sd/sdhci.c

  Log Message:
  -----------
  hw/sd/sdhci-internal: Unexport ESDHC defines

These defines aren't used outside of sdhci.c, so can be defined there.

Signed-off-by: Bernhard Beschow <shentey@gmail.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20221018210146.193159-4-shentey@gmail.com>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>


  Commit: 1e76667f7adf48c6c3596aaa26b8886b57b8498d
      
https://github.com/qemu/qemu/commit/1e76667f7adf48c6c3596aaa26b8886b57b8498d
  Author: Bernhard Beschow <shentey@gmail.com>
  Date:   2022-10-28 (Fri, 28 Oct 2022)

  Changed paths:
    M hw/sd/sdhci.c

  Log Message:
  -----------
  hw/sd/sdhci: Rename ESDHC_* defines to USDHC_*

The device model's functions start with "usdhc_", so rename the defines
accordingly for consistency.

Signed-off-by: Bernhard Beschow <shentey@gmail.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Message-Id: <20221018210146.193159-5-shentey@gmail.com>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>


  Commit: 63e4bf8e84721231ea447b0e4afcb0a4378763c2
      
https://github.com/qemu/qemu/commit/63e4bf8e84721231ea447b0e4afcb0a4378763c2
  Author: Bernhard Beschow <shentey@gmail.com>
  Date:   2022-10-29 (Sat, 29 Oct 2022)

  Changed paths:
    M docs/system/ppc/ppce500.rst
    M hw/ppc/Kconfig
    M hw/ppc/e500.c

  Log Message:
  -----------
  hw/ppc/e500: Implement pflash handling

Allows e500 boards to have their root file system reside on flash using
only builtin devices located in the eLBC memory region.

Note that the flash memory area is only created when a -pflash argument is
given, and that the size is determined by the given file. The idea is to
put users into control.

Signed-off-by: Bernhard Beschow <shentey@gmail.com>
Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-Id: <20221018210146.193159-6-shentey@gmail.com>
[danielhb: use memory_region_size() in mmio_size]
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>


  Commit: fb22d743b93b49b73930aff40d3ba9d252f81a56
      
https://github.com/qemu/qemu/commit/fb22d743b93b49b73930aff40d3ba9d252f81a56
  Author: Leandro Lupori <leandro.lupori@eldorado.org.br>
  Date:   2022-10-29 (Sat, 29 Oct 2022)

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

  Log Message:
  -----------
  target/ppc: Fix regression in Radix MMU

Commit 47e83d9107 ended up unintentionally changing the control flow
of ppc_radix64_process_scoped_xlate(). When guest_visible is false,
it must not raise an exception, even if the radix configuration is
not valid.

This regression prevented Linux boot in a nested environment with
L1 using TCG and emulating KVM (cap-nested-hv=on) and L2 using
KVM. L2 would hang on Linux's futex_init(), when it tested how a
futex_atomic_cmpxchg_inatomic() handled a fault, because L1 would
start a loop of trying to perform partition scoped translations
and raising exceptions.

Fixes: 47e83d9107 ("target/ppc: Improve Radix xlate level validation")
Reported-by: Victor Colombo <victor.colombo@eldorado.org.br>
Signed-off-by: Leandro Lupori <leandro.lupori@eldorado.org.br>
Tested-by: Víctor Colombo <victor.colombo@eldorado.org.br>
Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Message-Id: <20221028183617.121786-1-leandro.lupori@eldorado.org.br>
[danielhb: use %"PRIu64" to print 'nls']
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>


  Commit: f91c5d0f13fa3ffb230eedbee2b05bcc8f4fc296
      
https://github.com/qemu/qemu/commit/f91c5d0f13fa3ffb230eedbee2b05bcc8f4fc296
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
    M tcg/sparc/tcg-target.c.inc
    M tcg/sparc/tcg-target.h
    M tcg/tcg.c

  Log Message:
  -----------
  tcg/sparc: Remove support for sparc32plus

Since 9b9c37c36439, we have only supported sparc64 cpus.
Debian and Gentoo now only support 64-bit sparc64 userland,
so it is time to drop the 32-bit sparc64 userland: sparc32plus.

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 18ba585f925fc8e9f6351ccdddb09865e9716553
      
https://github.com/qemu/qemu/commit/18ba585f925fc8e9f6351ccdddb09865e9716553
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
    M MAINTAINERS
    M meson.build
    R tcg/sparc/tcg-target-con-set.h
    R tcg/sparc/tcg-target-con-str.h
    R tcg/sparc/tcg-target.c.inc
    R tcg/sparc/tcg-target.h
    A tcg/sparc64/tcg-target-con-set.h
    A tcg/sparc64/tcg-target-con-str.h
    A tcg/sparc64/tcg-target.c.inc
    A tcg/sparc64/tcg-target.h

  Log Message:
  -----------
  tcg/sparc64: Rename from tcg/sparc

Emphasize that we only support full 64-bit code generation.

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 5352758ad46ff0c9bbe33171684b34aad231c4f2
      
https://github.com/qemu/qemu/commit/5352758ad46ff0c9bbe33171684b34aad231c4f2
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
    M tcg/sparc64/tcg-target-con-set.h
    M tcg/sparc64/tcg-target-con-str.h
    M tcg/sparc64/tcg-target.c.inc

  Log Message:
  -----------
  tcg/sparc64: Remove sparc32plus constraints

With sparc64 we need not distinguish between registers that
can hold 32-bit values and those that can hold 64-bit values.

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 8f77f2dffcb0ddfd16411a1b72e560890cb57594
      
https://github.com/qemu/qemu/commit/8f77f2dffcb0ddfd16411a1b72e560890cb57594
  Author: Icenowy Zheng <uwu@icenowy.me>
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
    M tcg/tcg.c

  Log Message:
  -----------
  tcg/tci: fix logic error when registering helpers via FFI

When registering helpers via FFI for TCI, the inner loop that iterates
parameters of the helper reuses (and thus pollutes) the same variable
used by the outer loop that iterates all helpers, thus made some helpers
unregistered.

Fix this logic error by using a dedicated temporary variable for the
inner loop.

Fixes: 22f15579fa ("tcg: Build ffi data structures for helpers")
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Icenowy Zheng <uwu@icenowy.me>
Message-Id: <20221028072145.1593205-1-uwu@icenowy.me>
[rth: Move declaration of j to the for loop itself]
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 26655c8602413ea57bb6ee23cc23042c9236d49a
      
https://github.com/qemu/qemu/commit/26655c8602413ea57bb6ee23cc23042c9236d49a
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2022-10-31 (Mon, 31 Oct 2022)

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

  Log Message:
  -----------
  accel/tcg: Introduce cpu_unwind_state_data

Add a way to examine the unwind data without actually
restoring the data back into env.

Reviewed-by: Claudio Fontana <cfontana@suse.de>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: f135fdbc6cf77a612b65b9f1dc613528187b44ee
      
https://github.com/qemu/qemu/commit/f135fdbc6cf77a612b65b9f1dc613528187b44ee
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
    M target/i386/helper.c

  Log Message:
  -----------
  target/i386: Use cpu_unwind_state_data for tpr access

Avoid cpu_restore_state, and modifying env->eip out from
underneath the translator with TARGET_TB_PCREL.  There is
some slight duplication from x86_restore_state_to_opc,
but it's just a few lines.

Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1269
Reviewed-by: Claudio Fontana <cfontana@suse.de>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 7de10240c99e22f1c7c8fc533e79f4d96eede86b
      
https://github.com/qemu/qemu/commit/7de10240c99e22f1c7c8fc533e79f4d96eede86b
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
    M target/openrisc/sys_helper.c

  Log Message:
  -----------
  target/openrisc: Always exit after mtspr npc

We have called cpu_restore_state asserting will_exit.
Do not go back on that promise.  This affects icount.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: ba56b29a262d50013d6abb49cb9ffe3eaf604629
      
https://github.com/qemu/qemu/commit/ba56b29a262d50013d6abb49cb9ffe3eaf604629
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
    M target/openrisc/sys_helper.c

  Log Message:
  -----------
  target/openrisc: Use cpu_unwind_state_data for mfspr

Since we do not plan to exit, use cpu_unwind_state_data
and extract exactly the data requested.

This is a bug fix, in that we no longer clobber dflag.

Consider:

        l.j       L2         // branch
        l.mfspr   r1, ppc    // delay

L1:     boom
L2:     l.lwa     r3, (r4)

Here, dflag would be set by cpu_restore_state (because that is the current
state of the cpu), but but not cleared by tb_stop on exiting the TB
(because DisasContext has recorded the current value as zero).

The next TB begins at L2 with dflag incorrectly set.  If the load has a
tlb miss, then the exception will be delivered as per a delay slot:
with DSX set in the status register and PC decremented (delay slots
restart by re-executing the branch). This will cause the return from
interrupt to go to L1, and boom!

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


  Commit: ab8d414ac8d482459998af5c1d289a20730255d1
      
https://github.com/qemu/qemu/commit/ab8d414ac8d482459998af5c1d289a20730255d1
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
    M accel/tcg/cpu-exec-common.c
    M accel/tcg/translate-all.c
    M include/exec/exec-all.h
    M target/alpha/helper.c
    M target/alpha/mem_helper.c
    M target/arm/op_helper.c
    M target/arm/tlb_helper.c
    M target/cris/helper.c
    M target/i386/tcg/sysemu/svm_helper.c
    M target/m68k/op_helper.c
    M target/microblaze/helper.c
    M target/nios2/op_helper.c
    M target/openrisc/sys_helper.c
    M target/ppc/excp_helper.c
    M target/s390x/tcg/excp_helper.c
    M target/tricore/op_helper.c
    M target/xtensa/helper.c

  Log Message:
  -----------
  accel/tcg: Remove will_exit argument from cpu_restore_state

The value passed is always true, and if the target's
synchronize_from_tb hook is non-trivial, not exiting
may be erroneous.

Reviewed-by: Claudio Fontana <cfontana@suse.de>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 6b50c0d9c5a564a437c5a5a5aadd5ed817d56312
      
https://github.com/qemu/qemu/commit/6b50c0d9c5a564a437c5a5a5aadd5ed817d56312
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
    M accel/tcg/internal.h
    M accel/tcg/tb-maint.c
    M accel/tcg/translate-all.c

  Log Message:
  -----------
  accel/tcg: Remove reset_icount argument from cpu_restore_state_from_tb

The value passed is always true.

Reviewed-by: Claudio Fontana <cfontana@suse.de>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: cb375590983fc3d23600d02ba05a05d34fe44150
      
https://github.com/qemu/qemu/commit/cb375590983fc3d23600d02ba05a05d34fe44150
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
    M target/i386/helper.h
    M target/i386/tcg/cc_helper.c
    M target/i386/tcg/translate.c

  Log Message:
  -----------
  target/i386: Expand eflags updates inline

The helpers for reset_rf, cli, sti, clac, stac are
completely trivial; implement them inline.

Drop some nearby #if 0 code.

Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 7f8c044018555dcc36eb5af1d5d6cebc85ebd330
      
https://github.com/qemu/qemu/commit/7f8c044018555dcc36eb5af1d5d6cebc85ebd330
  Author: Bin Meng <bin.meng@windriver.com>
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
    M scripts/nsis.py

  Log Message:
  -----------
  scripts/nsis.py: Drop the unnecessary path separator

There is no need to append a path separator to the destination
directory that is passed to "make install".

Signed-off-by: Bin Meng <bin.meng@windriver.com>
Message-Id: <20220908132817.1831008-2-bmeng.cn@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Stefan Weil <sw@weilnetz.de>
Signed-off-by: Stefan Weil <sw@weilnetz.de>


  Commit: 93dbca2ce9f112ee8bfd641fa2ea6ff0771c6c39
      
https://github.com/qemu/qemu/commit/93dbca2ce9f112ee8bfd641fa2ea6ff0771c6c39
  Author: Bin Meng <bin.meng@windriver.com>
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
    M scripts/nsis.py

  Log Message:
  -----------
  scripts/nsis.py: Fix destination directory name when invoked on Windows

"make installer" on Windows fails with the following message:

  Traceback (most recent call last):
    File "G:\msys64\home\foo\git\qemu\scripts\nsis.py", line 89, in <module>
      main()
    File "G:\msys64\home\foo\git\qemu\scripts\nsis.py", line 34, in main
      with open(
  OSError: [Errno 22] Invalid argument:
  'R:/Temp/tmpw83xhjquG:/msys64/qemu/system-emulations.nsh'
  ninja: build stopped: subcommand failed.

Use os.path.splitdrive() to form a canonical path without the drive
letter on Windows. This works with cross-build on Linux too.

Fixes: 8adfeba953e0 ("meson: add NSIS building")
Signed-off-by: Bin Meng <bin.meng@windriver.com>
Message-Id: <20220908132817.1831008-3-bmeng.cn@gmail.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Tested-by: Stefan Weil <sw@weilnetz.de>
Signed-off-by: Stefan Weil <sw@weilnetz.de>


  Commit: a3c1e6458dbbe3647ccadfb39cbb585fdc4373a5
      
https://github.com/qemu/qemu/commit/a3c1e6458dbbe3647ccadfb39cbb585fdc4373a5
  Author: Bin Meng <bin.meng@windriver.com>
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
    M meson.build
    M scripts/nsis.py

  Log Message:
  -----------
  scripts/nsis.py: Automatically package required DLLs of QEMU executables

At present packaging the required DLLs of QEMU executables is a
manual process, and error prone.

Actually build/config-host.mak contains a GLIB_BINDIR variable
which is the directory where glib and other DLLs reside. This
works for both Windows native build and cross-build on Linux.
We can use it as the search directory for DLLs and automate
the whole DLL packaging process.

Signed-off-by: Bin Meng <bin.meng@windriver.com>
Message-Id: <20220908132817.1831008-4-bmeng.cn@gmail.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Tested-by: Stefan Weil <sw@weilnetz.de>
Signed-off-by: Stefan Weil <sw@weilnetz.de>


  Commit: 588fec8a4c3fe9e0d1cb3f7ea6fdd46221e42814
      
https://github.com/qemu/qemu/commit/588fec8a4c3fe9e0d1cb3f7ea6fdd46221e42814
  Author: Bin Meng <bin.meng@windriver.com>
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
    M block/nfs.c

  Log Message:
  -----------
  block/nfs: Fix 32-bit Windows build

libnfs.h declares nfs_fstat() as the following for win32:

  int nfs_fstat(struct nfs_context *nfs, struct nfsfh *nfsfh,
                struct __stat64 *st);

The 'st' parameter should be of type 'struct __stat64'. The
codes happen to build successfully for 64-bit Windows, but it
does not build for 32-bit Windows.

Fixes: 6542aa9c75bc ("block: add native support for NFS")
Fixes: 18a8056e0bc7 ("block/nfs: cache allocated filesize for read-only files")
Signed-off-by: Bin Meng <bin.meng@windriver.com>
Message-Id: <20220908132817.1831008-6-bmeng.cn@gmail.com>
Reviewed-by: Stefan Weil <sw@weilnetz.de>
Signed-off-by: Stefan Weil <sw@weilnetz.de>


  Commit: 395a90be6f0af51732540c5e632c0fe49222e28c
      
https://github.com/qemu/qemu/commit/395a90be6f0af51732540c5e632c0fe49222e28c
  Author: Stefan Hajnoczi <stefanha@redhat.com>
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
    M .gitlab-ci.d/cirrus/freebsd-12.vars
    M .gitlab-ci.d/cirrus/freebsd-13.vars
    M MAINTAINERS
    M accel/dummy-cpus.c
    M accel/meson.build
    M accel/qtest/meson.build
    M hw/net/e1000_regs.h
    M hw/s390x/pv.c
    M hw/s390x/tod-kvm.c
    M include/hw/core/cpu.h
    M include/qemu/sockets.h
    M softmmu/cpus.c
    M target/s390x/tcg/translate_vx.c.inc
    M tests/docker/dockerfiles/alpine.docker
    M tests/docker/dockerfiles/centos8.docker
    M tests/docker/dockerfiles/debian-amd64-cross.docker
    M tests/docker/dockerfiles/debian-amd64.docker
    M tests/docker/dockerfiles/debian-arm64-cross.docker
    M tests/docker/dockerfiles/debian-armel-cross.docker
    M tests/docker/dockerfiles/debian-armhf-cross.docker
    M tests/docker/dockerfiles/debian-mips64el-cross.docker
    M tests/docker/dockerfiles/debian-mipsel-cross.docker
    M tests/docker/dockerfiles/debian-ppc64el-cross.docker
    M tests/docker/dockerfiles/debian-s390x-cross.docker
    M tests/docker/dockerfiles/fedora.docker
    M tests/docker/dockerfiles/opensuse-leap.docker
    M tests/docker/dockerfiles/ubuntu2004.docker
    M tests/lcitool/libvirt-ci
    M tests/lcitool/projects/qemu.yml
    M tests/qtest/cxl-test.c
    M tests/qtest/dbus-vmstate-test.c
    M tests/qtest/device-plug-test.c
    M tests/qtest/libqmp.c
    M tests/qtest/libqos/e1000e.c
    M tests/qtest/libqos/meson.build
    M tests/qtest/libqtest.c
    M tests/qtest/libqtest.h
    M tests/qtest/migration-test.c
    M tests/qtest/tpm-crb-swtpm-test.c
    M tests/qtest/tpm-tis-device-swtpm-test.c
    M tests/qtest/tpm-tis-swtpm-test.c
    M tests/qtest/tpm-util.c
    M tests/qtest/tpm-util.h
    M tests/tcg/s390x/Makefile.target
    A tests/tcg/s390x/vistr.c
    M tests/vm/freebsd
    M tests/vm/openbsd
    M util/osdep.c

  Log Message:
  -----------
  Merge tag 'pull-request-2022-10-28' of https://gitlab.com/thuth/qemu into 
staging

* Fix and test the VISTR instruction on s390x
* Some more small s390x fixes and maintainer updates
* Make sure to remove all temporary files from qtests
* OpenBSD VM test update to version 7.2
* Add sndio to FreeBSD tests
* More patches to enable the qtests on Windows

# -----BEGIN PGP SIGNATURE-----
#
# iQJFBAABCAAvFiEEJ7iIR+7gJQEY8+q5LtnXdP5wLbUFAmNb1x8RHHRodXRoQHJl
# ZGhhdC5jb20ACgkQLtnXdP5wLbXmcA//TCliiFkhprVxzIqy7zb9uz2Odu+sS4dT
# azUSlXvC14fECm/Rb/rd2VLqCu5x2er8CYauxKQ4VhRImzcDta4kvpt/HKIppN2t
# sqw5tipJL0DYcWBwYL1llvfutM26M+Oh0igwR8uV7b+W1FjojEZdcOr9IZ6E6V55
# wQCE5OHm0VCr61QeI5IBfZTsiPo+DFomUCpj7w66j6i0CVDvmpoe36tCmvGgrcpZ
# SP7ep7/Iq+dnGh2YnJyoUOPlXeeiBCxAygOVnIRXptDeniGoliCFn7ksLdKDQ9qY
# 69pSPR/W7mTZB/HkCRalAbYuYrI9Rcqxdu6c9vcyB8Pr0snQLTf8qThY+BJ2oC4w
# JSGgWVniAk5MmrDazwNRkSbgngYLYf+CcT1h5AANuU5Kt50Bdy9Y3TuL5YVmofEp
# N4bypV0ICImQyDECz76+i5/iJOcWiRyjMfLT6y00dspeuy983xHakrsHGD8xj0U/
# 3IVxnF9bDnUSVg6lFhYrgCB3dRG1TNPJoYQOM7raS5MAPRrDtIuSabwtyn84jo4+
# 9kZRPJBriMBHNsCjGVlJ9CATmaK1SKVAbRcabjgOKoIwhZTpAe6JalykREUJlTys
# hB2V//lWWYPaSpzwY+OkvxoOmJIziixEskOmx6hPcoxID5v/bqlR69W15aUlKuLq
# VWFb+/yMvaE=
# =h0Ep
# -----END PGP SIGNATURE-----
# gpg: Signature made Fri 28 Oct 2022 09:20:31 EDT
# gpg:                using RSA key 27B88847EEE0250118F3EAB92ED9D774FE702DB5
# gpg:                issuer "thuth@redhat.com"
# gpg: Good signature from "Thomas Huth <th.huth@gmx.de>" [full]
# gpg:                 aka "Thomas Huth <thuth@redhat.com>" [full]
# gpg:                 aka "Thomas Huth <huth@tuxfamily.org>" [full]
# gpg:                 aka "Thomas Huth <th.huth@posteo.de>" [unknown]
# Primary key fingerprint: 27B8 8847 EEE0 2501 18F3  EAB9 2ED9 D774 FE70 2DB5

* tag 'pull-request-2022-10-28' of https://gitlab.com/thuth/qemu: (21 commits)
  tests/qtest: libqtest: Correct the timeout unit of blocking receive calls for 
win32
  tests/qtest: libqos: Do not build virtio-9p unconditionally
  tests/qtest: migration-test: Make sure QEMU process "to" exited after 
migration is canceled
  tests/qtest: libqtest: Introduce qtest_wait_qemu()
  tests/qtest: Use EXIT_FAILURE instead of magic number
  tests/qtest: device-plug-test: Reverse the usage of double/single quotes
  tests/qtest: Support libqtest to build and run on Windows
  tests/qtest: Use send/recv for socket communication
  accel/qtest: Support qtest accelerator for Windows
  tests: Add sndio to the FreeBSD CI containers / VM
  tests/vm: update openbsd to release 7.2
  tests/qtest/libqos/e1000e: Use e1000_regs.h
  tests/qtest/cxl-test: Remove temporary directories after testing
  tests/qtest/tpm: Clean up remainders of swtpm
  MAINTAINERS: target/s390x/: add Ilya as reviewer
  tests/tcg/s390x: Add a test for the vistr instruction
  target/s390x: Fix emulation of the VISTR instruction
  tests/tcg/s390x: Test compiler flags only once, not every time
  s390x/tod-kvm: don't save/restore the TOD in PV guests
  s390x: step down as general arch maintainer
  ...

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>


  Commit: 179938097df4de34b13527ad1fd469f501548b07
      
https://github.com/qemu/qemu/commit/179938097df4de34b13527ad1fd469f501548b07
  Author: Stefan Hajnoczi <stefanha@redhat.com>
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
    M docs/system/ppc/ppce500.rst
    M hw/block/pflash_cfi01.c
    M hw/block/pflash_cfi02.c
    M hw/ppc/Kconfig
    M hw/ppc/e500.c
    M hw/ppc/meson.build
    M hw/ppc/pnv_core.c
    M hw/ppc/ppc.c
    M hw/ppc/ppc440_uc.c
    M hw/ppc/ppc4xx_devs.c
    A hw/ppc/ppc4xx_sdram.c
    M hw/ppc/spapr_hcall.c
    M hw/ppc/spapr_rtas.c
    M hw/ppc/trace-events
    M hw/sd/sdhci-internal.h
    M hw/sd/sdhci.c
    M include/hw/ppc/ppc4xx.h
    M target/ppc/cpu.c
    M target/ppc/cpu.h
    M target/ppc/cpu_init.c
    M target/ppc/excp_helper.c
    M target/ppc/fpu_helper.c
    M target/ppc/helper.h
    M target/ppc/helper_regs.c
    M target/ppc/insn32.decode
    M target/ppc/int_helper.c
    M target/ppc/misc_helper.c
    M target/ppc/mmu-radix64.c
    M target/ppc/power8-pmu.c
    M target/ppc/power8-pmu.h
    M target/ppc/translate.c
    A target/ppc/translate/processor-ctrl-impl.c.inc
    M target/ppc/translate/vmx-impl.c.inc
    M target/ppc/translate/vmx-ops.c.inc
    M target/ppc/translate/vsx-impl.c.inc
    M target/ppc/translate/vsx-ops.c.inc

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

ppc patch queue for 2022-10-29:

This queue has the second part of the ppc4xx_sdram cleanups, doorbell
instructions for POWER8,  new pflash handling for the e500 machine and a
Radix MMU regression fix.

It also has a lot of performance optimizations in the PowerPC emulation
done by the researchers of the Eldorado institute. Between using gvec
for VMX/VSX instructions, a full rework of the interrupt model and PMU
optimizations, they managed to drastically speed up the emulation of
powernv8/9/10 machines.  Here's an example with avocado tests:

- with master:

tests/avocado/boot_linux_console.py:BootLinuxConsole.test_ppc_powernv8:
PASS (38.89 s)
tests/avocado/boot_linux_console.py:BootLinuxConsole.test_ppc_powernv9:
PASS (43.89 s)

- with this queue applied:

tests/avocado/boot_linux_console.py:BootLinuxConsole.test_ppc_powernv8:
PASS (21.23 s)
tests/avocado/boot_linux_console.py:BootLinuxConsole.test_ppc_powernv9:
PASS (22.58 s)

Other ppc machines, like pseries, also had a noticeable performance
boost.

# -----BEGIN PGP SIGNATURE-----
#
# iHUEABYKAB0WIQQX6/+ZI9AYAK8oOBk82cqW3gMxZAUCY10J/gAKCRA82cqW3gMx
# ZAbjAPwKNbE1wE2POJbMALBQAM5MewwLMV/UKGjE6jA7HAbb/AEA9e3o11FoUmSJ
# rZkmTvMzBQZ81mMGRlS0cnqbrr4ADgc=
# =gnKY
# -----END PGP SIGNATURE-----
# gpg: Signature made Sat 29 Oct 2022 07:09:50 EDT
# gpg:                using EDDSA key 17EBFF9923D01800AF2838193CD9CA96DE033164
# 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-20221029' of https://gitlab.com/danielhb/qemu: (63 commits)
  target/ppc: Fix regression in Radix MMU
  hw/ppc/e500: Implement pflash handling
  hw/sd/sdhci: Rename ESDHC_* defines to USDHC_*
  hw/sd/sdhci-internal: Unexport ESDHC defines
  hw/block/pflash_cfi0{1, 2}: Error out if device length isn't a power of two
  docs/system/ppc/ppce500: Use qemu-system-ppc64 across the board(s)
  target/ppc: Increment PMC5 with inline insns
  target/ppc: Add new PMC HFLAGS
  ppc4xx_sdram: Add errp parameter to ppc4xx_sdram_banks()
  ppc4xx_sdram: Convert DDR SDRAM controller to new bank handling
  ppc4xx_sdram: Generalise bank setup
  ppc4xx_sdram: Rename local state variable for brevity
  ppc4xx_sdram: Use hwaddr for memory bank size
  ppc4xx_sdram: Move ppc4xx_sdram_banks() to ppc4xx_sdram.c
  ppc4xx_devs.c: Move DDR SDRAM controller model to ppc4xx_sdram.c
  ppc440_uc.c: Move DDR2 SDRAM controller model to ppc4xx_sdram.c
  target/ppc: move the p*_interrupt_powersave methods to excp_helper.c
  target/ppc: unify cpu->has_work based on cs->interrupt_request
  target/ppc: introduce ppc_maybe_interrupt
  target/ppc: remove ppc_store_lpcr from CONFIG_USER_ONLY builds
  ...

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>


  Commit: dce4fd0c0192c35b15b16b2199b719022b901a8c
      
https://github.com/qemu/qemu/commit/dce4fd0c0192c35b15b16b2199b719022b901a8c
  Author: Stefan Hajnoczi <stefanha@redhat.com>
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
    M bsd-user/host/i386/host-signal.h
    M bsd-user/host/x86_64/host-signal.h

  Log Message:
  -----------
  Merge tag 'imp-202210-pull-request' of 
https://github.com/qemu-bsd-user/qemu-bsd-user into staging

bsd-user: 7.2 misc fixes

Light quarter: only one fix due to header file shuffling in FreeBSD

# -----BEGIN PGP SIGNATURE-----
# Comment: GPGTools - https://gpgtools.org
#
# iQIzBAABCgAdFiEEIDX4lLAKo898zeG3bBzRKH2wEQAFAmNcFQAACgkQbBzRKH2w
# EQBkVg//Xo8Tq21jkYy5jSInWiiNNcPSYdLQc6jnp5KYZU8Enp09i8Hz3A4+lku1
# OfW7DcgqX0CV6QshkVZDGpz58WLV5BEAn9Uw5tzSCGiImSWB0bza6FQWl3EsCXZn
# OOur66ajbbF5vjBkmUENkJURn3qWh1nLCdaCA8hUc4AKd1/LRy1NDBL7fKgQBCZn
# Bx5HgO42T6pkk2uMQ78XANTc6vYhtYMUK6SlCLtHzxLnYscobUYPjLOy45+IysLb
# 4kCA22feJq64lPPl9d2eb7X5GxI5jIPmkHWYr/nCfm3s9nj45zNTlIBOCQZ6uu2f
# 90FEBWJ5tDdMZQ/ljawkSDUXTzIn0mCWV34/pa5lHIhDfnFKiuDtfDq7+kc75+am
# 5bKZzMmoQYYp74L93MOpYKXJrWA2ZpRAg13UrzRl6BzQeAvENKP9LcvZhHEf3sya
# sCXaGVOYBX+W1oi7FKcgxgrACAJt7vf0SJYk06ZM14E9ctBdX0Ki4JSRI2Aiwlla
# ZhZsWsJzEUGAQMozkswTn58sZvI9y3TuR2VFCauFwqzFAasjQBkv0DfEDv4w9hPs
# V2TIUHdSPm+ZLHSSJmITXtmqYUCm5TkGZ2tOr5ZGESzk7HIZ8OVmILZbXBzWhTJ2
# bgwWLMZC/b8ab57d0r2Ctf7GfOI2JzC3VPUwJK1En1mKzpI6tLs=
# =V73c
# -----END PGP SIGNATURE-----
# gpg: Signature made Fri 28 Oct 2022 13:44:32 EDT
# gpg:                using RSA key 2035F894B00AA3CF7CCDE1B76C1CD1287DB01100
# gpg: Good signature from "Warner Losh <wlosh@netflix.com>" [unknown]
# gpg:                 aka "Warner Losh <imp@bsdimp.com>" [unknown]
# gpg:                 aka "Warner Losh <imp@freebsd.org>" [unknown]
# gpg:                 aka "Warner Losh <imp@village.org>" [unknown]
# gpg:                 aka "Warner Losh <wlosh@bsdimp.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: 2035 F894 B00A A3CF 7CCD  E1B7 6C1C D128 7DB0 1100

* tag 'imp-202210-pull-request' of 
https://github.com/qemu-bsd-user/qemu-bsd-user:
  bsd-user: Catch up with sys/param.h requirement for machine/pmap.h

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>


  Commit: 8e4022a8d6934d02c0d95058a6e9b0e0f93f36b2
      
https://github.com/qemu/qemu/commit/8e4022a8d6934d02c0d95058a6e9b0e0f93f36b2
  Author: Bernhard Beschow <shentey@gmail.com>
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
    M hw/isa/vt82c686.c

  Log Message:
  -----------
  hw/isa/vt82c686: Resolve chip-specific realize methods

The object creation now happens in chip-specific init methods which
allows the realize methods to be consolidated into one method. Shifting
the logic into the init methods has the addidional advantage that the
parent object's init methods are called implicitly - like constructors
in object-oriented languages.

Signed-off-by: Bernhard Beschow <shentey@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20220901114127.53914-2-shentey@gmail.com>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>


  Commit: 91ba92d1a33e5a9ded66bfbaa14a98938165934f
      
https://github.com/qemu/qemu/commit/91ba92d1a33e5a9ded66bfbaa14a98938165934f
  Author: Bernhard Beschow <shentey@gmail.com>
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
    M hw/isa/vt82c686.c

  Log Message:
  -----------
  hw/isa/vt82c686: Resolve unneeded attribute

Now that also the super io device is realized in the common realize method,
the isa_bus attribute can be turned into a temporary.

Signed-off-by: Bernhard Beschow <shentey@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20220901114127.53914-3-shentey@gmail.com>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>


  Commit: dd28cc87aa0295743b577145a8afc76cc9292618
      
https://github.com/qemu/qemu/commit/dd28cc87aa0295743b577145a8afc76cc9292618
  Author: Bernhard Beschow <shentey@gmail.com>
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
    M hw/isa/vt82c686.c

  Log Message:
  -----------
  hw/isa/vt82c686: Prefer pci_address_space() over get_system_memory()

Unlike get_system_memory(), pci_address_space() respects the memory tree
available to the parent device.

Signed-off-by: Bernhard Beschow <shentey@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20220901114127.53914-4-shentey@gmail.com>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>


  Commit: c1561d1deba5a58c49b57afb72785e70ccb08dc9
      
https://github.com/qemu/qemu/commit/c1561d1deba5a58c49b57afb72785e70ccb08dc9
  Author: Bernhard Beschow <shentey@gmail.com>
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
    M hw/isa/vt82c686.c

  Log Message:
  -----------
  hw/isa/vt82c686: Reuse errp

Rather than terminating abruptly, make use of the already present errp and
propagate the error to the caller.

Signed-off-by: Bernhard Beschow <shentey@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20220901114127.53914-5-shentey@gmail.com>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>


  Commit: 4b8fd0661a6c57f6a94b55e462626d522fa9c5cc
      
https://github.com/qemu/qemu/commit/4b8fd0661a6c57f6a94b55e462626d522fa9c5cc
  Author: Bernhard Beschow <shentey@gmail.com>
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
    M hw/ide/via.c
    M hw/mips/fuloong2e.c
    M hw/ppc/pegasos2.c
    M include/hw/isa/vt82c686.h

  Log Message:
  -----------
  hw/isa/vt82c686: Introduce TYPE_VIA_IDE define

Establishes consistency with other (VIA) devices.

Signed-off-by: Bernhard Beschow <shentey@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Acked-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Message-Id: <20220901114127.53914-6-shentey@gmail.com>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>


  Commit: 9eb6abbf6aea3116b3a4a7a6fbbb89ec836c0551
      
https://github.com/qemu/qemu/commit/9eb6abbf6aea3116b3a4a7a6fbbb89ec836c0551
  Author: Bernhard Beschow <shentey@gmail.com>
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
    M configs/devices/mips64el-softmmu/default.mak
    M hw/isa/Kconfig
    M hw/isa/vt82c686.c
    M hw/mips/fuloong2e.c
    M hw/ppc/Kconfig
    M hw/ppc/pegasos2.c

  Log Message:
  -----------
  hw/isa/vt82c686: Instantiate IDE function in host device

The IDE function is closely tied to the ISA function (e.g. the IDE
interrupt routing happens there), so it makes sense that the IDE
function is instantiated within the south bridge itself.

Signed-off-by: Bernhard Beschow <shentey@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Acked-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Message-Id: <20220901114127.53914-7-shentey@gmail.com>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>


  Commit: 65c69e9a9f05ac407ebb2df48b5261f3da21afc9
      
https://github.com/qemu/qemu/commit/65c69e9a9f05ac407ebb2df48b5261f3da21afc9
  Author: Bernhard Beschow <shentey@gmail.com>
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
    M hw/mips/fuloong2e.c
    M hw/ppc/pegasos2.c
    M hw/usb/vt82c686-uhci-pci.c
    M include/hw/isa/vt82c686.h

  Log Message:
  -----------
  hw/isa/vt82c686: Introduce TYPE_VT82C686B_USB_UHCI define

Suggested-by: BALATON Zoltan <balaton@eik.bme.hu>
Signed-off-by: Bernhard Beschow <shentey@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Acked-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Message-Id: <20220901114127.53914-8-shentey@gmail.com>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>


  Commit: 1a99ddbe3529bc1b683ef77a1fe29bbb13bf244d
      
https://github.com/qemu/qemu/commit/1a99ddbe3529bc1b683ef77a1fe29bbb13bf244d
  Author: Bernhard Beschow <shentey@gmail.com>
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
    M hw/isa/vt82c686.c
    M hw/mips/fuloong2e.c
    M hw/ppc/pegasos2.c

  Log Message:
  -----------
  hw/isa/vt82c686: Instantiate USB functions in host device

The USB functions can be enabled/disabled through the ISA function. Also
its interrupt routing can be influenced there.

Signed-off-by: Bernhard Beschow <shentey@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Acked-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Message-Id: <20220901114127.53914-9-shentey@gmail.com>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>


  Commit: d105377264a87573ba4207d05c1641bb3708710a
      
https://github.com/qemu/qemu/commit/d105377264a87573ba4207d05c1641bb3708710a
  Author: Bernhard Beschow <shentey@gmail.com>
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
    M hw/isa/vt82c686.c
    M hw/mips/fuloong2e.c
    M hw/ppc/pegasos2.c
    M include/hw/isa/vt82c686.h

  Log Message:
  -----------
  hw/isa/vt82c686: Instantiate PM function in host device

The PM controller has activity bits which monitor activity of other
built-in devices in the host device.

Signed-off-by: Bernhard Beschow <shentey@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Acked-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Message-Id: <20220901114127.53914-10-shentey@gmail.com>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>


  Commit: 0a8d405d69394f84a28cde79949612ec36d3fcda
      
https://github.com/qemu/qemu/commit/0a8d405d69394f84a28cde79949612ec36d3fcda
  Author: Bernhard Beschow <shentey@gmail.com>
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
    M hw/isa/vt82c686.c
    M hw/mips/fuloong2e.c
    M hw/ppc/pegasos2.c

  Log Message:
  -----------
  hw/isa/vt82c686: Instantiate AC97 and MC97 functions in host device

The AC97 function's wakeup status is wired to the PM function and both
the AC97 and MC97 interrupt routing is determined by the ISA function.

Signed-off-by: Bernhard Beschow <shentey@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Acked-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Message-Id: <20220901114127.53914-11-shentey@gmail.com>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>


  Commit: 4ff5328bf7d503805cc1baba9e4de47216f407d0
      
https://github.com/qemu/qemu/commit/4ff5328bf7d503805cc1baba9e4de47216f407d0
  Author: Bernhard Beschow <shentey@gmail.com>
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
    M hw/mips/fuloong2e.c

  Log Message:
  -----------
  hw/mips/fuloong2e: Inline vt82c686b_southbridge_init() and remove it

The previous patches moved most of this function into the via-isa device
model such that it has become fairly trivial. So inline it for
simplicity.

Suggested-by: BALATON Zoltan <balaton@eik.bme.hu>
Signed-off-by: Bernhard Beschow <shentey@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20220901114127.53914-12-shentey@gmail.com>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>


  Commit: 3ecb2e62f98b876d5134429f84437e6f6956d212
      
https://github.com/qemu/qemu/commit/3ecb2e62f98b876d5134429f84437e6f6956d212
  Author: Bernhard Beschow <shentey@gmail.com>
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
    M hw/isa/vt82c686.c

  Log Message:
  -----------
  hw/isa/vt82c686: Embed RTCState in host device

Embed the rtc in the host device, analoguous to the other child devices
and analoguous to PIIX4.

Signed-off-by: Bernhard Beschow <shentey@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20220901114127.53914-13-shentey@gmail.com>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>


  Commit: ff9105dabc5edeab8328e0b639a21c7ef555161e
      
https://github.com/qemu/qemu/commit/ff9105dabc5edeab8328e0b639a21c7ef555161e
  Author: Bernhard Beschow <shentey@gmail.com>
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
    M hw/isa/vt82c686.c
    M hw/mips/fuloong2e.c
    M hw/ppc/pegasos2.c

  Log Message:
  -----------
  hw/isa/vt82c686: Create rtc-time alias in boards instead

According to good QOM practice, an object should only deal with objects
of its own sub tree. Having devices create an alias on the machine
object doesn't respect this good practice. To resolve this, create the
alias in the machine's code.

Signed-off-by: Bernhard Beschow <shentey@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Acked-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Message-Id: <20220901114127.53914-14-shentey@gmail.com>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>


  Commit: 8466405eb0c77d81be5f8c2e3608fdfeb00bb1b9
      
https://github.com/qemu/qemu/commit/8466405eb0c77d81be5f8c2e3608fdfeb00bb1b9
  Author: BALATON Zoltan <balaton@eik.bme.hu>
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
    M hw/alpha/dp264.c
    M hw/hppa/machine.c
    M hw/mips/fuloong2e.c
    M hw/mips/malta.c
    M hw/ppc/prep.c
    M hw/sparc64/sun4u.c

  Log Message:
  -----------
  hw: Remove unused MAX_IDE_BUS define

Several machines have an unused MAX_IDE_BUS define. Remove it from
these machines that don't need it.

Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20220917115136.A32EF746E06@zero.eik.bme.hu>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>


  Commit: c52316925c4e3bf6aef1b12e6cfec5ba53e4ff28
      
https://github.com/qemu/qemu/commit/c52316925c4e3bf6aef1b12e6cfec5ba53e4ff28
  Author: Milica Lazarevic <milica.lazarevic@syrmia.com>
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
    M disas/nanomips.cpp
    M disas/nanomips.h

  Log Message:
  -----------
  disas/nanomips: Remove namespace img

Since there's no namespace feature in C, namespace img has been replaced
with adding the prefix "img" to the namespace members.

Prefix "img" has been added to the function names of functions that used
to be wrapped in namespace img. Those are img::format() functions.
I.e. replaced img::format with the img_format.

Typedef address that used to belong to namespace img now is called
img_address.

Signed-off-by: Milica Lazarevic <milica.lazarevic@syrmia.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20220912122635.74032-2-milica.lazarevic@syrmia.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: bfffba15b24582a78f956d17f155c2f18aaf001c
      
https://github.com/qemu/qemu/commit/bfffba15b24582a78f956d17f155c2f18aaf001c
  Author: Milica Lazarevic <milica.lazarevic@syrmia.com>
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
    M disas/nanomips.cpp
    M disas/nanomips.h

  Log Message:
  -----------
  disas/nanomips: Extract enums out of the NMD class

Definitions of enums TABLE_ENTRY_TYPE and TABLE_ATTRIBUTE_TYPE are moved
out of the NMD class. The main goal is to remove NMD class completely.

Signed-off-by: Milica Lazarevic <milica.lazarevic@syrmia.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20220912122635.74032-3-milica.lazarevic@syrmia.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: 0c2a3b43a1d818b31e2fce81db2085ffeb9a4400
      
https://github.com/qemu/qemu/commit/0c2a3b43a1d818b31e2fce81db2085ffeb9a4400
  Author: Milica Lazarevic <milica.lazarevic@syrmia.com>
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
    M disas/nanomips.cpp
    M disas/nanomips.h

  Log Message:
  -----------
  disas/nanomips: Delete NMD class field

The m_requested_instruction_categories field always has the same value,
ALL_ATTRIBUTES. The only use of that field is within the if statement.
When replaced with a specific value, the if statement is always false,
so it has been removed.

Now, when the only use of the m_requested_instruction_categories field
is removed, we can delete the field declaration and initialization in
the NMD class. Also, we're changing the way of the construction of the
NMD object in the nanomips_dis function.

Signed-off-by: Milica Lazarevic <milica.lazarevic@syrmia.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20220912122635.74032-4-milica.lazarevic@syrmia.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: 9972c8fa7c5126311417b1d3cf355d28a6955d3d
      
https://github.com/qemu/qemu/commit/9972c8fa7c5126311417b1d3cf355d28a6955d3d
  Author: Milica Lazarevic <milica.lazarevic@syrmia.com>
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
    M disas/nanomips.cpp
    M disas/nanomips.h

  Log Message:
  -----------
  disas/nanomips: Delete NMD class second field

We're deleting the m_pc field of the NMD class. It's now part of the
Dis_info struct that this patch introduces. Currently, the Dis_info
struct has just one field, m_pc, which we need for address calculation
in the ADDRESS function.

We're filling Dis_info at the entrance of the nanoMIPS disassembler.
I.e. print_insn_nanomips. Next, we're adding that information as an
argument wherever we need to.

Since NMD class now has no more fields, the NMD constructor is
also deleted.

Signed-off-by: Milica Lazarevic <milica.lazarevic@syrmia.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20220912122635.74032-5-milica.lazarevic@syrmia.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: 2dc0c175df28cd9c9a5eeb12880219cb0f426951
      
https://github.com/qemu/qemu/commit/2dc0c175df28cd9c9a5eeb12880219cb0f426951
  Author: Milica Lazarevic <milica.lazarevic@syrmia.com>
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
    M disas/nanomips.cpp
    M disas/nanomips.h

  Log Message:
  -----------
  disas/nanomips: Remove helper methods from class

Helper methods from NMD class like NMD::renumber_registers,
NMD::decode_gpr_gpr4... etc. are removed from the class. They're now
declared global static functions.

Following helper methods have been deleted because they're not used by
the nanomips disassembler:
- NMD::encode_msbd_from_pos_and_size,
- NMD::encode_s_from_s_hi,
- NMD::neg_copy

Global functions used by those methods:
- nanomips_dis
- sign_extend
- extract_bits
have also been defined as static global functions.

Signed-off-by: Milica Lazarevic <milica.lazarevic@syrmia.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20220912122635.74032-6-milica.lazarevic@syrmia.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: 655fc22f1bc7a16d9da6bd44c43e763bc27d0b8a
      
https://github.com/qemu/qemu/commit/655fc22f1bc7a16d9da6bd44c43e763bc27d0b8a
  Author: Milica Lazarevic <milica.lazarevic@syrmia.com>
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
    M disas/nanomips.cpp
    M disas/nanomips.h

  Log Message:
  -----------
  disas/nanomips: Remove __cond methods from class

NMD class methods with the conditional_function type like
NMD::ADDIU_32__cond, NMD::ADDIU_RS5__cond, etc. are removed from the NMD
class. They're now declared global static functions. Therefore, typedef
of the function pointer, conditional_function is defined outside of the
class.

Now that conditional_function type functions are not part of the NMD
class we can't access them using the this pointer. Thus, the use of
the this pointer has been deleted.

Signed-off-by: Milica Lazarevic <milica.lazarevic@syrmia.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20220912122635.74032-7-milica.lazarevic@syrmia.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: 8d416f6b455d0c73667a2ffa9a0782aa07627d81
      
https://github.com/qemu/qemu/commit/8d416f6b455d0c73667a2ffa9a0782aa07627d81
  Author: Milica Lazarevic <milica.lazarevic@syrmia.com>
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
    M disas/nanomips.cpp
    M disas/nanomips.h

  Log Message:
  -----------
  disas/nanomips: Remove disasm methods from class

NMD class methods with the disassembly_function type like
NMD::ABS_D, NMD::ABS_S, etc. are removed from the class. They're now
declared global static functions. Therefore, typedef of the function
pointer, disassembly_function is defined outside of the class.

Now that disassembly_function type functions are not part of the NMD
class we can't access them using the this pointer. Thus, the use of
the this pointer has been deleted.

Signed-off-by: Milica Lazarevic <milica.lazarevic@syrmia.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20220912122635.74032-8-milica.lazarevic@syrmia.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: a146549034a67234d7b8c5aa66cc2552989c630a
      
https://github.com/qemu/qemu/commit/a146549034a67234d7b8c5aa66cc2552989c630a
  Author: Milica Lazarevic <milica.lazarevic@syrmia.com>
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
    M disas/nanomips.cpp
    M disas/nanomips.h

  Log Message:
  -----------
  disas/nanomips: Remove Pool tables from the class

Pool tables are no longer declared as static fields of the NMD
class but as global static const variables. Pool struct is defined
outside of the class.

The NMD::Disassemble method is using the MAJOR Pool table variable, so
its implementation is moved to the end of the nanomips.cpp file,
right after the initialization of the MAJOR Pool table.

Signed-off-by: Milica Lazarevic <milica.lazarevic@syrmia.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20220912122635.74032-9-milica.lazarevic@syrmia.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: beebf65bec528bcd73f704b2c93ac9c9494431c1
      
https://github.com/qemu/qemu/commit/beebf65bec528bcd73f704b2c93ac9c9494431c1
  Author: Milica Lazarevic <milica.lazarevic@syrmia.com>
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
    M disas/nanomips.cpp
    M disas/nanomips.h

  Log Message:
  -----------
  disas/nanomips: Remove NMD class

NMD class has been deleted. The following methods are now declared as
static functions:
- public NMD::Disassemble method
- private NMD::Disassemble method
- private NMD::extract_op_code_value helper method

Also, the implementation of the print_insn_nanomips function and
nanomips_dis function is moved to the end of the nanomips.cpp file,
right after the implementation of the Disassemble function.

Signed-off-by: Milica Lazarevic <milica.lazarevic@syrmia.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20220912122635.74032-10-milica.lazarevic@syrmia.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: f1cb3bdbc77aa719a3ea7434e3e89dd64d95508f
      
https://github.com/qemu/qemu/commit/f1cb3bdbc77aa719a3ea7434e3e89dd64d95508f
  Author: Milica Lazarevic <milica.lazarevic@syrmia.com>
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
    M disas/nanomips.cpp
    M disas/nanomips.h

  Log Message:
  -----------
  disas/nanomips: Move typedefs etc to nanomips.cpp

The following is moved from the nanomips.h to nanomips.cpp file:
- #include line
- typedefs
- enums
- definition of the Pool struct.
Header file nanomips.h will be deleted to be consistent with the rest of
the disas/ code.

Signed-off-by: Milica Lazarevic <milica.lazarevic@syrmia.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20220912122635.74032-11-milica.lazarevic@syrmia.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: 1a1cc52a88eed130cc99f4912844cddb14a0c8af
      
https://github.com/qemu/qemu/commit/1a1cc52a88eed130cc99f4912844cddb14a0c8af
  Author: Milica Lazarevic <milica.lazarevic@syrmia.com>
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
    R disas/nanomips.h

  Log Message:
  -----------
  disas/nanomips: Delete nanomips.h

Header file nanomips.h has been deleted for the nanomips disassembler to
stay consistent with the rest of the disassemblers which don't include
extra header files.

Signed-off-by: Milica Lazarevic <milica.lazarevic@syrmia.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20220912122635.74032-12-milica.lazarevic@syrmia.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: 912c95b4fae34a8fc62d383bd3f757ceda8cd20f
      
https://github.com/qemu/qemu/commit/912c95b4fae34a8fc62d383bd3f757ceda8cd20f
  Author: Milica Lazarevic <milica.lazarevic@syrmia.com>
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
    M disas/nanomips.cpp

  Log Message:
  -----------
  disas/nanomips: Remove #include <sstream>

<sstream> is a C++ library and it's not used by disassembler.

Signed-off-by: Milica Lazarevic <milica.lazarevic@syrmia.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20220912122635.74032-13-milica.lazarevic@syrmia.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: b5cc052894b809cb0e6e7e70b389264b59e06072
      
https://github.com/qemu/qemu/commit/b5cc052894b809cb0e6e7e70b389264b59e06072
  Author: Milica Lazarevic <milica.lazarevic@syrmia.com>
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
    M disas/nanomips.cpp

  Log Message:
  -----------
  disas/nanomips: Delete copy functions

Functions that have just one parameter and simply return it have been
deleted. Calls to these functions have been replaced with the argument
itself.

We're deleting following functions:
- both versions of copy()
- encode_s_from_address()
- encode_u_from_address()
- encode_lsb_from_pos_and_size()

Signed-off-by: Milica Lazarevic <milica.lazarevic@syrmia.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20220912122635.74032-14-milica.lazarevic@syrmia.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: afc47e07e57e9f39a9dfdf240d67b65a284b15d8
      
https://github.com/qemu/qemu/commit/afc47e07e57e9f39a9dfdf240d67b65a284b15d8
  Author: Milica Lazarevic <milica.lazarevic@syrmia.com>
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
    M disas/nanomips.cpp

  Log Message:
  -----------
  disas/nanomips: Delete wrapper functions

Following functions just wrap the decode_gpr_gpr3() function:
- encode_rs3_and_check_rs3_ge_rt3()
- encode_rs3_and_check_rs3_lt_rt3()
Therefore those have been deleted. Calls to these two functions have
been replaced with calls to decode_gpr_gpr3.

Signed-off-by: Milica Lazarevic <milica.lazarevic@syrmia.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20220912122635.74032-15-milica.lazarevic@syrmia.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: 7def8a4b937262c2710d2cd5fdb21e7af4b0529a
      
https://github.com/qemu/qemu/commit/7def8a4b937262c2710d2cd5fdb21e7af4b0529a
  Author: Milica Lazarevic <milica.lazarevic@syrmia.com>
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
    M disas/nanomips.cpp

  Log Message:
  -----------
  disas/nanomips: Replace std::string type

The return type of typedef disassembly_function is changed to char *
instead of std::string. Therefore, for every particular
disassembly_function function signature is changed.
For example:
- static std::string ABS_D(uint64 instruction, img_address m_pc) {...}
is replaced with
- static char *ABS_D(uint64 instruction, img_address m_pc) {...}

Every helper function used to return std::string is changed to return
const char * or char *. Where the return value points to a static string
that the caller must not free, the return type is const char *. If a
function allocates memory and the caller is required to free it, the
return type is a char *. This applies to the following functions:
img_format, to_string, GPR, save_restore_list, FPR, etc.

Now that we replaced every std::string for const char * or char *, it is
possible to delete multiple versions of the img_format function. The
general version:
- static char *img_format(const char *format, ...) {...}
can handle all string formatting, so others have been deleted.

Where necessary, strings are dynamically allocated with g_strjoinv,
g_strdup, g_strdup_vprintf, and g_strdup_printf. Memory leaking will be
prevented later.

String concatenation in the save_restore_list() function is handled
using g_strjoinv() function instead of += operator.

The type of the "dis" parameter in the Disassemble function is changed
- from std::string &
- to char **

Without applying all of these changes, the nanomips disassembler may be
buildable but can't produce the appropriate output, so all of them are
made together.

Signed-off-by: Milica Lazarevic <milica.lazarevic@syrmia.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20220912122635.74032-16-milica.lazarevic@syrmia.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: 4066c152b322fad4c89872a30e6febc70a43bf73
      
https://github.com/qemu/qemu/commit/4066c152b322fad4c89872a30e6febc70a43bf73
  Author: Milica Lazarevic <milica.lazarevic@syrmia.com>
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
    M disas/nanomips.cpp

  Log Message:
  -----------
  disas/nanomips: Remove IMMEDIATE functions

Both versions of IMMEDIATE functions have been removed.

Before this patch, we'd been calling img_format twice, the first time
through the IMMEDIATE to get an appropriate string and the second time
to print that string. There's no more need for that. Therefore, calls to
IMMEDIATE are removed, and now we're directly printing the integer
values instead.

Signed-off-by: Milica Lazarevic <milica.lazarevic@syrmia.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20220912122635.74032-17-milica.lazarevic@syrmia.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: 043dc73cbc6e9c24c061966cd40fa3c9a702b004
      
https://github.com/qemu/qemu/commit/043dc73cbc6e9c24c061966cd40fa3c9a702b004
  Author: Milica Lazarevic <milica.lazarevic@syrmia.com>
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
    M disas/nanomips.cpp

  Log Message:
  -----------
  disas/nanomips: Remove CPR function

CPR functions has been removed.

Before this patch, we'd been calling img_format twice, the first time
through the CPR function to get an appropriate string and the second
time to print that formatted string. There's no more need for that.
Therefore, calls to CPR are removed, and now we're directly printing
"CP" and integer value instead.

Signed-off-by: Milica Lazarevic <milica.lazarevic@syrmia.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20220912122635.74032-18-milica.lazarevic@syrmia.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: 22e7b52acd8ffd10478167652b291db11c9c047d
      
https://github.com/qemu/qemu/commit/22e7b52acd8ffd10478167652b291db11c9c047d
  Author: Milica Lazarevic <milica.lazarevic@syrmia.com>
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
    M disas/nanomips.cpp

  Log Message:
  -----------
  disas/nanomips: Prevent memory leaking

g_autofree attribute is added for every dynamically allocated string to
prevent memory leaking.

The implementation of the several functions that work with dynamically
allocated strings is slightly changed so we can add those attributes.

Signed-off-by: Milica Lazarevic <milica.lazarevic@syrmia.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20220912122635.74032-19-milica.lazarevic@syrmia.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: 49ec1c98a3992952836a08b797902b9d49ae4b9d
      
https://github.com/qemu/qemu/commit/49ec1c98a3992952836a08b797902b9d49ae4b9d
  Author: Milica Lazarevic <milica.lazarevic@syrmia.com>
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
    M disas/nanomips.cpp

  Log Message:
  -----------
  disas/nanomips: Remove function overloading

Disassemble function that calls the other variant of it is deleted.
Where it is called, now we're directly calling the other implementation.

Signed-off-by: Milica Lazarevic <milica.lazarevic@syrmia.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20220912122635.74032-20-milica.lazarevic@syrmia.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: 3f2aec0778853afe190114bc6f1d18ab0239da09
      
https://github.com/qemu/qemu/commit/3f2aec0778853afe190114bc6f1d18ab0239da09
  Author: Milica Lazarevic <milica.lazarevic@syrmia.com>
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
    M disas/nanomips.cpp

  Log Message:
  -----------
  disas/nanomips: Expand Dis_info struct

This patch expands the Dis_info struct, which should hold the
necessary data for handling runtime errors. Fields fprintf_func and
stream are in charge of error printing. Field buf enables the use of
sigsetjmp() and siglongjmp() functions. Support for runtime error
handling will be added later.

We're filling Dis_info at the entrance of the nanoMIPS disassembler,
i.e. print_insn_nanomips. Next, we're adding that information as an
argument wherever we need to.

Signed-off-by: Milica Lazarevic <milica.lazarevic@syrmia.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20220912122635.74032-21-milica.lazarevic@syrmia.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: 39399c381d3bfc8f651f6d64f9f1f37d9763a8e3
      
https://github.com/qemu/qemu/commit/39399c381d3bfc8f651f6d64f9f1f37d9763a8e3
  Author: Milica Lazarevic <milica.lazarevic@syrmia.com>
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
    M disas/nanomips.cpp

  Log Message:
  -----------
  disas/nanomips: Replace exception handling

Since there's no support for exception handling in C, the try-catch
blocks have been deleted, and throw clauses are replaced. When a runtime
error happens, we're printing out the error message. Disassembling of
the current instruction interrupts. This behavior is achieved by adding
sigsetjmp() to discard further disassembling after the error message
prints and by adding the siglongjmp() function to imitate throwing an
error. The goal was to maintain the same output as it was.

Signed-off-by: Milica Lazarevic <milica.lazarevic@syrmia.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20220912122635.74032-22-milica.lazarevic@syrmia.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: e8ba8ef873222178e238618d6d4b65b82cf47f41
      
https://github.com/qemu/qemu/commit/e8ba8ef873222178e238618d6d4b65b82cf47f41
  Author: Milica Lazarevic <milica.lazarevic@syrmia.com>
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
    M disas/nanomips.cpp

  Log Message:
  -----------
  disas/nanomips: Replace Cpp enums for C enums

Change enums to typedef enums to keep naming clear.

Signed-off-by: Milica Lazarevic <milica.lazarevic@syrmia.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20220912122635.74032-23-milica.lazarevic@syrmia.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: a0fee129445af73c1de7b56472dff14113bc4dc7
      
https://github.com/qemu/qemu/commit/a0fee129445af73c1de7b56472dff14113bc4dc7
  Author: Milica Lazarevic <milica.lazarevic@syrmia.com>
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
    M disas/nanomips.cpp

  Log Message:
  -----------
  disas/nanomips: Remove argument passing by ref

Replaced argument passing by reference with passing by address.

Signed-off-by: Milica Lazarevic <milica.lazarevic@syrmia.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20220912122635.74032-24-milica.lazarevic@syrmia.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: 2413e000bb6efd47fda78ae1dfebd946323e3d9d
      
https://github.com/qemu/qemu/commit/2413e000bb6efd47fda78ae1dfebd946323e3d9d
  Author: Milica Lazarevic <milica.lazarevic@syrmia.com>
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
    M disas/meson.build
    A disas/nanomips.c
    R disas/nanomips.cpp

  Log Message:
  -----------
  disas/nanomips: Rename nanomips.cpp to nanomips.c

Now that everything has been converted to C code the nanomips.cpp file
has been renamed. Therefore, meson.build file is also changed.

Signed-off-by: Milica Lazarevic <milica.lazarevic@syrmia.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20220912122635.74032-25-milica.lazarevic@syrmia.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: a6d89b454cec2de235595ea311d3cc3c49c3aaaa
      
https://github.com/qemu/qemu/commit/a6d89b454cec2de235595ea311d3cc3c49c3aaaa
  Author: David Daney <david.daney@fungible.com>
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
    M disas/mips.c

  Log Message:
  -----------
  disas/mips: Fix branch displacement for BEQZC and BNEZC

disas/mips.c got added in commit 6643d27ea0 ("MIPS disas support")
apparently based on binutils tag 'gdb_6_1-branchpoint' [1].
Back then, MIPSr6 was not supported (added in binutils commit
7361da2c952 during 2014 [2]).

Binutils codebase diverged so much over the last 18 years, it is
not possible to simply cherry-pick their changes, so fix it BEQZC /
BNEZC 21-bit signed branch displacement locally.

[1] 
https://sourceware.org/git/?p=binutils-gdb.git;a=blob;f=opcodes/mips-dis.c;hb=refs/tags/gdb_6_1-branchpoint
[2] https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=7361da2c952

Fixes: 31837be3ee ("target-mips: add compact and CP1 branches")
Signed-off-by: David Daney <david.daney@fungible.com>
Reviewed-by: Marcin Nowakowski <marcin.nowakowski@fungible.com>
[PMD: Added commit description]
Signed-off-by: Philippe Mathieu-Daudé <philmd@fungible.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20221014112322.61119-1-philmd@fungible.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: 503a35e7fdb75aef73d25c43589afcdff6d03ccf
      
https://github.com/qemu/qemu/commit/503a35e7fdb75aef73d25c43589afcdff6d03ccf
  Author: Bernhard Beschow <shentey@gmail.com>
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
    M hw/i386/pc.c
    M hw/i386/pc_piix.c
    M hw/isa/Kconfig
    M hw/isa/lpc_ich9.c
    M hw/isa/piix3.c

  Log Message:
  -----------
  hw/i386/pc: Create DMA controllers in south bridges

Just like in the real hardware (and in PIIX4), create the DMA
controllers in the south bridges.

Signed-off-by: Bernhard Beschow <shentey@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20221022150508.26830-2-shentey@gmail.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: 05c049f12b88370de7289bf39b14088c7d656caa
      
https://github.com/qemu/qemu/commit/05c049f12b88370de7289bf39b14088c7d656caa
  Author: Bernhard Beschow <shentey@gmail.com>
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
    M hw/isa/piix3.c

  Log Message:
  -----------
  hw/isa/piix3: Remove extra ';' outside of functions

Fixes the "extra-semi" clang-tidy check.

Signed-off-by: Bernhard Beschow <shentey@gmail.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20221022150508.26830-4-shentey@gmail.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: 3ee15e807407defcd774586549a00674d58be970
      
https://github.com/qemu/qemu/commit/3ee15e807407defcd774586549a00674d58be970
  Author: Bernhard Beschow <shentey@gmail.com>
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
    M hw/isa/piix3.c

  Log Message:
  -----------
  hw/isa/piix3: Add size constraints to rcr_ops

According to the PIIX3 datasheet, the reset control register is one byte in 
size.
Moreover, PIIX4 has it, so add it to PIIX3 as well.

Signed-off-by: Bernhard Beschow <shentey@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20221022150508.26830-5-shentey@gmail.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: a1b05751faf7769cec3b1751da0239d2ced27b35
      
https://github.com/qemu/qemu/commit/a1b05751faf7769cec3b1751da0239d2ced27b35
  Author: Bernhard Beschow <shentey@gmail.com>
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
    M hw/isa/piix3.c

  Log Message:
  -----------
  hw/isa/piix3: Modernize reset handling

Rather than registering the reset handler via a function which
appends the handler to a global list, prefer to implement it as
a virtual method - PIIX4 does the same already.

Note that this means that piix3_reset can now also be called writing to
the relevant configuration space register on a PCI bridge.

Signed-off-by: Bernhard Beschow <shentey@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20221022150508.26830-6-shentey@gmail.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: 57654b8e98785f2188b64dd45489dc29b426663c
      
https://github.com/qemu/qemu/commit/57654b8e98785f2188b64dd45489dc29b426663c
  Author: Bernhard Beschow <shentey@gmail.com>
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
    M hw/isa/piix3.c

  Log Message:
  -----------
  hw/isa/piix3: Prefer pci_address_space() over get_system_memory()

get_system_memory() accesses global state while pci_address_space() uses
whatever has been passed to the device instance, so avoid the global.
Moreover, PIIX4 uses pci_address_space() here as well.

Signed-off-by: Bernhard Beschow <shentey@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20221022150508.26830-7-shentey@gmail.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: 0b6fdb933b04637a240bd132d626d1daf2d8d7a7
      
https://github.com/qemu/qemu/commit/0b6fdb933b04637a240bd132d626d1daf2d8d7a7
  Author: Bernhard Beschow <shentey@gmail.com>
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
    M hw/isa/piix4.c

  Log Message:
  -----------
  hw/isa/piix4: Rename wrongly named method

This method post-loads the southbridge, not the IDE device.

Signed-off-by: Bernhard Beschow <shentey@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20221022150508.26830-8-shentey@gmail.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: bb2e9b1d660a4bf11c169388b577c851c51ffe24
      
https://github.com/qemu/qemu/commit/bb2e9b1d660a4bf11c169388b577c851c51ffe24
  Author: Bernhard Beschow <shentey@gmail.com>
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
    M hw/i386/pc_piix.c
    M hw/ide/piix.c
    M hw/isa/piix4.c
    A include/hw/ide/piix.h

  Log Message:
  -----------
  hw/ide/piix: Introduce TYPE_ macros for PIIX IDE controllers

Suggested-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Signed-off-by: Bernhard Beschow <shentey@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-Id: <20221022150508.26830-9-shentey@gmail.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: 90ba5c511a7ed0c4e849bc556326c32df9876ee8
      
https://github.com/qemu/qemu/commit/90ba5c511a7ed0c4e849bc556326c32df9876ee8
  Author: Bernhard Beschow <shentey@gmail.com>
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
    M hw/isa/piix3.c

  Log Message:
  -----------
  hw/isa/piix3: Remove unused include

Ammends commit 988fb613215993dd0ce642b89ca8182c479d39dd.

Signed-off-by: Bernhard Beschow <shentey@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-Id: <20221022150508.26830-19-shentey@gmail.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: e5b6c3e2fe0564306c71ec322717101aa88835c7
      
https://github.com/qemu/qemu/commit/e5b6c3e2fe0564306c71ec322717101aa88835c7
  Author: Bernhard Beschow <shentey@gmail.com>
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
    M hw/mips/malta.c

  Log Message:
  -----------
  hw/mips/malta: Reuse dev variable

While at it, move the assignments closer to where they are used.

Signed-off-by: Bernhard Beschow <shentey@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-Id: <20221022150508.26830-26-shentey@gmail.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: 195f7e77de374b6b9776be3bbbc71c7a11ae5622
      
https://github.com/qemu/qemu/commit/195f7e77de374b6b9776be3bbbc71c7a11ae5622
  Author: Bernhard Beschow <shentey@gmail.com>
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
    M configs/devices/mips-softmmu/common.mak
    M hw/isa/Kconfig

  Log Message:
  -----------
  hw/isa/Kconfig: Fix dependencies of piix4 southbridge

Signed-off-by: Bernhard Beschow <shentey@gmail.com>
Message-Id: <20221022150508.26830-27-shentey@gmail.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: a1c100d0fbdcee230341262c3874513ce70ff38f
      
https://github.com/qemu/qemu/commit/a1c100d0fbdcee230341262c3874513ce70ff38f
  Author: Bernhard Beschow <shentey@gmail.com>
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
    M hw/isa/piix4.c

  Log Message:
  -----------
  hw/isa/piix4: Add missing initialization

PIIX3 clears its reset control register, so do the same in PIIX4.

Signed-off-by: Bernhard Beschow <shentey@gmail.com>
Message-Id: <20221022150508.26830-28-shentey@gmail.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: d240d3fb14031ed2b00b86ab8e9082ba6bebce4d
      
https://github.com/qemu/qemu/commit/d240d3fb14031ed2b00b86ab8e9082ba6bebce4d
  Author: Bernhard Beschow <shentey@gmail.com>
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
    M hw/isa/piix4.c
    M hw/mips/malta.c

  Log Message:
  -----------
  hw/isa/piix4: Move pci_ide_create_devs() call to board code

For the VIA south bridges there was a comment to have the call in board code.
Move it there for PIIX4 as well for consistency.

Signed-off-by: Bernhard Beschow <shentey@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20221022150508.26830-29-shentey@gmail.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: 3c43fc333be7747a29405bdf6b3bd9e82fa22164
      
https://github.com/qemu/qemu/commit/3c43fc333be7747a29405bdf6b3bd9e82fa22164
  Author: Jiaxun Yang <jiaxun.yang@flygoat.com>
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
    M hw/mips/boston.c

  Log Message:
  -----------
  hw/mips/boston: Don't set link_up for xilinx-pcie

PCIe port 0 and 1 had link_up set as false previously,
that makes those two ports effectively useless. It can
be annoying for users to find that the device they plug
on those buses won't work at all.

As link_up is true by default, just don't set it again in
boston platform code.

Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Message-Id: <20221024143540.97545-1-jiaxun.yang@flygoat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: 36d7487b2aa033e9792fb310c39d106ffcadaa4f
      
https://github.com/qemu/qemu/commit/36d7487b2aa033e9792fb310c39d106ffcadaa4f
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
    M hw/mips/bootloader.c
    M hw/mips/boston.c
    M hw/mips/fuloong2e.c
    M include/hw/mips/bootloader.h

  Log Message:
  -----------
  hw/mips/bootloader: Allow bl_gen_jump_kernel to optionally set register

When one of the $sp/$a[0..3] register is already set, we might
want bl_gen_jump_kernel() to NOT set it again. Pass a boolean
argument for each register, to allow to optionally set them.

Tested-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Reviewed-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-Id: <20221026191821.28167-2-philmd@linaro.org>


  Commit: fe1f2f4e92782b00ed7edb355c227a2073cfa45b
      
https://github.com/qemu/qemu/commit/fe1f2f4e92782b00ed7edb355c227a2073cfa45b
  Author: Jiaxun Yang <jiaxun.yang@flygoat.com>
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
    M hw/mips/malta.c

  Log Message:
  -----------
  hw/mips: Use bl_gen_kernel_jump to generate bootloaders

Replace embedded binary with generated code.

Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Message-Id: <20210127065424.114125-3-jiaxun.yang@flygoat.com>
[PMD: Pass semihosting_get_argc() to bl_gen_jump_kernel()]
Tested-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Reviewed-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-Id: <20221026191821.28167-3-philmd@linaro.org>


  Commit: 0c8427baf0f66bdaecae41891304f6e15242e682
      
https://github.com/qemu/qemu/commit/0c8427baf0f66bdaecae41891304f6e15242e682
  Author: Jiaxun Yang <jiaxun.yang@flygoat.com>
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
    M hw/mips/malta.c

  Log Message:
  -----------
  hw/mips/malta: Use bootloader helper to set BAR registers

Translate embedded assembly into IO writes which is more
readable.

Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Message-Id: <20210127065424.114125-4-jiaxun.yang@flygoat.com>
[PMD: Explode addresses/values to ease review/maintainance]
Tested-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Reviewed-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-Id: <20221026191821.28167-4-philmd@linaro.org>


  Commit: 95539e546759e9cdd87ae6c8f9b314d881789435
      
https://github.com/qemu/qemu/commit/95539e546759e9cdd87ae6c8f9b314d881789435
  Author: Stefan Hajnoczi <stefanha@redhat.com>
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
    M configs/devices/mips-softmmu/common.mak
    M configs/devices/mips64el-softmmu/default.mak
    M disas/meson.build
    M disas/mips.c
    A disas/nanomips.c
    R disas/nanomips.cpp
    R disas/nanomips.h
    M hw/alpha/dp264.c
    M hw/hppa/machine.c
    M hw/i386/pc.c
    M hw/i386/pc_piix.c
    M hw/ide/piix.c
    M hw/ide/via.c
    M hw/isa/Kconfig
    M hw/isa/lpc_ich9.c
    M hw/isa/piix3.c
    M hw/isa/piix4.c
    M hw/isa/vt82c686.c
    M hw/mips/bootloader.c
    M hw/mips/boston.c
    M hw/mips/fuloong2e.c
    M hw/mips/malta.c
    M hw/ppc/Kconfig
    M hw/ppc/pegasos2.c
    M hw/ppc/prep.c
    M hw/sparc64/sun4u.c
    M hw/usb/vt82c686-uhci-pci.c
    A include/hw/ide/piix.h
    M include/hw/isa/vt82c686.h
    M include/hw/mips/bootloader.h

  Log Message:
  -----------
  Merge tag 'mips-20221030' of https://github.com/philmd/qemu into staging

MIPS patches queue

- Convert nanoMIPS disassembler from C++ to C (Milica Lazarevic)
- Consolidate VT82xx/PIIX south bridges (Bernhard Beschow)
- Remove unused MAX_IDE_BUS definition (Zoltan Balaton)
- Fix branch displacement for BEQZC/BNEZC (David Daney)
- Don't set link_up for Boston's xilinx-pcie (Jiaxun Yang)
- Use bootloader API to set BAR registers in Malta (Jiaxun Yang)

# -----BEGIN PGP SIGNATURE-----
#
# iQIzBAABCAAdFiEE+qvnXhKRciHc/Wuy4+MsLN6twN4FAmNfpO8ACgkQ4+MsLN6t
# wN76og/+LMuTYYRkhETZyw3v5sTAexU0kmXyf/xMZ8PLi37Al2ia3qxo70qTh34m
# P2bbpCC46xzLCVY4s/84pb1lgpANNJNMIHwUni9HL4cTPPR7muKqpUOTEVh6Ghcq
# Zb2+e7yTKpIgvwDcIQEzU74gDyCcJoAo4LcLRVtuXer6olQsYsmlUqr3gg+Oy5kI
# zuJxOxZRoAP4H/ausGPg8oves28S3fVsw9J1x5p7vlzGt1Kx/i1XilSuGXI3H/79
# 0tgofUYkyFQRjxPLlE9OeYVwAo8gLFWwnkw/AOjHSOgGUsj/7yJXORm0ng/vQOqS
# j5036BHxmhYyEVL8aJAc7fvb4/m6walsXJItThqJ/JXphdAXi17fCCn0Wf9jqGrr
# io4Gm5qZI1bO/1orTaQywZTCjSi3pcuM0NxLZ/Qf7CVoXvNcddpDrSlyD3ILz9cq
# XqyaKQJ3kLvWTpJ6kZknl3s4kGnnMZw+2lZlusrSjrI4QnXmgoGLiSTRPxny1qQ0
# NaqAnys0Skn0fJ002na3lJgo4mzxzN+zEzMHsbB+RZv9JB2lIwQBm+zXDFHhb9Zv
# H0UFowi5lhJUjIZ5+bl4wtT2XoM4HM1YxU66a0t4SktMnKvBPCVBLUSj74Qdl1K8
# 7e2SvWB2ovNgscwek/srk1TT+yf7a6CmAraATSm0Fm/kxT5xa/Y=
# =EqI/
# -----END PGP SIGNATURE-----
# gpg: Signature made Mon 31 Oct 2022 06:35:27 EDT
# gpg:                using RSA key FAABE75E12917221DCFD6BB2E3E32C2CDEADC0DE
# gpg: Good signature from "Philippe Mathieu-Daudé (F4BUG) <f4bug@amsat.org>" 
[full]
# Primary key fingerprint: FAAB E75E 1291 7221 DCFD  6BB2 E3E3 2C2C DEAD C0DE

* tag 'mips-20221030' of https://github.com/philmd/qemu: (55 commits)
  hw/mips/malta: Use bootloader helper to set BAR registers
  hw/mips: Use bl_gen_kernel_jump to generate bootloaders
  hw/mips/bootloader: Allow bl_gen_jump_kernel to optionally set register
  hw/mips/boston: Don't set link_up for xilinx-pcie
  hw/isa/piix4: Move pci_ide_create_devs() call to board code
  hw/isa/piix4: Add missing initialization
  hw/isa/Kconfig: Fix dependencies of piix4 southbridge
  hw/mips/malta: Reuse dev variable
  hw/isa/piix3: Remove unused include
  hw/ide/piix: Introduce TYPE_ macros for PIIX IDE controllers
  hw/isa/piix4: Rename wrongly named method
  hw/isa/piix3: Prefer pci_address_space() over get_system_memory()
  hw/isa/piix3: Modernize reset handling
  hw/isa/piix3: Add size constraints to rcr_ops
  hw/isa/piix3: Remove extra ';' outside of functions
  hw/i386/pc: Create DMA controllers in south bridges
  disas/mips: Fix branch displacement for BEQZC and BNEZC
  disas/nanomips: Rename nanomips.cpp to nanomips.c
  disas/nanomips: Remove argument passing by ref
  disas/nanomips: Replace Cpp enums for C enums
  ...

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>


  Commit: 0c7a8c0150d660de055b14db2b495d6c7c8a5f01
      
https://github.com/qemu/qemu/commit/0c7a8c0150d660de055b14db2b495d6c7c8a5f01
  Author: Stefan Hajnoczi <stefanha@redhat.com>
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
    M MAINTAINERS
    M accel/tcg/cpu-exec-common.c
    M accel/tcg/internal.h
    M accel/tcg/tb-maint.c
    M accel/tcg/translate-all.c
    M include/exec/exec-all.h
    M meson.build
    M target/alpha/helper.c
    M target/alpha/mem_helper.c
    M target/arm/op_helper.c
    M target/arm/tlb_helper.c
    M target/cris/helper.c
    M target/i386/helper.c
    M target/i386/helper.h
    M target/i386/tcg/cc_helper.c
    M target/i386/tcg/sysemu/svm_helper.c
    M target/i386/tcg/translate.c
    M target/m68k/op_helper.c
    M target/microblaze/helper.c
    M target/nios2/op_helper.c
    M target/openrisc/sys_helper.c
    M target/ppc/excp_helper.c
    M target/s390x/tcg/excp_helper.c
    M target/tricore/op_helper.c
    M target/xtensa/helper.c
    R tcg/sparc/tcg-target-con-set.h
    R tcg/sparc/tcg-target-con-str.h
    R tcg/sparc/tcg-target.c.inc
    R tcg/sparc/tcg-target.h
    A tcg/sparc64/tcg-target-con-set.h
    A tcg/sparc64/tcg-target-con-str.h
    A tcg/sparc64/tcg-target.c.inc
    A tcg/sparc64/tcg-target.h
    M tcg/tcg.c

  Log Message:
  -----------
  Merge tag 'pull-tcg-20221031' of https://gitlab.com/rth7680/qemu into staging

Remove sparc32plus support from tcg/sparc.
target/i386: Use cpu_unwind_state_data for tpr access.
target/i386: Expand eflags updates inline

# -----BEGIN PGP SIGNATURE-----
#
# iQFRBAABCgA7FiEEekgeeIaLTbaoWgXAZN846K9+IV8FAmNfGiYdHHJpY2hhcmQu
# aGVuZGVyc29uQGxpbmFyby5vcmcACgkQZN846K9+IV+YPgf+OKJYVPc8xF8E+frG
# 5S6KEK/8eIrw6/0FZjXwvdmWsP4AVoESJX1YVJddLxRBrqq6daC5CZhL3F/AcgBQ
# d0mrdS8HdaX5BCS48+7pY/eNgtjh+eOEhEnt01tY8ZZUO2BPorREqKGdMUW3svXB
# 4QcuxYuUQThzmR4Ivn2tpnRHHJkF4x4UPkp0tS82BeKLAXxkESYhdWwTLg0H1qj/
# mopgn75DnJSymQ53XNjqM4YtmoVnKe1PebHsn1tx+5bBw7HaWEGV/mSQGWYy/jma
# hQIkqbe/+GKiz8zgqtBv1aFboFSLSEOVI+rhlZSObEB9TeYwZJVldtxa8xAhdagk
# a9p/Ng==
# =G0eq
# -----END PGP SIGNATURE-----
# gpg: Signature made Sun 30 Oct 2022 20:43:18 EDT
# gpg:                using RSA key 7A481E78868B4DB6A85A05C064DF38E8AF7E215F
# gpg:                issuer "richard.henderson@linaro.org"
# gpg: Good signature from "Richard Henderson <richard.henderson@linaro.org>" 
[full]
# Primary key fingerprint: 7A48 1E78 868B 4DB6 A85A  05C0 64DF 38E8 AF7E 215F

* tag 'pull-tcg-20221031' of https://gitlab.com/rth7680/qemu:
  target/i386: Expand eflags updates inline
  accel/tcg: Remove reset_icount argument from cpu_restore_state_from_tb
  accel/tcg: Remove will_exit argument from cpu_restore_state
  target/openrisc: Use cpu_unwind_state_data for mfspr
  target/openrisc: Always exit after mtspr npc
  target/i386: Use cpu_unwind_state_data for tpr access
  accel/tcg: Introduce cpu_unwind_state_data
  tcg/tci: fix logic error when registering helpers via FFI
  tcg/sparc64: Remove sparc32plus constraints
  tcg/sparc64: Rename from tcg/sparc
  tcg/sparc: Remove support for sparc32plus

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>


  Commit: 13c29a3f39fa293e6927db80ddb209b9693ed1ab
      
https://github.com/qemu/qemu/commit/13c29a3f39fa293e6927db80ddb209b9693ed1ab
  Author: Stefan Hajnoczi <stefanha@redhat.com>
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
    M meson.build
    M scripts/nsis.py

  Log Message:
  -----------
  Merge tag 'pull-qemu-20221031' of https://gitlab.com/stweil/qemu into staging

Patches for Windows

# -----BEGIN PGP SIGNATURE-----
#
# iQIzBAABCAAdFiEESSNv6nXJXWmOwreK4Iwh1Wd0UK0FAmNfkC0ACgkQ4Iwh1Wd0
# UK2tEw//QQapqOnJQmjiGVWJ3xUEVoDUmZbhXlPaLKOzSkAnrnIdIO2p4jsXrITi
# LfL8PF7wCg1+oldPsKmhh+ZD6XiUyNBpTt61atXRJS/TybKAGjI33XC+/Hliwity
# 4A0+WxJ960ExLwZzaE/ANTYM86Jo5SqhzACosGh8txRbL1rkmqlrCU1DwnhU6vq1
# 5ph1HFgpqkii43Eiq+v1nmkbh5MWVuMap6MOoQzgwVTkaUU0cTmR8/KqhSHrIryj
# xFPH2wY8pA3vFgMv5OSOjq5Lg197kiWUyhJa6eBBsi4MKnQgRzAxE6yHhpyYZ5EA
# dMW9iLhPVFRDAoQOiSRLj/NA1nl2gwDdjs5WhKqF6AtxMck5IDqltLKFvLlXIxiK
# BYi3ghVeA5LUarcxuAOHse8rCXxBaIJI3aSolO5fDe0mcpNIb7CgCleBKlnBWEsP
# GtRhr1AkoKHcetO5iEfg1QG71/XWdWWy3hfW39GJeBl9C7/AxzoLC7yStI7Iv3b4
# tv/Tylt+Js1KadA9z/tof4wm4NkGf2Q9aFoSbm4pSZH+7b4ZI5LVLlDKYCnjT37v
# LekyJgkU3wRjKdLkM1n6qhsa5Ey2D7STw9ANWQwqOImoj5Dkix2FIqfaydctgrxq
# zmdQpJhOzIO8b9vVSRLn2xYtae5LNlxiAx85r5l11jwfqDOWTts=
# =ZJqu
# -----END PGP SIGNATURE-----
# gpg: Signature made Mon 31 Oct 2022 05:06:53 EDT
# gpg:                using RSA key 49236FEA75C95D698EC2B78AE08C21D5677450AD
# gpg: Good signature from "Stefan Weil <sw@weilnetz.de>" [unknown]
# gpg:                 aka "Stefan Weil (Universitätsbibliothek Mannheim) 
<stefan.weil@uni-mannheim.de>" [unknown]
# gpg:                 aka "Stefan Weil <stefan.weil@bib.uni-mannheim.de>" 
[unknown]
# gpg:                 aka "Stefan Weil <stefan.weil@weilnetz.de>" [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: 4923 6FEA 75C9 5D69 8EC2  B78A E08C 21D5 6774 50AD

* tag 'pull-qemu-20221031' of https://gitlab.com/stweil/qemu:
  block/nfs: Fix 32-bit Windows build
  scripts/nsis.py: Automatically package required DLLs of QEMU executables
  scripts/nsis.py: Fix destination directory name when invoked on Windows
  scripts/nsis.py: Drop the unnecessary path separator

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>


Compare: https://github.com/qemu/qemu/compare/720842922396...13c29a3f39fa



reply via email to

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