[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-commits] [qemu/qemu] 068479: hw/ppc/spapr.c: Extract MMU mode erro
From: |
Peter Maydell |
Subject: |
[Qemu-commits] [qemu/qemu] 068479: hw/ppc/spapr.c: Extract MMU mode error reporting i... |
Date: |
Thu, 20 May 2021 02:00:52 -0700 |
Branch: refs/heads/master
Home: https://github.com/qemu/qemu
Commit: 068479e1e1d680ac246f12aaaacf2c5e1a0bd97b
https://github.com/qemu/qemu/commit/068479e1e1d680ac246f12aaaacf2c5e1a0bd97b
Author: Fabiano Rosas <farosas@linux.ibm.com>
Date: 2021-05-19 (Wed, 19 May 2021)
Changed paths:
M hw/ppc/spapr.c
M hw/ppc/spapr_hcall.c
M include/hw/ppc/spapr.h
Log Message:
-----------
hw/ppc/spapr.c: Extract MMU mode error reporting into a function
A following patch will make use of it.
Signed-off-by: Fabiano Rosas <farosas@linux.ibm.com>
Message-Id: <20210505001130.3999968-2-farosas@linux.ibm.com>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Commit: ab5add4c7bf4c705578ba9d115bb428d04efe2c0
https://github.com/qemu/qemu/commit/ab5add4c7bf4c705578ba9d115bb428d04efe2c0
Author: Fabiano Rosas <farosas@linux.ibm.com>
Date: 2021-05-19 (Wed, 19 May 2021)
Changed paths:
M hw/ppc/spapr.c
Log Message:
-----------
hw/ppc/spapr.c: Make sure the host supports the selected MMU mode
Starting with Linux kernel v5.12 we dropped support[1] in KVM for
hosts that can't have their threads running in different MMU modes
(POWER9 < DD2.2). In these hosts, KVM will no longer report the
KVM_CAP_PPC_MMU_HASH_V3 capability[2] when the host is running Radix.
For guests that support both MMU modes, the negotiation during CAS
will make sure it selects the correct one.
For guests that only support Hash, such as P8 compat mode guests, the
following error is currently thrown:
$ ~/qemu-system-ppc64 -machine pseries,accel=kvm,max-cpu-compat=power8 ...
error: kvm run failed Invalid argument
NIP 0000000000000100 LR 0000000000000000 CTR 0000000000000000 XER
0000000000000000 CPU#0
MSR 8000000000001000 HID0 0000000000000000 HF 8000000000000000 iidx 3 didx 3
TB 00000000 00000000 DECR 0
GPR00 0000000000000000 0000000000000000 0000000000000000 000000007ff00000
GPR04 0000000000000000 0000000000000000 0000000000000000 0000000000000000
GPR08 0000000000000000 0000000000000000 0000000000000000 0000000000000000
GPR12 0000000000000000 0000000000000000 0000000000000000 0000000000000000
GPR16 0000000000000000 0000000000000000 0000000000000000 0000000000000000
GPR20 0000000000000000 0000000000000000 0000000000000000 0000000000000000
GPR24 0000000000000000 0000000000000000 0000000000000000 0000000000000000
GPR28 0000000000000000 0000000000000000 0000000000000000 0000000000000000
CR 00000000 [ - - - - - - - - ] RES ffffffffffffffff
SRR0 0000000000000000 SRR1 0000000000000000 PVR 00000000004e1201 VRSAVE
0000000000000000
SPRG0 0000000000000000 SPRG1 0000000000000000 SPRG2 0000000000000000 SPRG3
0000000000000000
SPRG4 0000000000000000 SPRG5 0000000000000000 SPRG6 0000000000000000 SPRG7
0000000000000000
HSRR0 0000000000000000 HSRR1 0000000000000000
CFAR 0000000000000000
LPCR 000000000004f01f
PTCR 0000000000000000 DAR 0000000000000000 DSISR 0000000000000000
This patch adds a verification during the writing of the platform
support vector so that we error out as soon as we determine this guest
only supports Hash and the host doesn't.
~/qemu-system-ppc64 -machine pseries,accel=kvm,max-cpu-compat=power8 ...
qemu-system-ppc64: Guest requested unavailable MMU mode (hash).
1- https://git.kernel.org/torvalds/p/b1b1697ae0cc8
2- https://git.kernel.org/torvalds/p/a722076e94702
Signed-off-by: Fabiano Rosas <farosas@linux.ibm.com>
Message-Id: <20210505001130.3999968-3-farosas@linux.ibm.com>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Commit: 1cc9e93ca8fd4debf78594923a2e1cdddb360bfc
https://github.com/qemu/qemu/commit/1cc9e93ca8fd4debf78594923a2e1cdddb360bfc
Author: Bruno Larsen (billionai) <bruno.larsen@eldorado.org.br>
Date: 2021-05-19 (Wed, 19 May 2021)
Changed paths:
M target/ppc/translate.c
M target/ppc/translate_init.c.inc
Log Message:
-----------
target/ppc: Fold gen_*_xer into their callers
folded gen_{read,write}_xer into their only callers, spr_{read,write}_xer
Signed-off-by: Bruno Larsen (billionai) <bruno.larsen@eldorado.org.br>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20210504140157.76066-2-bruno.larsen@eldorado.org.br>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Commit: a08eea67cbad45deb999834f586646ffc43fc681
https://github.com/qemu/qemu/commit/a08eea67cbad45deb999834f586646ffc43fc681
Author: Bruno Larsen (billionai) <bruno.larsen@eldorado.org.br>
Date: 2021-05-19 (Wed, 19 May 2021)
Changed paths:
M target/ppc/translate_init.c.inc
Log Message:
-----------
target/ppc: renamed SPR registration functions
Renamed all gen_spr_* and gen_* functions specifically related to
registering SPRs to register_*_sprs and register_*, to avoid future
confusion with other TCG related code.
Signed-off-by: Bruno Larsen (billionai) <bruno.larsen@eldorado.org.br>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20210505155310.62710-2-bruno.larsen@eldorado.org.br>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Commit: 37f219c8f8b93f5bd1cb9bc156066357a806393a
https://github.com/qemu/qemu/commit/37f219c8f8b93f5bd1cb9bc156066357a806393a
Author: Bruno Larsen (billionai) <bruno.larsen@eldorado.org.br>
Date: 2021-05-19 (Wed, 19 May 2021)
Changed paths:
M target/ppc/translate.c
M target/ppc/translate_init.c.inc
Log Message:
-----------
target/ppc: move SPR R/W callbacks to translate.c
Moved all read and write callbacks for SPRs away from
translate_init.c.inc and into translate.c; these functions are
TCG only, so this motion is required to enable building with
the flag disable-tcg
Signed-off-by: Bruno Larsen (billionai) <bruno.larsen@eldorado.org.br>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20210506190837.6921-1-bruno.larsen@eldorado.org.br>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Commit: 962104f04482ad1244158068af36284f92038ca4
https://github.com/qemu/qemu/commit/962104f04482ad1244158068af36284f92038ca4
Author: Lucas Mateus Castro (alqotel) <lucas.araujo@eldorado.org.br>
Date: 2021-05-19 (Wed, 19 May 2021)
Changed paths:
M hw/ppc/meson.build
M hw/ppc/spapr_hcall.c
A hw/ppc/spapr_softmmu.c
M include/hw/ppc/spapr.h
Log Message:
-----------
hw/ppc: moved hcalls that depend on softmmu
The hypercalls h_enter, h_remove, h_bulk_remove, h_protect, and h_read,
have been moved to spapr_softmmu.c with the functions they depend on. The
functions is_ram_address and push_sregs_to_kvm_pr are not static anymore
as functions on both spapr_hcall.c and spapr_softmmu.c depend on them.
The hypercalls h_resize_hpt_prepare and h_resize_hpt_commit have been
divided, the KVM part stayed in spapr_hcall.c while the softmmu part
was moved to spapr_softmmu.c
Signed-off-by: Lucas Mateus Castro (alqotel) <lucas.araujo@eldorado.org.br>
Message-Id: <20210506163941.106984-2-lucas.araujo@eldorado.org.br>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Commit: fd1eb085da662e80909dfb27c69276a7336f118e
https://github.com/qemu/qemu/commit/fd1eb085da662e80909dfb27c69276a7336f118e
Author: Lucas Mateus Castro (alqotel) <lucas.araujo@eldorado.org.br>
Date: 2021-05-19 (Wed, 19 May 2021)
Changed paths:
M hw/ppc/spapr_caps.c
M target/ppc/mmu-hash64.c
M target/ppc/mmu-hash64.h
Log Message:
-----------
target/ppc: moved function out of mmu-hash64
The function ppc_hash64_filter_pagesizes has been moved from a function
with prototype in mmu-hash64.h and implemented in mmu-hash64.c to
a static function in hw/ppc/spapr_caps.c as it's only used in that file.
Signed-off-by: Lucas Mateus Castro (alqotel) <lucas.araujo@eldorado.org.br>
Message-Id: <20210506163941.106984-3-lucas.araujo@eldorado.org.br>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Commit: 45998ffcb4ccd2632ae2731f9572d5272ec794f0
https://github.com/qemu/qemu/commit/45998ffcb4ccd2632ae2731f9572d5272ec794f0
Author: Lucas Mateus Castro (alqotel) <lucas.araujo@eldorado.org.br>
Date: 2021-05-19 (Wed, 19 May 2021)
Changed paths:
M target/ppc/cpu.h
M target/ppc/misc_helper.c
M target/ppc/mmu-hash64.c
M target/ppc/mmu-hash64.h
Log Message:
-----------
target/ppc: moved ppc_store_lpcr to misc_helper.c
Moved the function ppc_store from mmu-hash64.c to misc_helper.c and the
prototype from mmu-hash64.h to cpu.h as it is a more appropriate place,
but it will have to have its implementation moved to a new file as
misc_helper.c should not be compiled in a !TCG environment.
Signed-off-by: Lucas Mateus Castro (alqotel) <lucas.araujo@eldorado.org.br>
Message-Id: <20210506163941.106984-4-lucas.araujo@eldorado.org.br>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Commit: 03282a3ab8db1fd57793d7e910e3e06d24faab00
https://github.com/qemu/qemu/commit/03282a3ab8db1fd57793d7e910e3e06d24faab00
Author: Lucas Mateus Castro (alqotel) <lucas.araujo@eldorado.org.br>
Date: 2021-05-19 (Wed, 19 May 2021)
Changed paths:
M hw/ppc/pnv.c
M hw/ppc/spapr.c
M hw/ppc/spapr_hcall.c
M target/ppc/cpu.h
Log Message:
-----------
hw/ppc: moved has_spr to cpu.h
Moved has_spr to cpu.h as ppc_has_spr and turned it into an inline function.
Change spr verification in pnv.c and spapr.c to a version that can
compile in a !TCG environment.
Signed-off-by: Lucas Mateus Castro (alqotel) <lucas.araujo@eldorado.org.br>
Message-Id: <20210507164146.67086-1-lucas.araujo@eldorado.org.br>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Commit: a829cec3a3d2bee08cd231cfdf58e42e9b553b39
https://github.com/qemu/qemu/commit/a829cec3a3d2bee08cd231cfdf58e42e9b553b39
Author: Bruno Larsen (billionai) <bruno.larsen@eldorado.org.br>
Date: 2021-05-19 (Wed, 19 May 2021)
Changed paths:
A target/ppc/spr_tcg.h
M target/ppc/translate.c
Log Message:
-----------
target/ppc: turned SPR R/W callbacks not static
To be able to compile translate_init.c.inc as a standalone file,
we have to make the callbacks accessible outside of translate.c;
This patch does exactly that
Signed-off-by: Bruno Larsen (billionai) <bruno.larsen@eldorado.org.br>
Message-Id: <20210507115512.11376-1-bruno.larsen@eldorado.org.br>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Commit: 3e770bf7a9aa68c30aa04b8277811dbe0fcd3e2c
https://github.com/qemu/qemu/commit/3e770bf7a9aa68c30aa04b8277811dbe0fcd3e2c
Author: Bruno Larsen (billionai) <bruno.larsen@eldorado.org.br>
Date: 2021-05-19 (Wed, 19 May 2021)
Changed paths:
A target/ppc/cpu_init.c
M target/ppc/meson.build
M target/ppc/spr_tcg.h
M target/ppc/translate.c
R target/ppc/translate_init.c.inc
Log Message:
-----------
target/ppc: isolated cpu init from translation logic
finished isolation of CPU initialization logic from
translation logic. CPU initialization now only has common code
and may or may not call accelerator-specific code, as the
build options require.
Signed-off-by: Bruno Larsen (billionai) <bruno.larsen@eldorado.org.br>
Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
Message-Id: <20210507115551.11436-1-bruno.larsen@eldorado.org.br>
[dwg: Fix compile error with clang linux-user builds]
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Commit: c19940db0fd9e879c208ddabe103e0981bdd48a0
https://github.com/qemu/qemu/commit/c19940db0fd9e879c208ddabe103e0981bdd48a0
Author: Bruno Larsen (billionai) <bruno.larsen@eldorado.org.br>
Date: 2021-05-19 (Wed, 19 May 2021)
Changed paths:
M target/ppc/arch_dump.c
M target/ppc/cpu.c
M target/ppc/cpu.h
M target/ppc/cpu_init.c
M target/ppc/gdbstub.c
M target/ppc/int_helper.c
Log Message:
-----------
target/ppc: created ppc_{store,get}_vscr for generic vscr usage
Some functions unrelated to TCG use helper_m{t,f}vscr, so generic versions
of those functions were added to cpu.c, in preparation for compilation
without TCG
Signed-off-by: Bruno Larsen (billionai) <bruno.larsen@eldorado.org.br>
Message-Id: <20210512140813.112884-2-bruno.larsen@eldorado.org.br>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Commit: 87aff23827b7ffc9e1165aa41d97df8d85422b33
https://github.com/qemu/qemu/commit/87aff23827b7ffc9e1165aa41d97df8d85422b33
Author: Bruno Larsen (billionai) <bruno.larsen@eldorado.org.br>
Date: 2021-05-19 (Wed, 19 May 2021)
Changed paths:
M target/ppc/machine.c
Log Message:
-----------
target/ppc: updated vscr manipulation in machine.c
Updated the code in machine.c to use the generic ppc_{store,get}_vscr
instead of helper style functions, so it can build without TCG
Signed-off-by: Bruno Larsen (billionai) <bruno.larsen@eldorado.org.br>
Message-Id: <20210512140813.112884-7-bruno.larsen@eldorado.org.br>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Commit: 172d74efdafe199eb94706827fc8b367b7452c93
https://github.com/qemu/qemu/commit/172d74efdafe199eb94706827fc8b367b7452c93
Author: Bruno Larsen (billionai) <bruno.larsen@eldorado.org.br>
Date: 2021-05-19 (Wed, 19 May 2021)
Changed paths:
M target/ppc/cpu.c
M target/ppc/mmu_helper.c
Log Message:
-----------
target/ppc: moved ppc_store_sdr1 to cpu.c
Moved this function that is required in !TCG cases into a
common code file
Signed-off-by: Bruno Larsen (billionai) <bruno.larsen@eldorado.org.br>
Message-Id: <20210512140813.112884-3-bruno.larsen@eldorado.org.br>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
[dwg: Fixed compile error with linux-user targets]
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Commit: 47334e173831f356385b32fcc6767809811a638c
https://github.com/qemu/qemu/commit/47334e173831f356385b32fcc6767809811a638c
Author: Bruno Larsen (billionai) <bruno.larsen@eldorado.org.br>
Date: 2021-05-19 (Wed, 19 May 2021)
Changed paths:
M target/ppc/cpu_init.c
M target/ppc/translate.c
Log Message:
-----------
target/ppc: moved ppc_cpu_dump_state to cpu_init.c
This function was forgotten in the cpu_init code motion series, but it
seems to be used regardless of TCG, and so needs to be moved to support
disabling TCG.
Signed-off-by: Bruno Larsen (billionai) <bruno.larsen@eldorado.org.br>
Message-Id: <20210512140813.112884-4-bruno.larsen@eldorado.org.br>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Commit: 2c2bcb1b507731ec2676f745a37450a955cce0c5
https://github.com/qemu/qemu/commit/2c2bcb1b507731ec2676f745a37450a955cce0c5
Author: Richard Henderson <richard.henderson@linaro.org>
Date: 2021-05-19 (Wed, 19 May 2021)
Changed paths:
M target/ppc/translate.c
Log Message:
-----------
target/ppc: Add cia field to DisasContext
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Bruno Larsen (billionai) <bruno.larsen@eldorado.org.br>
Reviewed-by: Luis Pires <luis.pires@eldorado.org.br>
Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br>
Message-Id: <20210512185441.3619828-2-matheus.ferst@eldorado.org.br>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Commit: 624cb07fde08358bafeb88d677a61972783e0a8e
https://github.com/qemu/qemu/commit/624cb07fde08358bafeb88d677a61972783e0a8e
Author: Richard Henderson <richard.henderson@linaro.org>
Date: 2021-05-19 (Wed, 19 May 2021)
Changed paths:
M target/ppc/translate.c
Log Message:
-----------
target/ppc: Split out decode_legacy
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Luis Pires <luis.pires@eldorado.org.br>
Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br>
Message-Id: <20210512185441.3619828-3-matheus.ferst@eldorado.org.br>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Commit: 3d8a5b69bd79ea324b79bde175d870d831e0afe8
https://github.com/qemu/qemu/commit/3d8a5b69bd79ea324b79bde175d870d831e0afe8
Author: Richard Henderson <richard.henderson@linaro.org>
Date: 2021-05-19 (Wed, 19 May 2021)
Changed paths:
M target/ppc/translate.c
Log Message:
-----------
target/ppc: Move DISAS_NORETURN setting into gen_exception*
There are other valid settings for is_jmp besides
DISAS_NEXT and DISAS_NORETURN, so eliminating that
dichotomy from ppc_tr_translate_insn is helpful.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Luis Pires <luis.pires@eldorado.org.br>
Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br>
Message-Id: <20210512185441.3619828-4-matheus.ferst@eldorado.org.br>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Commit: da3527d96dab32bbfffb314622357765f2613233
https://github.com/qemu/qemu/commit/da3527d96dab32bbfffb314622357765f2613233
Author: Richard Henderson <richard.henderson@linaro.org>
Date: 2021-05-19 (Wed, 19 May 2021)
Changed paths:
M target/ppc/translate.c
Log Message:
-----------
target/ppc: Remove special case for POWERPC_SYSCALL
Since POWERPC_SYSCALL is raised by gen_exception_err,
we will have also set DISAS_NORETURN.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Luis Pires <luis.pires@eldorado.org.br>
Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br>
Message-Id: <20210512185441.3619828-5-matheus.ferst@eldorado.org.br>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Commit: 506fadcfd75ca7a761bfe6025aa9dd11af89626c
https://github.com/qemu/qemu/commit/506fadcfd75ca7a761bfe6025aa9dd11af89626c
Author: Richard Henderson <richard.henderson@linaro.org>
Date: 2021-05-19 (Wed, 19 May 2021)
Changed paths:
M target/ppc/translate.c
Log Message:
-----------
target/ppc: Remove special case for POWERPC_EXCP_TRAP
Since POWERPC_EXCP_TRAP is raised by gen_exception_err,
we will have also set DISAS_NORETURN.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Luis Pires <luis.pires@eldorado.org.br>
Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br>
Message-Id: <20210512185441.3619828-6-matheus.ferst@eldorado.org.br>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Commit: 2736fc61811d80309d6fb0bbbb2af1bbe12e44b7
https://github.com/qemu/qemu/commit/2736fc61811d80309d6fb0bbbb2af1bbe12e44b7
Author: Richard Henderson <richard.henderson@linaro.org>
Date: 2021-05-19 (Wed, 19 May 2021)
Changed paths:
M target/ppc/translate.c
Log Message:
-----------
target/ppc: Simplify gen_debug_exception
Two of the call sites that use gen_debug_exception have already
updated NIP. Only ppc_tr_breakpoint_check requires the update.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br>
Message-Id: <20210512185441.3619828-7-matheus.ferst@eldorado.org.br>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Commit: a9b5b3d06c0072fcb6dbf07ec2d27264f609af9a
https://github.com/qemu/qemu/commit/a9b5b3d06c0072fcb6dbf07ec2d27264f609af9a
Author: Richard Henderson <richard.henderson@linaro.org>
Date: 2021-05-19 (Wed, 19 May 2021)
Changed paths:
M target/ppc/translate.c
Log Message:
-----------
target/ppc: Introduce DISAS_{EXIT,CHAIN}{,_UPDATE}
Rewrite ppc_tr_tb_stop to handle these new codes.
Convert ctx->exception into these new codes at the end of
ppc_tr_translate_insn, prior to pushing the change back
throughout translate.c.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br>
Message-Id: <20210512185441.3619828-8-matheus.ferst@eldorado.org.br>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Commit: 59bf23faf56cb94147be88031c160a9423f2041b
https://github.com/qemu/qemu/commit/59bf23faf56cb94147be88031c160a9423f2041b
Author: Richard Henderson <richard.henderson@linaro.org>
Date: 2021-05-19 (Wed, 19 May 2021)
Changed paths:
M target/ppc/cpu.h
M target/ppc/translate.c
Log Message:
-----------
target/ppc: Replace POWERPC_EXCP_SYNC with DISAS_EXIT
Remove the synthetic "exception" after no more uses.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br>
Message-Id: <20210512185441.3619828-9-matheus.ferst@eldorado.org.br>
Reviewed-by: Bruno Larsen (billionai) <bruno.larsen@eldorado.org.br>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Commit: a68cf3a520f07ee063d3b5b09193aedfd0cb9441
https://github.com/qemu/qemu/commit/a68cf3a520f07ee063d3b5b09193aedfd0cb9441
Author: Richard Henderson <richard.henderson@linaro.org>
Date: 2021-05-19 (Wed, 19 May 2021)
Changed paths:
M target/ppc/translate.c
Log Message:
-----------
target/ppc: Remove unnecessary gen_io_end calls
Since ba3e7926691ed33, we switched the implementation of icount
to always reset can_do_io at the start of the following TB.
Most of them were removed in 9e9b10c64911, but some were missed.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br>
Message-Id: <20210512185441.3619828-10-matheus.ferst@eldorado.org.br>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Commit: f5b6daacd6981e67883678282b5c1e41aae9b212
https://github.com/qemu/qemu/commit/f5b6daacd6981e67883678282b5c1e41aae9b212
Author: Richard Henderson <richard.henderson@linaro.org>
Date: 2021-05-19 (Wed, 19 May 2021)
Changed paths:
M target/ppc/translate.c
Log Message:
-----------
target/ppc: Introduce gen_icount_io_start
Create a function to handle the details for interacting with icount.
Force the exit from the tb via DISAS_TOO_MANY, which allows chaining
to the next tb, where the code emitted for gen_tb_start() will
determine if we must exit. We can thus remove any matching
conditional call to gen_stop_exception.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br>
Message-Id: <20210517205025.3777947-2-matheus.ferst@eldorado.org.br>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Commit: d736de8ff6f699bbd180077261a1af5b1735fd80
https://github.com/qemu/qemu/commit/d736de8ff6f699bbd180077261a1af5b1735fd80
Author: Richard Henderson <richard.henderson@linaro.org>
Date: 2021-05-19 (Wed, 19 May 2021)
Changed paths:
M linux-user/ppc/cpu_loop.c
M target/ppc/cpu.h
M target/ppc/translate.c
Log Message:
-----------
target/ppc: Replace POWERPC_EXCP_STOP with DISAS_EXIT_UPDATE
Remove the synthetic "exception" after no more uses.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br>
Message-Id: <20210517205025.3777947-3-matheus.ferst@eldorado.org.br>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Commit: 6086c751c3ef2d05df25f4c494e097d169c68731
https://github.com/qemu/qemu/commit/6086c751c3ef2d05df25f4c494e097d169c68731
Author: Richard Henderson <richard.henderson@linaro.org>
Date: 2021-05-19 (Wed, 19 May 2021)
Changed paths:
M linux-user/ppc/cpu_loop.c
M target/ppc/cpu.h
M target/ppc/translate.c
Log Message:
-----------
target/ppc: Replace POWERPC_EXCP_BRANCH with DISAS_NORETURN
The translation of branch instructions always results in exit from
the TB. Remove the synthetic "exception" after no more uses.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br>
Message-Id: <20210517205025.3777947-4-matheus.ferst@eldorado.org.br>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Commit: 7a3fe174b12d0e9c4ccef2306eabf90be504b482
https://github.com/qemu/qemu/commit/7a3fe174b12d0e9c4ccef2306eabf90be504b482
Author: Richard Henderson <richard.henderson@linaro.org>
Date: 2021-05-19 (Wed, 19 May 2021)
Changed paths:
M target/ppc/translate.c
Log Message:
-----------
target/ppc: Remove DisasContext.exception
Now that we have removed all of the fake exceptions, and all real
exceptions exit via DISAS_NORETURN, we can remove this field.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br>
Message-Id: <20210517205025.3777947-5-matheus.ferst@eldorado.org.br>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Commit: 13b4557567ad3b92fba701cc7369030357c2bbc4
https://github.com/qemu/qemu/commit/13b4557567ad3b92fba701cc7369030357c2bbc4
Author: Richard Henderson <richard.henderson@linaro.org>
Date: 2021-05-19 (Wed, 19 May 2021)
Changed paths:
M target/ppc/translate.c
Log Message:
-----------
target/ppc: Move single-step check to ppc_tr_tb_stop
When single-stepping, force max_insns to 1 in init_disas
so that we exit the translation loop immediately.
Combine the single-step checks in tb_stop, and give the
gdb exception priority over the cpu exception, just as
we already do in gen_lookup_and_goto_ptr.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br>
Message-Id: <20210517205025.3777947-6-matheus.ferst@eldorado.org.br>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Commit: 0032dbdb415093160e0b979a8ff66ae5ac0ca3e2
https://github.com/qemu/qemu/commit/0032dbdb415093160e0b979a8ff66ae5ac0ca3e2
Author: Richard Henderson <richard.henderson@linaro.org>
Date: 2021-05-19 (Wed, 19 May 2021)
Changed paths:
M target/ppc/translate.c
Log Message:
-----------
target/ppc: Tidy exception vs exit_tb
We do not need to emit an exit_tb after an exception,
as the latter will exit via longjmp.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br>
Message-Id: <20210517205025.3777947-7-matheus.ferst@eldorado.org.br>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Commit: 46a0add975b9df9f35508735a745e7e91f9a9733
https://github.com/qemu/qemu/commit/46a0add975b9df9f35508735a745e7e91f9a9733
Author: Richard Henderson <richard.henderson@linaro.org>
Date: 2021-05-19 (Wed, 19 May 2021)
Changed paths:
M target/ppc/helper.h
Log Message:
-----------
target/ppc: Mark helper_raise_exception* as noreturn
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br>
Message-Id: <20210517205025.3777947-8-matheus.ferst@eldorado.org.br>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Commit: 51eb7b1d10f42761e8cf69d4f4be9a709017b73e
https://github.com/qemu/qemu/commit/51eb7b1d10f42761e8cf69d4f4be9a709017b73e
Author: Richard Henderson <richard.henderson@linaro.org>
Date: 2021-05-19 (Wed, 19 May 2021)
Changed paths:
M target/ppc/translate.c
Log Message:
-----------
target/ppc: Use translator_loop_temp_check
The special logging is unnecessary. It will have been done
immediately before in the log file.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br>
Reviewed-by: Bruno Larsen (billionai) <bruno.larsen@eldorado.org.br>
Message-Id: <20210517205025.3777947-9-matheus.ferst@eldorado.org.br>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Commit: 861f10fd528263a507476b8c4dda93a9588dfa5c
https://github.com/qemu/qemu/commit/861f10fd528263a507476b8c4dda93a9588dfa5c
Author: Giuseppe Musacchio <thatlemon@gmail.com>
Date: 2021-05-19 (Wed, 19 May 2021)
Changed paths:
M target/ppc/translate/vsx-impl.c.inc
Log Message:
-----------
target/ppc: Fix load endianness for lxvwsx/lxvdsx
TARGET_WORDS_BIGENDIAN may not match the machine endianness if that's a
runtime-configurable parameter.
Fixes: bcb0b7b1a1c05707304f80ca6f523d557816f85c
Fixes: afae37d98ae991c0792c867dbd9f32f988044318
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/212
Signed-off-by: Giuseppe Musacchio <thatlemon@gmail.com>
Message-Id: <20210518133020.58927-1-thatlemon@gmail.com>
Tested-by: Paul A. Clarke <pc@us.ibm.com>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Commit: 182357dbb6989a175d2a653c9edcd5422c651922
https://github.com/qemu/qemu/commit/182357dbb6989a175d2a653c9edcd5422c651922
Author: Richard Henderson <richard.henderson@linaro.org>
Date: 2021-05-19 (Wed, 19 May 2021)
Changed paths:
M target/ppc/internal.h
M target/ppc/mmu-hash32.c
M target/ppc/mmu-hash64.c
M target/ppc/mmu-radix64.c
Log Message:
-----------
target/ppc: Introduce prot_for_access_type
Use this in the three places we currently have a local array
indexed by rwx (which happens to have the same values).
The types will match up correctly with additional changes.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20210518201146.794854-2-richard.henderson@linaro.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Commit: 13c5fdbac6acc51b1f8cd97bdb0220f5b55e047b
https://github.com/qemu/qemu/commit/13c5fdbac6acc51b1f8cd97bdb0220f5b55e047b
Author: Richard Henderson <richard.henderson@linaro.org>
Date: 2021-05-19 (Wed, 19 May 2021)
Changed paths:
M target/ppc/mmu-radix64.c
Log Message:
-----------
target/ppc: Use MMUAccessType in mmu-radix64.c
We must leave the 'int rwx' parameter to ppc_radix64_handle_mmu_fault
for now, but will clean that up later.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20210518201146.794854-3-richard.henderson@linaro.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Commit: 59dec5bf5a944775f7af504ba479e2f1e2c1d42e
https://github.com/qemu/qemu/commit/59dec5bf5a944775f7af504ba479e2f1e2c1d42e
Author: Richard Henderson <richard.henderson@linaro.org>
Date: 2021-05-19 (Wed, 19 May 2021)
Changed paths:
M target/ppc/mmu-hash64.c
Log Message:
-----------
target/ppc: Use MMUAccessType in mmu-hash64.c
We must leave the 'int rwx' parameter to ppc_hash64_handle_mmu_fault
for now, but will clean that up later.
Signed-off-by: Ricgard Henderson <richard.henderson@linaro.org>
Message-Id: <20210518201146.794854-4-richard.henderson@linaro.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Commit: 31fa64ecfdb59d5a9c39f922de8dfddf5ae8d5ec
https://github.com/qemu/qemu/commit/31fa64ecfdb59d5a9c39f922de8dfddf5ae8d5ec
Author: Richard Henderson <richard.henderson@linaro.org>
Date: 2021-05-19 (Wed, 19 May 2021)
Changed paths:
M target/ppc/mmu-hash32.c
Log Message:
-----------
target/ppc: Use MMUAccessType in mmu-hash32.c
We must leave the 'int rwx' parameter to ppc_hash32_handle_mmu_fault
for now, but will clean that up later.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20210518201146.794854-5-richard.henderson@linaro.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Commit: 352e3627b27ba7a0f43d0070ff90658ff849c2c8
https://github.com/qemu/qemu/commit/352e3627b27ba7a0f43d0070ff90658ff849c2c8
Author: Richard Henderson <richard.henderson@linaro.org>
Date: 2021-05-19 (Wed, 19 May 2021)
Changed paths:
M target/ppc/mmu_helper.c
Log Message:
-----------
target/ppc: Rename access_type to type in mmu_helper.c
The variable that holds ACCESS_INT, ACCESS_FLOAT, etc is
variously called 'int type' or 'int access_type' within
this file. Standardize on 'int type' throughout.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20210518201146.794854-6-richard.henderson@linaro.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Commit: 9630cd62620e705f45c24e9d21ea01eea8fd4cd8
https://github.com/qemu/qemu/commit/9630cd62620e705f45c24e9d21ea01eea8fd4cd8
Author: Richard Henderson <richard.henderson@linaro.org>
Date: 2021-05-19 (Wed, 19 May 2021)
Changed paths:
M target/ppc/mmu_helper.c
Log Message:
-----------
target/ppc: Use MMUAccessType in mmu_helper.c
This replaces 'int rw' with 'MMUAccessType access_type'.
Comparisons vs zero become either MMU_DATA_LOAD or MMU_DATA_STORE,
since we had previously squashed rw to 0 for code access.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20210518201146.794854-7-richard.henderson@linaro.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Commit: 91e615a07d0a9e10ba187d45db9939f001ac4216
https://github.com/qemu/qemu/commit/91e615a07d0a9e10ba187d45db9939f001ac4216
Author: Richard Henderson <richard.henderson@linaro.org>
Date: 2021-05-19 (Wed, 19 May 2021)
Changed paths:
M target/ppc/mmu_helper.c
Log Message:
-----------
target/ppc: Remove type argument from check_prot
We can now use MMU_INST_FETCH from access_type for this.
Use prot_for_access_type to simplify everything.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20210518201146.794854-8-richard.henderson@linaro.org>
[dwg: Remove a stray trailing whitespace]
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Commit: 574c5585e393758c4378389ee556da9fabf46613
https://github.com/qemu/qemu/commit/574c5585e393758c4378389ee556da9fabf46613
Author: Richard Henderson <richard.henderson@linaro.org>
Date: 2021-05-19 (Wed, 19 May 2021)
Changed paths:
M target/ppc/mmu_helper.c
Log Message:
-----------
target/ppc: Remove type argument from ppc6xx_tlb_pte_check
It is no longer used.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20210518201146.794854-9-richard.henderson@linaro.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Commit: f3f5794d798bf76f7696ed8c2584f27a3c18b636
https://github.com/qemu/qemu/commit/f3f5794d798bf76f7696ed8c2584f27a3c18b636
Author: Richard Henderson <richard.henderson@linaro.org>
Date: 2021-05-19 (Wed, 19 May 2021)
Changed paths:
M target/ppc/mmu_helper.c
Log Message:
-----------
target/ppc: Remove type argument from ppc6xx_tlb_check
We can now use MMU_INST_FETCH from access_type for this.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20210518201146.794854-10-richard.henderson@linaro.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Commit: 590fc3c01d5f0ee19317fe2c52856616f9b26147
https://github.com/qemu/qemu/commit/590fc3c01d5f0ee19317fe2c52856616f9b26147
Author: Richard Henderson <richard.henderson@linaro.org>
Date: 2021-05-19 (Wed, 19 May 2021)
Changed paths:
M target/ppc/mmu_helper.c
Log Message:
-----------
target/ppc: Remove type argument from get_bat_6xx_tlb
We can now use MMU_INST_FETCH from access_type for this.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20210518201146.794854-11-richard.henderson@linaro.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Commit: 61d2cde86737ec1a38f076bbc2a59f2c717e1afd
https://github.com/qemu/qemu/commit/61d2cde86737ec1a38f076bbc2a59f2c717e1afd
Author: Richard Henderson <richard.henderson@linaro.org>
Date: 2021-05-19 (Wed, 19 May 2021)
Changed paths:
M target/ppc/mmu_helper.c
Log Message:
-----------
target/ppc: Remove type argument from mmu40x_get_physical_address
It is no longer used.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20210518201146.794854-12-richard.henderson@linaro.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Commit: 05c3ef145121f0cb1f7b06884025a47ce1136cee
https://github.com/qemu/qemu/commit/05c3ef145121f0cb1f7b06884025a47ce1136cee
Author: Richard Henderson <richard.henderson@linaro.org>
Date: 2021-05-19 (Wed, 19 May 2021)
Changed paths:
M target/ppc/mmu_helper.c
Log Message:
-----------
target/ppc: Remove type argument from mmubooke_check_tlb
We can now use MMU_INST_FETCH from access_type for this.
Unify the I/D code paths, making use of prot_for_access_type.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20210518201146.794854-13-richard.henderson@linaro.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Commit: 40079604ae79ec9969b9ed45261ab41422ab0b84
https://github.com/qemu/qemu/commit/40079604ae79ec9969b9ed45261ab41422ab0b84
Author: Richard Henderson <richard.henderson@linaro.org>
Date: 2021-05-19 (Wed, 19 May 2021)
Changed paths:
M target/ppc/mmu_helper.c
Log Message:
-----------
target/ppc: Remove type argument from mmubooke_get_physical_address
It is no longer used.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20210518201146.794854-14-richard.henderson@linaro.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Commit: 5507d626093ff3666c03a689e01c90a9989e0886
https://github.com/qemu/qemu/commit/5507d626093ff3666c03a689e01c90a9989e0886
Author: Richard Henderson <richard.henderson@linaro.org>
Date: 2021-05-19 (Wed, 19 May 2021)
Changed paths:
M target/ppc/mmu_helper.c
Log Message:
-----------
target/ppc: Remove type argument from mmubooke206_check_tlb
We can now use MMU_INST_FETCH from access_type for this.
Unify the I/D code paths, making use of prot_for_access_type.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20210518201146.794854-15-richard.henderson@linaro.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Commit: e543f946856da31c3a7a45ba193f106e042ad907
https://github.com/qemu/qemu/commit/e543f946856da31c3a7a45ba193f106e042ad907
Author: Richard Henderson <richard.henderson@linaro.org>
Date: 2021-05-19 (Wed, 19 May 2021)
Changed paths:
M target/ppc/mmu_helper.c
Log Message:
-----------
target/ppc: Remove type argument for mmubooke206_get_physical_address
It is no longer used.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20210518201146.794854-16-richard.henderson@linaro.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Commit: 9aa9197a35b53d71fe5c3b2cb9675842410db088
https://github.com/qemu/qemu/commit/9aa9197a35b53d71fe5c3b2cb9675842410db088
Author: Peter Maydell <peter.maydell@linaro.org>
Date: 2021-05-19 (Wed, 19 May 2021)
Changed paths:
M hw/ppc/meson.build
M hw/ppc/pnv.c
M hw/ppc/spapr.c
M hw/ppc/spapr_caps.c
M hw/ppc/spapr_hcall.c
A hw/ppc/spapr_softmmu.c
M include/hw/ppc/spapr.h
M linux-user/ppc/cpu_loop.c
M target/ppc/arch_dump.c
M target/ppc/cpu.c
M target/ppc/cpu.h
A target/ppc/cpu_init.c
M target/ppc/gdbstub.c
M target/ppc/helper.h
M target/ppc/int_helper.c
M target/ppc/internal.h
M target/ppc/machine.c
M target/ppc/meson.build
M target/ppc/misc_helper.c
M target/ppc/mmu-hash32.c
M target/ppc/mmu-hash64.c
M target/ppc/mmu-hash64.h
M target/ppc/mmu-radix64.c
M target/ppc/mmu_helper.c
A target/ppc/spr_tcg.h
M target/ppc/translate.c
M target/ppc/translate/vsx-impl.c.inc
R target/ppc/translate_init.c.inc
Log Message:
-----------
Merge remote-tracking branch 'remotes/dg-gitlab/tags/ppc-for-6.1-20210519'
into staging
ppc patch queue 2021-05-19
Next set of ppc related patches for qemu-6.1. Highlights are:
* Start of a significant softmmu cleanup from Richard Henderson
* Further work towards allowing builds without CONFIG_TCG
# gpg: Signature made Wed 19 May 2021 13:36:45 BST
# gpg: using RSA key 75F46586AE61A66CC44E87DC6C38CACA20D9B392
# gpg: Good signature from "David Gibson <david@gibson.dropbear.id.au>" [full]
# gpg: aka "David Gibson (Red Hat) <dgibson@redhat.com>" [full]
# gpg: aka "David Gibson (ozlabs.org) <dgibson@ozlabs.org>"
[full]
# gpg: aka "David Gibson (kernel.org) <dwg@kernel.org>"
[unknown]
# Primary key fingerprint: 75F4 6586 AE61 A66C C44E 87DC 6C38 CACA 20D9 B392
* remotes/dg-gitlab/tags/ppc-for-6.1-20210519: (48 commits)
target/ppc: Remove type argument for mmubooke206_get_physical_address
target/ppc: Remove type argument from mmubooke206_check_tlb
target/ppc: Remove type argument from mmubooke_get_physical_address
target/ppc: Remove type argument from mmubooke_check_tlb
target/ppc: Remove type argument from mmu40x_get_physical_address
target/ppc: Remove type argument from get_bat_6xx_tlb
target/ppc: Remove type argument from ppc6xx_tlb_check
target/ppc: Remove type argument from ppc6xx_tlb_pte_check
target/ppc: Remove type argument from check_prot
target/ppc: Use MMUAccessType in mmu_helper.c
target/ppc: Rename access_type to type in mmu_helper.c
target/ppc: Use MMUAccessType in mmu-hash32.c
target/ppc: Use MMUAccessType in mmu-hash64.c
target/ppc: Use MMUAccessType in mmu-radix64.c
target/ppc: Introduce prot_for_access_type
target/ppc: Fix load endianness for lxvwsx/lxvdsx
target/ppc: Use translator_loop_temp_check
target/ppc: Mark helper_raise_exception* as noreturn
target/ppc: Tidy exception vs exit_tb
target/ppc: Move single-step check to ppc_tr_tb_stop
...
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Compare: https://github.com/qemu/qemu/compare/d874bc081600...9aa9197a35b5