Branch: refs/heads/staging
Home: https://github.com/qemu/qemu
Commit: b1f9bd07f27a3787887295c71d2840858a0ea2ad
https://github.com/qemu/qemu/commit/b1f9bd07f27a3787887295c71d2840858a0ea2ad
Author: Tomita Moeko <[email protected]>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M hw/vfio/igd.c
Log Message:
-----------
vfio/igd: fix GTT stolen memory size calculation for gen 8+
On gen 8 and later devices, the GTT stolen memory size when GGMS equals
0 is 0 (no preallocated memory) rather than 1MB [1].
[1] 3.1.13, 5th Generation Intel Core Processor Family Datasheet Vol. 2
https://www.intel.com/content/www/us/en/content-details/330835
Fixes: c4c45e943e51 ("vfio/pci: Intel graphics legacy mode assignment")
Reported-By: Alex Williamson <[email protected]>
Signed-off-by: Tomita Moeko <[email protected]>
Reviewed-by: Alex Williamson <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Cédric Le Goater <[email protected]>
Commit: d8bd8c951b0b4f9a7ea6a3593dd3b54d6beef5d7
https://github.com/qemu/qemu/commit/d8bd8c951b0b4f9a7ea6a3593dd3b54d6beef5d7
Author: Tomita Moeko <[email protected]>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M hw/vfio/igd.c
Log Message:
-----------
vfio/igd: remove unsupported device ids
Since e433f208973f ("vfio/igd: return an invalid generation for unknown
devices"), the default return of igd_gen() was changed to unsupported.
There is no need to filter out those unsupported devices.
Reviewed-by: Alex Williamson <[email protected]>
Reviewed-by: Corvin Köhne <[email protected]>
Signed-off-by: Tomita Moeko <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Cédric Le Goater <[email protected]>
Commit: d1b90c71da5894aa7815ea5170dbb99022c87cfd
https://github.com/qemu/qemu/commit/d1b90c71da5894aa7815ea5170dbb99022c87cfd
Author: Tomita Moeko <[email protected]>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M hw/vfio/igd.c
Log Message:
-----------
vfio/igd: align generation with i915 kernel driver
Define the igd device generations according to i915 kernel driver to
avoid confusion, and adjust comment placement to clearly reflect the
relationship between ids and devices.
The condition of how GTT stolen memory size is calculated is changed
accordingly as GGMS is in multiple of 2 starting from gen 8.
Reviewed-by: Corvin Köhne <[email protected]>
Signed-off-by: Tomita Moeko <[email protected]>
Reviewed-by: Alex Williamson <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Cédric Le Goater <[email protected]>
Commit: 170de8747bb8c186bfd0c4c3649bf532a39debe8
https://github.com/qemu/qemu/commit/170de8747bb8c186bfd0c4c3649bf532a39debe8
Author: Tomita Moeko <[email protected]>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M hw/vfio/igd.c
Log Message:
-----------
vfio/igd: canonicalize memory size calculations
Add helper functions igd_gtt_memory_size() and igd_stolen_size() for
calculating GTT stolen memory and Data stolen memory size in bytes,
and use macros to replace the hardware-related magic numbers for
better readability.
Signed-off-by: Tomita Moeko <[email protected]>
Reviewed-by: Alex Williamson <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Cédric Le Goater <[email protected]>
Commit: 92da4dbf3ef496bdfdebefe2fa71573de1d15ea7
https://github.com/qemu/qemu/commit/92da4dbf3ef496bdfdebefe2fa71573de1d15ea7
Author: Tomita Moeko <[email protected]>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M hw/vfio/igd.c
Log Message:
-----------
vfio/igd: add Gemini Lake and Comet Lake device ids
Both Gemini Lake and Comet Lake are gen 9 devices. Many user reports
on internet shows legacy mode of igd passthrough works as qemu treats
them as gen 8 devices by default before e433f208973f ("vfio/igd:
return an invalid generation for unknown devices").
Reviewed-by: Corvin Köhne <[email protected]>
Signed-off-by: Tomita Moeko <[email protected]>
Reviewed-by: Alex Williamson <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Cédric Le Goater <[email protected]>
Commit: 93141d2e486eeabf0c35cb756b68a936f76c06e5
https://github.com/qemu/qemu/commit/93141d2e486eeabf0c35cb756b68a936f76c06e5
Author: Tomita Moeko <[email protected]>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M hw/vfio/igd.c
Log Message:
-----------
vfio/igd: add Alder/Raptor/Rocket/Ice/Jasper Lake device ids
All gen 11 and 12 igd devices have 64 bit BDSM register at 0xC0 in its
config space, add them to the list to support igd passthrough on Alder/
Raptor/Rocket/Ice/Jasper Lake platforms.
Tested legacy mode of igd passthrough works properly on both linux and
windows guests with AlderLake-S GT1 (8086:4680).
Reviewed-by: Corvin Köhne <[email protected]>
Signed-off-by: Tomita Moeko <[email protected]>
Reviewed-by: Alex Williamson <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Cédric Le Goater <[email protected]>
Commit: 619d907990fd0577bbdd95efc793bb61b9f6acaa
https://github.com/qemu/qemu/commit/619d907990fd0577bbdd95efc793bb61b9f6acaa
Author: Tomita Moeko <[email protected]>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M hw/vfio/igd.c
Log Message:
-----------
vfio/igd: add macro for declaring mirrored registers
igd devices have multipe registers mirroring mmio address and pci
config space, more than a single BDSM register. To support this,
the read/write functions are made common and a macro is defined to
simplify the declaration of MemoryRegionOps.
Signed-off-by: Tomita Moeko <[email protected]>
Reviewed-by: Alex Williamson <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Cédric Le Goater <[email protected]>
Commit: 38714dcf1dcdcbd711f4a88301c4d9d160a097f7
https://github.com/qemu/qemu/commit/38714dcf1dcdcbd711f4a88301c4d9d160a097f7
Author: Tomita Moeko <[email protected]>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M hw/vfio/igd.c
Log Message:
-----------
vfio/igd: emulate GGC register in mmio bar0
The GGC register at 0x50 of pci config space is a mirror of the same
register at 0x108040 of mmio bar0 [1]. i915 driver also reads that
register from mmio bar0 instead of config space. As GGC is programmed
and emulated by qemu, the mmio address should also be emulated, in the
same way of BDSM register.
[1] 4.1.28, 12th Generation Intel Core Processors Datasheet Volume 2
https://www.intel.com/content/www/us/en/content-details/655259
Signed-off-by: Tomita Moeko <[email protected]>
Reviewed-by: Alex Williamson <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Cédric Le Goater <[email protected]>
Commit: 44b609c6d914f03b1df2fd172f259aca6a3c2271
https://github.com/qemu/qemu/commit/44b609c6d914f03b1df2fd172f259aca6a3c2271
Author: Tomita Moeko <[email protected]>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M hw/vfio/igd.c
Log Message:
-----------
vfio/igd: emulate BDSM in mmio bar0 for gen 6-10 devices
A recent commit in i915 driver [1] claims the BDSM register at 0x1080c0
of mmio bar0 has been there since gen 6. Mirror this register to the 32
bit BDSM register at 0x5c in pci config space for gen6-10 devices.
[1]
https://patchwork.freedesktop.org/patch/msgid/[email protected]
Reviewed-by: Corvin Köhne <[email protected]>
Signed-off-by: Tomita Moeko <[email protected]>
Reviewed-by: Alex Williamson <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Cédric Le Goater <[email protected]>
Commit: 8238ff4c1892caee9d4c47c07f4ba6e44bc30b86
https://github.com/qemu/qemu/commit/8238ff4c1892caee9d4c47c07f4ba6e44bc30b86
Author: Tomita Moeko <[email protected]>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M hw/vfio/igd.c
Log Message:
-----------
vfio/igd: add x-igd-gms option back to set DSM region size for guest
DSM region is likely to store framebuffer in Windows, a small DSM
region may cause display issues (e.g. half of the screen is black).
Since 971ca22f041b ("vfio/igd: don't set stolen memory size to zero"),
the x-igd-gms option was functionally removed, QEMU uses host's
original value, which is determined by DVMT Pre-Allocated option in
Intel FSP of host bios.
However, some vendors do not expose this config item to users. In
such cases, x-igd-gms option can be used to manually set the data
stolen memory size for guest. So this commit brings this option back,
keeping its old behavior. When it is not specified, QEMU uses host's
value.
When DVMT Pre-Allocated option is available in host BIOS, user should
set DSM region size there instead of using x-igd-gms option.
Signed-off-by: Tomita Moeko <[email protected]>
Reviewed-by: Alex Williamson <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Cédric Le Goater <[email protected]>
Commit: 5bc6fe61518b682ff61c105dc73ff192bfca76d1
https://github.com/qemu/qemu/commit/5bc6fe61518b682ff61c105dc73ff192bfca76d1
Author: Avihai Horon <[email protected]>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M hw/vfio/container-base.c
M include/hw/vfio/vfio-container-base.h
Log Message:
-----------
vfio/container: Add dirty tracking started flag
Add a flag to VFIOContainerBase that indicates whether dirty tracking
has been started for the container or not.
This will be used in the following patches to allow dirty page syncs
only if dirty tracking has been started.
Signed-off-by: Avihai Horon <[email protected]>
Reviewed-by: Joao Martins <[email protected]>
Tested-by: Joao Martins <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Cédric Le Goater <[email protected]>
Commit: c6786b42626c0ff6463be919ca12856140e2e7ad
https://github.com/qemu/qemu/commit/c6786b42626c0ff6463be919ca12856140e2e7ad
Author: Avihai Horon <[email protected]>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M hw/vfio/common.c
M include/hw/vfio/vfio-common.h
Log Message:
-----------
vfio/migration: Refactor vfio_devices_all_dirty_tracking() logic
During dirty page log sync, vfio_devices_all_dirty_tracking() is used to
check if dirty tracking has been started in order to avoid errors. The
current logic checks if migration is in ACTIVE or DEVICE states to
ensure dirty tracking has been started.
However, recently there has been an effort to simplify the migration
status API and reduce it to a single migration_is_running() function.
To accommodate this, refactor vfio_devices_all_dirty_tracking() logic so
it won't use migration_is_active() and migration_is_device(). Instead,
use internal VFIO dirty tracking flags.
As a side effect, now that migration status is no longer used to detect
dirty tracking status, VFIO log syncs are untied from migration. This
will make calc-dirty-rate more accurate as now it will also include VFIO
dirty pages.
While at it, as VFIODevice->dirty_tracking is now used to detect dirty
tracking status, add a comment that states how it's protected.
Signed-off-by: Avihai Horon <[email protected]>
Reviewed-by: Joao Martins <[email protected]>
Tested-by: Joao Martins <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Cédric Le Goater <[email protected]>
Commit: 1c313e7d176fe8b70a64808119244a46f1c3c8e2
https://github.com/qemu/qemu/commit/1c313e7d176fe8b70a64808119244a46f1c3c8e2
Author: Avihai Horon <[email protected]>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M hw/vfio/common.c
M hw/vfio/container.c
M include/hw/vfio/vfio-common.h
Log Message:
-----------
vfio/migration: Refactor vfio_devices_all_running_and_mig_active() logic
During DMA unmap with vIOMMU, vfio_devices_all_running_and_mig_active()
is used to check whether a dirty page log sync of the unmapped pages is
required. Such log sync is needed during migration pre-copy phase, and
the current logic detects it by checking if migration is active and if
the VFIO devices are running.
However, recently there has been an effort to simplify the migration
status API and reduce it to a single migration_is_running() function.
To accommodate this, refactor vfio_devices_all_running_and_mig_active()
logic so it won't use migration_is_active(). Do it by simply checking if
dirty tracking has been started using internal VFIO flags.
This should be equivalent to the previous logic as during migration
dirty tracking is active and when the guest is stopped there shouldn't
be DMA unmaps coming from it.
As a side effect, now that migration status is no longer used, DMA unmap
log syncs are untied from migration. This will make calc-dirty-rate more
accurate as now it will also include VFIO dirty pages that were DMA
unmapped.
Also rename the function to properly reflect its new logic and extract
common code from vfio_devices_all_dirty_tracking().
Signed-off-by: Avihai Horon <[email protected]>
Reviewed-by: Joao Martins <[email protected]>
Tested-by: Joao Martins <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Cédric Le Goater <[email protected]>
Commit: 1d1dcdc8438faeea91e164d561a5f052623b55f1
https://github.com/qemu/qemu/commit/1d1dcdc8438faeea91e164d561a5f052623b55f1
Author: Avihai Horon <[email protected]>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M hw/vfio/common.c
Log Message:
-----------
vfio/migration: Rename vfio_devices_all_dirty_tracking()
vfio_devices_all_dirty_tracking() is used to check if dirty page log
sync is needed. However, besides checking the dirty page tracking
status, it also checks the pre_copy_dirty_page_tracking flag.
Rename it to vfio_devices_log_sync_needed() which reflects its purpose
more accurately and makes the code clearer as there are already several
helpers with similar names.
Signed-off-by: Avihai Horon <[email protected]>
Reviewed-by: Joao Martins <[email protected]>
Tested-by: Joao Martins <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Cédric Le Goater <[email protected]>
Commit: 4f3d6265b637c89e12ed12ec9d3447a41aa8c77c
https://github.com/qemu/qemu/commit/4f3d6265b637c89e12ed12ec9d3447a41aa8c77c
Author: Avihai Horon <[email protected]>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M system/dirtylimit.c
Log Message:
-----------
system/dirtylimit: Don't use migration_is_active()
vcpu_dirty_rate_stat_collect() uses migration_is_active() to detect
whether migration is running or not, in order to get the correct dirty
rate period value.
However, recently there has been an effort to simplify the migration
status API and reduce it to a single migration_is_running() function.
To accommodate this, and since the same functionality can be achieved
with migration_is_running(), use it instead of migration_is_active().
Signed-off-by: Avihai Horon <[email protected]>
Reviewed-by: Hyman Huang <[email protected]>
Tested-by: Joao Martins <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Cédric Le Goater <[email protected]>
Commit: 2ebd8cc240d5d76a8f42144935f3235d74345c28
https://github.com/qemu/qemu/commit/2ebd8cc240d5d76a8f42144935f3235d74345c28
Author: Avihai Horon <[email protected]>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M include/migration/misc.h
M migration/migration.c
Log Message:
-----------
migration: Drop migration_is_device()
After being removed from VFIO, migration_is_device() no longer has any
users. Drop it.
Signed-off-by: Avihai Horon <[email protected]>
Reviewed-by: Cédric Le Goater <[email protected]>
Acked-by: Peter Xu <[email protected]>
Tested-by: Joao Martins <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Cédric Le Goater <[email protected]>
Commit: 242c3cb9a0b0375515630f11c4ecf277f00d1f37
https://github.com/qemu/qemu/commit/242c3cb9a0b0375515630f11c4ecf277f00d1f37
Author: Avihai Horon <[email protected]>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M include/migration/misc.h
M migration/migration.c
Log Message:
-----------
migration: Unexport migration_is_active()
After being removed from VFIO and dirty limit, migration_is_active() no
longer has any users outside the migration subsystem, and in fact, it's
only used in migration.c.
Unexport it and also relocate it so it can be made static.
Signed-off-by: Avihai Horon <[email protected]>
Reviewed-by: Cédric Le Goater <[email protected]>
Acked-by: Peter Xu <[email protected]>
Tested-by: Joao Martins <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Cédric Le Goater <[email protected]>
Commit: 0ccbac336b74c3006d4234bb6b5c4b3c32c61171
https://github.com/qemu/qemu/commit/0ccbac336b74c3006d4234bb6b5c4b3c32c61171
Author: Ilya Leoshkevich <[email protected]>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M tests/tcg/multiarch/system/memory.c
Log Message:
-----------
tests/tcg: Do not use inttypes.h in multiarch/system/memory.c
make check-tcg fails on Fedora with the following error message:
alpha-linux-gnu-gcc [...] qemu/tests/tcg/multiarch/system/memory.c -o
memory [...]
qemu/tests/tcg/multiarch/system/memory.c:17:10: fatal error: inttypes.h: No
such file or directory
17 | #include <inttypes.h>
| ^~~~~~~~~~~~
compilation terminated.
The reason is that Fedora has cross-compilers, but no cross-glibc
headers. Fix by hardcoding the format specifiers and dropping the
include.
An alternative fix would be to introduce a configure check for
inttypes.h. But this would make it impossible to use Fedora
cross-compilers for softmmu tests, which used to work so far.
Fixes: ecbcc9ead2f8 ("tests/tcg: add a system test to check memory
instrumentation")
Signed-off-by: Ilya Leoshkevich <[email protected]>
Reviewed-by: Paolo Bonzini <[email protected]>
Message-ID: <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: dbf408b6678a6076bd2412159d0ce665dce6acd0
https://github.com/qemu/qemu/commit/dbf408b6678a6076bd2412159d0ce665dce6acd0
Author: Pierrick Bouvier <[email protected]>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M accel/tcg/plugin-gen.c
Log Message:
-----------
plugins: optimize cpu_index code generation
When running with a single vcpu, we can return a constant instead of a
load when accessing cpu_index.
A side effect is that all tcg operations using it are optimized, most
notably scoreboard access.
When running a simple loop in user-mode, the speedup is around 20%.
Signed-off-by: Pierrick Bouvier <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Message-ID: <[email protected]>
Commit: 1526855c012a7f1314278e4f8fbb0741ec74a372
https://github.com/qemu/qemu/commit/1526855c012a7f1314278e4f8fbb0741ec74a372
Author: Richard Henderson <[email protected]>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M tcg/optimize.c
Log Message:
-----------
tcg/optimize: Split out finish_bb, finish_ebb
Call them directly from the opcode switch statement in tcg_optimize,
rather than in finish_folding based on opcode flags. Adjust folding
of conditional branches to match.
Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: 045ace35a8587f9552b528595f2d67a76b77f1b5
https://github.com/qemu/qemu/commit/045ace35a8587f9552b528595f2d67a76b77f1b5
Author: Richard Henderson <[email protected]>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M tcg/optimize.c
Log Message:
-----------
tcg/optimize: Split out fold_affected_mask
There are only a few logical operations which can compute
an "affected" mask. Split out handling of this optimization
to a separate function, only to be called when applicable.
Remove the a_mask field from OptContext, as the mask is
no longer stored anywhere.
Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: 56e06ecfa5f13816b68b850f4ce46d8756e2c32b
https://github.com/qemu/qemu/commit/56e06ecfa5f13816b68b850f4ce46d8756e2c32b
Author: Richard Henderson <[email protected]>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M tcg/optimize.c
Log Message:
-----------
tcg/optimize: Copy mask writeback to fold_masks
Use of fold_masks should be restricted to those opcodes that
can reliably make use of it -- those with a single output,
and from higher-level folders that set up the masks.
Prepare for conversion of each folder in turn.
Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: d582b14d808ee9b9c624140a1d253b6381406a9e
https://github.com/qemu/qemu/commit/d582b14d808ee9b9c624140a1d253b6381406a9e
Author: Richard Henderson <[email protected]>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M tcg/optimize.c
Log Message:
-----------
tcg/optimize: Split out fold_masks_zs
Add a routine to which masks can be passed directly, rather than
storing them into OptContext. To be used in upcoming patches.
Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: 75c3bf324d21f8f57be1349007b0252ae64b4c51
https://github.com/qemu/qemu/commit/75c3bf324d21f8f57be1349007b0252ae64b4c51
Author: Richard Henderson <[email protected]>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M tcg/optimize.c
Log Message:
-----------
tcg/optimize: Augment s_mask from z_mask in fold_masks_zs
Consider the passed s_mask to be a minimum deduced from
either existing s_mask or from a sign-extension operation.
We may be able to deduce more from the set of known zeros.
Remove identical logic from several opcode folders.
Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: 6d70ddc6350361c38e7720d1ffc594e5cc648900
https://github.com/qemu/qemu/commit/6d70ddc6350361c38e7720d1ffc594e5cc648900
Author: Richard Henderson <[email protected]>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M tcg/optimize.c
Log Message:
-----------
tcg/optimize: Change representation of s_mask
Change the representation from sign bit repetitions to all bits equal
to the sign bit, including the sign bit itself.
The previous format has a problem in that it is difficult to recreate
a valid sign mask after a shift operation: the "repetitions" part of
the previous format meant that applying the same shift as for the value
lead to an off-by-one value.
The new format, including the sign bit itself, means that the sign mask
can be manipulated in exactly the same way as the value, canonicalization
is easier.
Canonicalize the s_mask in fold_masks_zs, rather than requiring callers
to do so. Treat 0 as a non-canonical but typeless input for no sign
information, which will be reset as appropriate for the data type.
We can easily fold in the data from z_mask while canonicalizing.
Temporarily disable optimizations using s_mask while each operation is
converted to use fold_masks_zs and to the new form.
Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: f3ed3cffb96f96875755ac4b057a15fd50ed0f32
https://github.com/qemu/qemu/commit/f3ed3cffb96f96875755ac4b057a15fd50ed0f32
Author: Richard Henderson <[email protected]>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M tcg/optimize.c
Log Message:
-----------
tcg/optimize: Use finish_folding in fold_add, fold_add_vec, fold_addsub2
Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: e1b6c141e98034d44d7e9004dc35545b87ebcade
https://github.com/qemu/qemu/commit/e1b6c141e98034d44d7e9004dc35545b87ebcade
Author: Richard Henderson <[email protected]>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M tcg/optimize.c
Log Message:
-----------
tcg/optimize: Introduce const value accessors for TempOptInfo
Introduce ti_is_const, ti_const_val, ti_is_const_val.
Signed-off-by: Richard Henderson <[email protected]>
Commit: 1ca7372c033d8d958add8f4f4c7d8e37c06e6ef7
https://github.com/qemu/qemu/commit/1ca7372c033d8d958add8f4f4c7d8e37c06e6ef7
Author: Richard Henderson <[email protected]>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M tcg/optimize.c
Log Message:
-----------
tcg/optimize: Use fold_masks_zs in fold_and
Avoid the use of the OptContext slots. Find TempOptInfo once.
Sink mask computation below fold_affected_mask early exit.
Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: 21e2b5f9fa79eb122cb7240436b84a56263547aa
https://github.com/qemu/qemu/commit/21e2b5f9fa79eb122cb7240436b84a56263547aa
Author: Richard Henderson <[email protected]>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M tcg/optimize.c
Log Message:
-----------
tcg/optimize: Use fold_masks_zs in fold_andc
Avoid the use of the OptContext slots. Find TempOptInfo once.
Avoid double inversion of the value of second const operand.
Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: c1e7b989c8f05a4e78896a8856530492d87b51b4
https://github.com/qemu/qemu/commit/c1e7b989c8f05a4e78896a8856530492d87b51b4
Author: Richard Henderson <[email protected]>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M tcg/optimize.c
Log Message:
-----------
tcg/optimize: Use fold_masks_zs in fold_bswap
Avoid the use of the OptContext slots. Find TempOptInfo once.
Always set s_mask along the BSWAP_OS path, since the result is
being explicitly sign-extended.
Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: ce1d663ff8a4535e4c72471cab3e52cb24fb7eb1
https://github.com/qemu/qemu/commit/ce1d663ff8a4535e4c72471cab3e52cb24fb7eb1
Author: Richard Henderson <[email protected]>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M tcg/optimize.c
Log Message:
-----------
tcg/optimize: Use fold_masks_zs in fold_count_zeros
Avoid the use of the OptContext slots. Find TempOptInfo once.
Compute s_mask from the union of the maximum count and the
op2 fallback for op1 being zero.
Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: 81be07f905b187743b69adeb2877e5a9efc00d8e
https://github.com/qemu/qemu/commit/81be07f905b187743b69adeb2877e5a9efc00d8e
Author: Richard Henderson <[email protected]>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M tcg/optimize.c
Log Message:
-----------
tcg/optimize: Use fold_masks_z in fold_ctpop
Add fold_masks_z as a trivial wrapper around fold_masks_zs.
Avoid the use of the OptContext slots.
Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: c7739ab83e02b93cb15f54984c3f66ba3c5bd8d2
https://github.com/qemu/qemu/commit/c7739ab83e02b93cb15f54984c3f66ba3c5bd8d2
Author: Richard Henderson <[email protected]>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M tcg/optimize.c
Log Message:
-----------
tcg/optimize: Use fold_and and fold_masks_z in fold_deposit
Avoid the use of the OptContext slots. Find TempOptInfo once.
When we fold to and, use fold_and.
Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: edb832cb51dd98d955dc33973063853bd333752e
https://github.com/qemu/qemu/commit/edb832cb51dd98d955dc33973063853bd333752e
Author: Richard Henderson <[email protected]>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M tcg/optimize.c
Log Message:
-----------
tcg/optimize: Compute sign mask in fold_deposit
The input which overlaps the sign bit of the output can
have its input s_mask propagated to the output s_mask.
Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: 3d5ec804da6e119ad16632675f4ffbbc880ea291
https://github.com/qemu/qemu/commit/3d5ec804da6e119ad16632675f4ffbbc880ea291
Author: Richard Henderson <[email protected]>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M tcg/optimize.c
Log Message:
-----------
tcg/optimize: Use finish_folding in fold_divide
Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: e089d694e1d3a7b4406535b748a324fa28bfaf0f
https://github.com/qemu/qemu/commit/e089d694e1d3a7b4406535b748a324fa28bfaf0f
Author: Richard Henderson <[email protected]>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M tcg/optimize.c
Log Message:
-----------
tcg/optimize: Use finish_folding in fold_dup, fold_dup2
Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: ef6be624f6bfc655bbc2dd7c86f50a46ab90a414
https://github.com/qemu/qemu/commit/ef6be624f6bfc655bbc2dd7c86f50a46ab90a414
Author: Richard Henderson <[email protected]>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M tcg/optimize.c
Log Message:
-----------
tcg/optimize: Use fold_masks_s in fold_eqv
Add fold_masks_s as a trivial wrapper around fold_masks_zs.
Avoid the use of the OptContext slots.
Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: b6cd00f1ef6d7d0b789094559f8d8a4537356515
https://github.com/qemu/qemu/commit/b6cd00f1ef6d7d0b789094559f8d8a4537356515
Author: Richard Henderson <[email protected]>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M tcg/optimize.c
Log Message:
-----------
tcg/optimize: Use fold_masks_z in fold_extract
Avoid the use of the OptContext slots. Find TempOptInfo once.
Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: c9df99ee8d549875cd274db10c072dc0b373a168
https://github.com/qemu/qemu/commit/c9df99ee8d549875cd274db10c072dc0b373a168
Author: Richard Henderson <[email protected]>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M tcg/optimize.c
Log Message:
-----------
tcg/optimize: Use finish_folding in fold_extract2
Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: a96219204f6944def14bdb3a6b2a0bbba172f88a
https://github.com/qemu/qemu/commit/a96219204f6944def14bdb3a6b2a0bbba172f88a
Author: Richard Henderson <[email protected]>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M tcg/optimize.c
Log Message:
-----------
tcg/optimize: Use fold_masks_zs in fold_exts
Avoid the use of the OptContext slots. Find TempOptInfo once.
Explicitly sign-extend z_mask instead of doing that manually.
Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: 08abe2908fa597fb3af298408c261e17378c54d6
https://github.com/qemu/qemu/commit/08abe2908fa597fb3af298408c261e17378c54d6
Author: Richard Henderson <[email protected]>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M tcg/optimize.c
Log Message:
-----------
tcg/optimize: Use fold_masks_z in fold_extu
Avoid the use of the OptContext slots.
Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: 322027841f2e35adef592e28ee1288d90232185f
https://github.com/qemu/qemu/commit/322027841f2e35adef592e28ee1288d90232185f
Author: Richard Henderson <[email protected]>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M tcg/optimize.c
Log Message:
-----------
tcg/optimize: Use fold_masks_zs in fold_movcond
Avoid the use of the OptContext slots. Find TempOptInfo once.
Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: cd9c5834d83ccde38268a52d3201659a6286428b
https://github.com/qemu/qemu/commit/cd9c5834d83ccde38268a52d3201659a6286428b
Author: Richard Henderson <[email protected]>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M tcg/optimize.c
Log Message:
-----------
tcg/optimize: Use finish_folding in fold_mul*
Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: fa3168ee93e4a9cabe31824f7918bfe4b7a56369
https://github.com/qemu/qemu/commit/fa3168ee93e4a9cabe31824f7918bfe4b7a56369
Author: Richard Henderson <[email protected]>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M tcg/optimize.c
Log Message:
-----------
tcg/optimize: Use fold_masks_s in fold_nand
Avoid the use of the OptContext slots.
Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: d151fd34b090ddb40b073f1bd2ac4c893a67d1eb
https://github.com/qemu/qemu/commit/d151fd34b090ddb40b073f1bd2ac4c893a67d1eb
Author: Richard Henderson <[email protected]>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M tcg/optimize.c
Log Message:
-----------
tcg/optimize: Use fold_masks_z in fold_neg_no_const
Avoid the use of the OptContext slots.
Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: 2b7b69575733d5568e86d850a1c17e3414be974b
https://github.com/qemu/qemu/commit/2b7b69575733d5568e86d850a1c17e3414be974b
Author: Richard Henderson <[email protected]>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M tcg/optimize.c
Log Message:
-----------
tcg/optimize: Use fold_masks_s in fold_nor
Avoid the use of the OptContext slots.
Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: 608e75fc0c957e6d07cb65d8203c2646a6723dc9
https://github.com/qemu/qemu/commit/608e75fc0c957e6d07cb65d8203c2646a6723dc9
Author: Richard Henderson <[email protected]>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M tcg/optimize.c
Log Message:
-----------
tcg/optimize: Use fold_masks_s in fold_not
Avoid the use of the OptContext slots.
Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: 83b1ba3696a4c647d500705cdd11e79b69462cd9
https://github.com/qemu/qemu/commit/83b1ba3696a4c647d500705cdd11e79b69462cd9
Author: Richard Henderson <[email protected]>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M tcg/optimize.c
Log Message:
-----------
tcg/optimize: Use fold_masks_zs in fold_or
Avoid the use of the OptContext slots. Find TempOptInfo once.
Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: 54e26b292bbf9602f49a66c0c022a623d0beec4b
https://github.com/qemu/qemu/commit/54e26b292bbf9602f49a66c0c022a623d0beec4b
Author: Richard Henderson <[email protected]>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M tcg/optimize.c
Log Message:
-----------
tcg/optimize: Use fold_masks_zs in fold_orc
Avoid the use of the OptContext slots.
Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: 6813be9b9bb962865eb6770555f34d4b0d6066f3
https://github.com/qemu/qemu/commit/6813be9b9bb962865eb6770555f34d4b0d6066f3
Author: Richard Henderson <[email protected]>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M tcg/optimize.c
Log Message:
-----------
tcg/optimize: Use fold_masks_zs in fold_qemu_ld
Avoid the use of the OptContext slots.
Be careful not to call fold_masks_zs when the memory operation
is wide enough to require multiple outputs, so split into two
functions: fold_qemu_ld_1reg and fold_qemu_ld_2reg.
Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: 082b3ef9195571d543c32ab4afe5fc516153a9e5
https://github.com/qemu/qemu/commit/082b3ef9195571d543c32ab4afe5fc516153a9e5
Author: Richard Henderson <[email protected]>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M tcg/optimize.c
Log Message:
-----------
tcg/optimize: Return true from fold_qemu_st, fold_tcg_st
Stores have no output operands, and so need no further work.
Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: f9e3934903a8e388559c373f93544e3f9e6a9fc0
https://github.com/qemu/qemu/commit/f9e3934903a8e388559c373f93544e3f9e6a9fc0
Author: Richard Henderson <[email protected]>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M tcg/optimize.c
Log Message:
-----------
tcg/optimize: Use finish_folding in fold_remainder
Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: 95eb229363f28aaacf506974cdb3047d816345fe
https://github.com/qemu/qemu/commit/95eb229363f28aaacf506974cdb3047d816345fe
Author: Richard Henderson <[email protected]>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M tcg/optimize.c
Log Message:
-----------
tcg/optimize: Distinguish simplification in fold_setcond_zmask
Change return from bool to int; distinguish between
complete folding, simplification, and no change.
Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: 2c8a28398d65e2e4ff31061533873ed09b894543
https://github.com/qemu/qemu/commit/2c8a28398d65e2e4ff31061533873ed09b894543
Author: Richard Henderson <[email protected]>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M tcg/optimize.c
Log Message:
-----------
tcg/optimize: Use fold_masks_z in fold_setcond
Avoid the use of the OptContext slots.
Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: 081cf08b09edf0bea704126b607220150c9b5630
https://github.com/qemu/qemu/commit/081cf08b09edf0bea704126b607220150c9b5630
Author: Richard Henderson <[email protected]>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M tcg/optimize.c
Log Message:
-----------
tcg/optimize: Use fold_masks_s in fold_negsetcond
Avoid the use of the OptContext slots.
Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: a53502c0b4b63bc6dd5bf891231e145cf7a637ff
https://github.com/qemu/qemu/commit/a53502c0b4b63bc6dd5bf891231e145cf7a637ff
Author: Richard Henderson <[email protected]>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M tcg/optimize.c
Log Message:
-----------
tcg/optimize: Use fold_masks_z in fold_setcond2
Avoid the use of the OptContext slots.
Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: 4d20104f9f2deef6d30109f0bba5725c0dcc08da
https://github.com/qemu/qemu/commit/4d20104f9f2deef6d30109f0bba5725c0dcc08da
Author: Richard Henderson <[email protected]>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M tcg/optimize.c
Log Message:
-----------
tcg/optimize: Use finish_folding in fold_cmp_vec
Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: 210c70b7ac449f2eabc55893eca15fe36d36391f
https://github.com/qemu/qemu/commit/210c70b7ac449f2eabc55893eca15fe36d36391f
Author: Richard Henderson <[email protected]>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M tcg/optimize.c
Log Message:
-----------
tcg/optimize: Use finish_folding in fold_cmpsel_vec
Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: baff507e50fbcb270a1a7b448c2cc37cc7f9ec05
https://github.com/qemu/qemu/commit/baff507e50fbcb270a1a7b448c2cc37cc7f9ec05
Author: Richard Henderson <[email protected]>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M tcg/optimize.c
Log Message:
-----------
tcg/optimize: Use fold_masks_zs in fold_sextract
Avoid the use of the OptContext slots. Find TempOptInfo once.
Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: 4e9ce6a2ec73d42e12aedf21b255dc00b378fc8d
https://github.com/qemu/qemu/commit/4e9ce6a2ec73d42e12aedf21b255dc00b378fc8d
Author: Richard Henderson <[email protected]>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M tcg/optimize.c
Log Message:
-----------
tcg/optimize: Use fold_masks_zs, fold_masks_s in fold_shift
Avoid the use of the OptContext slots. Find TempOptInfo once.
Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: 4ed2ba3f4abe6b3c03a905d44cdd18b3a3c1ce33
https://github.com/qemu/qemu/commit/4ed2ba3f4abe6b3c03a905d44cdd18b3a3c1ce33
Author: Richard Henderson <[email protected]>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M tcg/optimize.c
Log Message:
-----------
tcg/optimize: Simplify sign bit test in fold_shift
Merge the two conditions, sign != 0 && !(z_mask & sign),
by testing ~z_mask & sign. If sign == 0, the logical and
will produce false.
Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: fe1d0074b5cc64e0a548dfba8ab322bd8710c7e5
https://github.com/qemu/qemu/commit/fe1d0074b5cc64e0a548dfba8ab322bd8710c7e5
Author: Richard Henderson <[email protected]>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M tcg/optimize.c
Log Message:
-----------
tcg/optimize: Use finish_folding in fold_sub, fold_sub_vec
Duplicate fold_sub_vec into fold_sub instead of calling it,
now that fold_sub_vec always returns true.
Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: d33e0f01db0f75c890a8ed1f1116d45080ca1c3c
https://github.com/qemu/qemu/commit/d33e0f01db0f75c890a8ed1f1116d45080ca1c3c
Author: Richard Henderson <[email protected]>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M tcg/optimize.c
Log Message:
-----------
tcg/optimize: Use fold_masks_zs in fold_tcg_ld
Avoid the use of the OptContext slots.
Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: 0fb5b757c344cb57d7c81922262bc8546c3ab504
https://github.com/qemu/qemu/commit/0fb5b757c344cb57d7c81922262bc8546c3ab504
Author: Richard Henderson <[email protected]>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M tcg/optimize.c
Log Message:
-----------
tcg/optimize: Use finish_folding in fold_tcg_ld_memcopy
Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: c890fd71794601431694ce0650055fbe927a1d8e
https://github.com/qemu/qemu/commit/c890fd71794601431694ce0650055fbe927a1d8e
Author: Richard Henderson <[email protected]>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M tcg/optimize.c
Log Message:
-----------
tcg/optimize: Use fold_masks_zs in fold_xor
Avoid the use of the OptContext slots. Find TempOptInfo once.
Remove fold_masks as the function becomes unused.
Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: 4fcd14ca64aaaed88a8b6a5a22b517397a7053b1
https://github.com/qemu/qemu/commit/4fcd14ca64aaaed88a8b6a5a22b517397a7053b1
Author: Richard Henderson <[email protected]>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M tcg/optimize.c
Log Message:
-----------
tcg/optimize: Use finish_folding in fold_bitsel_vec
Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: 0ae564288947d3670aaa75c931e838d5265d2a64
https://github.com/qemu/qemu/commit/0ae564288947d3670aaa75c931e838d5265d2a64
Author: Richard Henderson <[email protected]>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M tcg/optimize.c
Log Message:
-----------
tcg/optimize: Use finish_folding as default in tcg_optimize
All non-default cases now finish folding within each function.
Do the same with the default case and assert it is done after.
Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: a3a88b17c2b2f682554a113e87e764c516e93e08
https://github.com/qemu/qemu/commit/a3a88b17c2b2f682554a113e87e764c516e93e08
Author: Richard Henderson <[email protected]>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M tcg/optimize.c
Log Message:
-----------
tcg/optimize: Remove z_mask, s_mask from OptContext
All mask setting is now done with parameters via fold_masks_*.
Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: aa9e0501a445d1897b960f5014050497e8e70105
https://github.com/qemu/qemu/commit/aa9e0501a445d1897b960f5014050497e8e70105
Author: Richard Henderson <[email protected]>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M tcg/optimize.c
Log Message:
-----------
tcg/optimize: Re-enable sign-mask optimizations
All instances of s_mask have been converted to the new
representation. We can now re-enable usage.
Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: 7d3c63aca11ee365b36524c95d2d75d70516c6bd
https://github.com/qemu/qemu/commit/7d3c63aca11ee365b36524c95d2d75d70516c6bd
Author: Richard Henderson <[email protected]>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M tcg/optimize.c
Log Message:
-----------
tcg/optimize: Move fold_bitsel_vec into alphabetic sort
The big comment just above says functions should be sorted.
Add forward declarations as needed.
Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: 29f6586f6167a0ef6c8eaeb8c3cbdf4ff4c9d762
https://github.com/qemu/qemu/commit/29f6586f6167a0ef6c8eaeb8c3cbdf4ff4c9d762
Author: Richard Henderson <[email protected]>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M tcg/optimize.c
Log Message:
-----------
tcg/optimize: Move fold_cmp_vec, fold_cmpsel_vec into alphabetic sort
The big comment just above says functions should be sorted.
Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: 910556bbf4ffe41c9de5cf7f2c3a269ac2de5324
https://github.com/qemu/qemu/commit/910556bbf4ffe41c9de5cf7f2c3a269ac2de5324
Author: Richard Henderson <[email protected]>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M fpu/softfloat-parts.c.inc
M fpu/softfloat.c
M include/fpu/softfloat.h
Log Message:
-----------
softfloat: Add float{16,32,64}_muladd_scalbn
We currently have a flag, float_muladd_halve_result, to scale
the result by 2**-1. Extend this to handle arbitrary scaling.
Reviewed-by: Philippe Mathieu-Daudé <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: 912400a362e6d25a137e8314fa78ca0429d908aa
https://github.com/qemu/qemu/commit/912400a362e6d25a137e8314fa78ca0429d908aa
Author: Richard Henderson <[email protected]>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M target/arm/tcg/helper-a64.c
Log Message:
-----------
target/arm: Use float*_muladd_scalbn
Use the scalbn interface instead of float_muladd_halve_result.
Reviewed-by: Philippe Mathieu-Daudé <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: 88d5f550bd570cd2837c0316bea6bae8cb4b745a
https://github.com/qemu/qemu/commit/88d5f550bd570cd2837c0316bea6bae8cb4b745a
Author: Richard Henderson <[email protected]>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M target/sparc/fop_helper.c
M target/sparc/helper.h
M target/sparc/translate.c
Log Message:
-----------
target/sparc: Use float*_muladd_scalbn
Use the scalbn interface instead of float_muladd_halve_result.
Reviewed-by: Philippe Mathieu-Daudé <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: 6a243913aa46f3d60ce36c7a826562c6e40b64d7
https://github.com/qemu/qemu/commit/6a243913aa46f3d60ce36c7a826562c6e40b64d7
Author: Richard Henderson <[email protected]>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M fpu/softfloat-parts.c.inc
M fpu/softfloat.c
M include/fpu/softfloat.h
Log Message:
-----------
softfloat: Remove float_muladd_halve_result
All uses have been convered to float*_muladd_scalbn.
Reviewed-by: Philippe Mathieu-Daudé <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: 72330260cdb42015ae72096bae37e6fdaf361737
https://github.com/qemu/qemu/commit/72330260cdb42015ae72096bae37e6fdaf361737
Author: Richard Henderson <[email protected]>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M fpu/softfloat-parts.c.inc
M include/fpu/softfloat-types.h
Log Message:
-----------
softfloat: Add float_round_nearest_even_max
This rounding mode is used by Hexagon.
Signed-off-by: Richard Henderson <[email protected]>
Commit: 82f898f3b660fb11e601ee5ea1cab4b2fdafacc8
https://github.com/qemu/qemu/commit/82f898f3b660fb11e601ee5ea1cab4b2fdafacc8
Author: Richard Henderson <[email protected]>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M fpu/softfloat-parts.c.inc
M fpu/softfloat.c
M include/fpu/softfloat.h
Log Message:
-----------
softfloat: Add float_muladd_suppress_add_product_zero
Certain Hexagon instructions suppress changes to the result
when the product of fma() is a true zero.
Signed-off-by: Richard Henderson <[email protected]>
Commit: 6e7422dc22fd2a3bd581e6a496470f6edecc6357
https://github.com/qemu/qemu/commit/6e7422dc22fd2a3bd581e6a496470f6edecc6357
Author: Richard Henderson <[email protected]>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M target/hexagon/fma_emu.c
M target/hexagon/fma_emu.h
M target/hexagon/op_helper.c
Log Message:
-----------
target/hexagon: Use float32_mul in helper_sfmpy
There are no special cases for this instruction.
Remove internal_mpyf as unused.
Reviewed-by: Brian Cain <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: 655a83cac128574c7ea386042f8eefa5be5708e5
https://github.com/qemu/qemu/commit/655a83cac128574c7ea386042f8eefa5be5708e5
Author: Richard Henderson <[email protected]>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M target/hexagon/op_helper.c
Log Message:
-----------
target/hexagon: Use float32_muladd for helper_sffma
There are no special cases for this instruction.
Reviewed-by: Brian Cain <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: 2eca1928f9afb7cbc8e72a59dffb964c8319469a
https://github.com/qemu/qemu/commit/2eca1928f9afb7cbc8e72a59dffb964c8319469a
Author: Richard Henderson <[email protected]>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M target/hexagon/op_helper.c
Log Message:
-----------
target/hexagon: Use float32_muladd for helper_sffms
There are no special cases for this instruction. Since hexagon
always uses default-nan mode, explicitly negating the first
input is unnecessary. Use float_muladd_negate_product instead.
Reviewed-by: Brian Cain <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: 904624ab8e1f41dd97bb6e2e524605f4c61bc795
https://github.com/qemu/qemu/commit/904624ab8e1f41dd97bb6e2e524605f4c61bc795
Author: Richard Henderson <[email protected]>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M target/hexagon/op_helper.c
Log Message:
-----------
target/hexagon: Use float32_muladd_scalbn for helper_sffma_sc
This instruction has a special case that 0 * x + c returns c
without the normal sign folding that comes with 0 + -0.
Use the new float_muladd_suppress_add_product_zero to
describe this.
Reviewed-by: Brian Cain <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: 316dca398579f2de2f433db02685e6799159c498
https://github.com/qemu/qemu/commit/316dca398579f2de2f433db02685e6799159c498
Author: Richard Henderson <[email protected]>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M target/hexagon/op_helper.c
Log Message:
-----------
target/hexagon: Use float32_muladd for helper_sffm[as]_lib
There are multiple special cases for this instruction.
(1) The saturate to normal maximum instead of overflow to infinity is
handled by the new float_round_nearest_even_max rounding mode.
(2) The 0 * n + c special case is handled by the new
float_muladd_suppress_add_product_zero flag.
(3) The Inf - Inf -> 0 special case can be detected after the fact
by examining float_flag_invalid_isi.
Reviewed-by: Brian Cain <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: 813437e5002b0726535df4c77527986acac5de3b
https://github.com/qemu/qemu/commit/813437e5002b0726535df4c77527986acac5de3b
Author: Richard Henderson <[email protected]>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M target/hexagon/fma_emu.c
M target/hexagon/fma_emu.h
Log Message:
-----------
target/hexagon: Remove internal_fmafx
The function is now unused.
Reviewed-by: Brian Cain <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: 795d6a2c4960325c514323147e13a22d5fe21ddf
https://github.com/qemu/qemu/commit/795d6a2c4960325c514323147e13a22d5fe21ddf
Author: Richard Henderson <[email protected]>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M target/hexagon/fma_emu.c
Log Message:
-----------
target/hexagon: Expand GEN_XF_ROUND
This massive macro is now only used once.
Expand it for use only by float64.
Reviewed-by: Brian Cain <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: fefc9702e618cef00d199e6ddd43f4b2d4c2fad6
https://github.com/qemu/qemu/commit/fefc9702e618cef00d199e6ddd43f4b2d4c2fad6
Author: Richard Henderson <[email protected]>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M target/hexagon/fma_emu.c
Log Message:
-----------
target/hexagon: Remove Float
This structure, with bitfields, is incorrect for big-endian.
Use the existing float32_getexp_raw which uses extract32.
Reviewed-by: Brian Cain <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: 8429306c327e59786d96497bd6c36c42ccf58a06
https://github.com/qemu/qemu/commit/8429306c327e59786d96497bd6c36c42ccf58a06
Author: Richard Henderson <[email protected]>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M target/hexagon/fma_emu.c
Log Message:
-----------
target/hexagon: Remove Double
This structure, with bitfields, is incorrect for big-endian.
Use extract64 and deposit64 instead.
Reviewed-by: Brian Cain <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: 65b4dce393cddb5fb0295bf6666f7db8512b8cff
https://github.com/qemu/qemu/commit/65b4dce393cddb5fb0295bf6666f7db8512b8cff
Author: Richard Henderson <[email protected]>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M target/hexagon/fma_emu.c
Log Message:
-----------
target/hexagon: Use mulu64 for int128_mul_6464
No need to open-code 64x64->128-bit multiplication.
Reviewed-by: Brian Cain <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: 59abfb444e1d9654e15f85c50d09a3366e4c1c1e
https://github.com/qemu/qemu/commit/59abfb444e1d9654e15f85c50d09a3366e4c1c1e
Author: Richard Henderson <[email protected]>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M target/hexagon/fma_emu.c
Log Message:
-----------
target/hexagon: Simplify internal_mpyhh setup
Initialize x with accumulated via direct assignment,
rather than multiplying by 1.
Reviewed-by: Brian Cain <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: e4a8e093dc74be049f4829831dce76e5edab0003
https://github.com/qemu/qemu/commit/e4a8e093dc74be049f4829831dce76e5edab0003
Author: Richard Henderson <[email protected]>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M accel/tcg/cpu-exec.c
M accel/tcg/translate-all.c
M include/exec/translator.h
M include/hw/core/tcg-cpu-ops.h
M target/alpha/cpu.c
M target/alpha/cpu.h
M target/alpha/translate.c
M target/arm/cpu.c
M target/arm/internals.h
M target/arm/tcg/cpu-v7m.c
M target/arm/tcg/translate.c
M target/avr/cpu.c
M target/avr/cpu.h
M target/avr/translate.c
M target/hexagon/cpu.c
M target/hexagon/cpu.h
M target/hexagon/translate.c
M target/hppa/cpu.c
M target/hppa/cpu.h
M target/hppa/translate.c
M target/i386/tcg/helper-tcg.h
M target/i386/tcg/tcg-cpu.c
M target/i386/tcg/translate.c
M target/loongarch/cpu.c
M target/loongarch/internals.h
M target/loongarch/tcg/translate.c
M target/m68k/cpu.c
M target/m68k/cpu.h
M target/m68k/translate.c
M target/microblaze/cpu.c
M target/microblaze/cpu.h
M target/microblaze/translate.c
M target/mips/cpu.c
M target/mips/tcg/tcg-internal.h
M target/mips/tcg/translate.c
M target/openrisc/cpu.c
M target/openrisc/cpu.h
M target/openrisc/translate.c
M target/ppc/cpu.h
M target/ppc/cpu_init.c
M target/ppc/translate.c
M target/riscv/cpu.h
M target/riscv/tcg/tcg-cpu.c
M target/riscv/translate.c
M target/rx/cpu.c
M target/rx/cpu.h
M target/rx/translate.c
M target/s390x/cpu.c
M target/s390x/s390x-internal.h
M target/s390x/tcg/translate.c
M target/sh4/cpu.c
M target/sh4/cpu.h
M target/sh4/translate.c
M target/sparc/cpu.c
M target/sparc/cpu.h
M target/sparc/translate.c
M target/tricore/cpu.c
M target/tricore/cpu.h
M target/tricore/translate.c
M target/xtensa/cpu.c
M target/xtensa/cpu.h
M target/xtensa/translate.c
Log Message:
-----------
accel/tcg: Move gen_intermediate_code to TCGCPUOps.translate_core
Convert all targets simultaneously, as the gen_intermediate_code
function disappears from the target. While there are possible
workarounds, they're larger than simply performing the conversion.
Reviewed-by: Philippe Mathieu-Daudé <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Commit: 30927721806728c0e942c67a9bc7b7c81196bd2b
https://github.com/qemu/qemu/commit/30927721806728c0e942c67a9bc7b7c81196bd2b
Author: ghy <[email protected]>
Date: 2024-12-25 (Wed, 25 Dec 2024)
Changed paths:
M target/loongarch/tcg/insn_trans/trans_vec.c.inc
Log Message:
-----------
target/loongarch: Fix vldi inst
Refer to the link below for a description of the vldi instructions:
https://jia.je/unofficial-loongarch-intrinsics-guide/lsx/misc/#synopsis_88
Fixed errors in vldi instruction implementation.
Signed-off-by: Guo Hongyu <[email protected]>
Tested-by: Xianglai Li <[email protected]>
Signed-off-by: Xianglai Li <[email protected]>
Reviewed-by: Bibo Mao <[email protected]>
Signed-off-by: Bibo Mao <[email protected]>
Commit: ea590834e340c7b5b092fed607213b7389b4e30a
https://github.com/qemu/qemu/commit/ea590834e340c7b5b092fed607213b7389b4e30a
Author: Bibo Mao <[email protected]>
Date: 2024-12-25 (Wed, 25 Dec 2024)
Changed paths:
M target/loongarch/tcg/insn_trans/trans_vec.c.inc
Log Message:
-----------
target/loongarch: Use actual operand size with vbsrl check
Hardcoded 32 bytes is used for vbsrl emulation check, there is
problem when options lsx=on,lasx=off is used for vbsrl.v instruction
in TCG mode. It injects LASX exception rather LSX exception.
Here actual operand size is used.
Cc: [email protected]
Fixes: df97f338076 ("target/loongarch: Implement xvreplve xvinsve0 xvpickve")
Signed-off-by: Bibo Mao <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Reviewed-by: Philippe Mathieu-Daudé <[email protected]>
Commit: 4dac6a9582932a7c64df8bcec671a772d89998ea
https://github.com/qemu/qemu/commit/4dac6a9582932a7c64df8bcec671a772d89998ea
Author: Bibo Mao <[email protected]>
Date: 2024-12-25 (Wed, 25 Dec 2024)
Changed paths:
M hw/loongarch/virt.c
Log Message:
-----------
hw/loongarch/virt: Create fdt table on machine creation done notification
The same with ACPI table, fdt table is created on machine done
notification. Some objects like CPU objects can be created with cold-plug
method with command such as -smp x, -device la464-loongarch-cpu, so all
objects finish to create when machine is done.
Signed-off-by: Bibo Mao <[email protected]>
Reviewed-by: Bibo Mao <[email protected]>
Commit: 29d907e4c1c099187e8596a91674d170d9807897
https://github.com/qemu/qemu/commit/29d907e4c1c099187e8596a91674d170d9807897
Author: Bibo Mao <[email protected]>
Date: 2024-12-25 (Wed, 25 Dec 2024)
Changed paths:
M hw/loongarch/virt.c
Log Message:
-----------
hw/loongarch/virt: Improve fdt table creation for CPU object
For CPU object, possible_cpu_arch_ids() function is used rather than
smp.cpus. With command -smp x, -device la464-loongarch-cpu, smp.cpus
is not accurate for all possible CPU objects, possible_cpu_arch_ids()
is used here.
Signed-off-by: Bibo Mao <[email protected]>
Reviewed-by: Bibo Mao <[email protected]>
Commit: b2bc5445486294de3ca1adcada56c12f90758833
https://github.com/qemu/qemu/commit/b2bc5445486294de3ca1adcada56c12f90758833
Author: Bibo Mao <[email protected]>
Date: 2024-12-25 (Wed, 25 Dec 2024)
Changed paths:
M target/loongarch/cpu.c
M target/loongarch/cpu.h
M target/loongarch/kvm/kvm.c
Log Message:
-----------
target/loongarch: Use auto method with LSX feature
Like LBT feature, add type OnOffAuto for LSX feature setting. Also
add LSX feature detection with new VM ioctl command, fallback to old
method if it is not supported.
Signed-off-by: Bibo Mao <[email protected]>
Reviewed-by: Bibo Mao <[email protected]>
Commit: cb91b7108cb0b3781de9a00994fe78b631d80012
https://github.com/qemu/qemu/commit/cb91b7108cb0b3781de9a00994fe78b631d80012
Author: Bibo Mao <[email protected]>
Date: 2024-12-25 (Wed, 25 Dec 2024)
Changed paths:
M target/loongarch/cpu.c
M target/loongarch/cpu.h
M target/loongarch/kvm/kvm.c
Log Message:
-----------
target/loongarch: Use auto method with LASX feature
Like LSX feature, add type OnOffAuto for LASX feature setting.
Signed-off-by: Bibo Mao <[email protected]>
Reviewed-by: Bibo Mao <[email protected]>
Commit: 7beda1394864a728e519cd44dbee3823ffcf0b42
https://github.com/qemu/qemu/commit/7beda1394864a728e519cd44dbee3823ffcf0b42
Author: Stefan Hajnoczi <[email protected]>
Date: 2024-12-25 (Wed, 25 Dec 2024)
Changed paths:
M hw/vfio/common.c
M hw/vfio/container-base.c
M hw/vfio/container.c
M hw/vfio/igd.c
M include/hw/vfio/vfio-common.h
M include/hw/vfio/vfio-container-base.h
M include/migration/misc.h
M migration/migration.c
M system/dirtylimit.c
Log Message:
-----------
Merge tag 'pull-vfio-20241224' of https://github.com/legoater/qemu into
staging
vfio queue:
* Add support for IGD passthrough on all Intel Gen 11 and 12 devices
* Refactor dirty tracking engine to include VFIO state in calc-dirty-rate
* Drop usage migration_is_device() and migration_is_active()
# -----BEGIN PGP SIGNATURE-----
#
# iQIzBAABCAAdFiEEoPZlSPBIlev+awtgUaNDx8/77KEFAmdqcdYACgkQUaNDx8/7
# 7KEChxAAylXv01t95ck/k3IWuuNo6zSJnzw0eeN+hdL63WudPGqhb0LUOdB9SHE5
# C54hPz9A0an4ogI1nRf4InibnaLo8g56fVqE1G3JFP1s7gZG8Sq+4/dRr/U4YpJC
# MyN8vZDFA9spzgtygrbgtDZq4qQ/uerXtfKBlLShtQDTv70cInqP0epevoJEMsHE
# F48LqIZSyDqBHWOMLLd928uKNZwHxCS/Bty5YmyRsQyGoGorEoORTSkbRhAxMRaQ
# 8Qly27ymk6shgZf0PTmAMPF2RUGgOdHpcnJ51ytcXTSInzionFxn/7BsNF8Ry00H
# RUu6Eq027/tY3zgUkDhULpekpkRw7C04hS3PHm5apKqwSo0s6VAZH+8TL5JzLdTr
# cYOQF0Iop8uMKi6OcM9NQjobnu902dhU3LNY1oZ68nB9u3oyHXb/0f6NhR1wADdR
# TagUnPLzUyJTthR7QlPJzYmFvgrEq1hH9MvPnJkpUjy2InEI1dZ+FFG0HC0ot7Zu
# c0RdcfkFnqJOIK67d1Q0AvxI7MXPtjnp/x39ropyNpahl38JyFbIIaJz7fs036Q7
# mLZUuk22PjQcwl5EwvNqFSRgxc1rJIaeaiAfAkTw6XtwNFqwZzFVfOJPH9/fPy02
# RGYdsahgmgBqUgtUTC0PqGCQwqkzfIInNIZueRwRHNvYzD0td50=
# =LXJ0
# -----END PGP SIGNATURE-----
# gpg: Signature made Tue 24 Dec 2024 03:33:26 EST
# gpg: using RSA key A0F66548F04895EBFE6B0B6051A343C7CFFBECA1
# gpg: Good signature from "Cédric Le Goater <[email protected]>" [full]
# gpg: aka "Cédric Le Goater <[email protected]>" [full]
# Primary key fingerprint: A0F6 6548 F048 95EB FE6B 0B60 51A3 43C7 CFFB ECA1
* tag 'pull-vfio-20241224' of https://github.com/legoater/qemu:
migration: Unexport migration_is_active()
migration: Drop migration_is_device()
system/dirtylimit: Don't use migration_is_active()
vfio/migration: Rename vfio_devices_all_dirty_tracking()
vfio/migration: Refactor vfio_devices_all_running_and_mig_active() logic
vfio/migration: Refactor vfio_devices_all_dirty_tracking() logic
vfio/container: Add dirty tracking started flag
vfio/igd: add x-igd-gms option back to set DSM region size for guest
vfio/igd: emulate BDSM in mmio bar0 for gen 6-10 devices
vfio/igd: emulate GGC register in mmio bar0
vfio/igd: add macro for declaring mirrored registers
vfio/igd: add Alder/Raptor/Rocket/Ice/Jasper Lake device ids
vfio/igd: add Gemini Lake and Comet Lake device ids
vfio/igd: canonicalize memory size calculations
vfio/igd: align generation with i915 kernel driver
vfio/igd: remove unsupported device ids
vfio/igd: fix GTT stolen memory size calculation for gen 8+
Signed-off-by: Stefan Hajnoczi <[email protected]>
Commit: 5d346b1b8b4c24854d39051e179c7f6a9a4c1c9f
https://github.com/qemu/qemu/commit/5d346b1b8b4c24854d39051e179c7f6a9a4c1c9f
Author: Stefan Hajnoczi <[email protected]>
Date: 2024-12-25 (Wed, 25 Dec 2024)
Changed paths:
M accel/tcg/cpu-exec.c
M accel/tcg/plugin-gen.c
M accel/tcg/translate-all.c
M fpu/softfloat-parts.c.inc
M fpu/softfloat.c
M include/exec/translator.h
M include/fpu/softfloat-types.h
M include/fpu/softfloat.h
M include/hw/core/tcg-cpu-ops.h
M target/alpha/cpu.c
M target/alpha/cpu.h
M target/alpha/translate.c
M target/arm/cpu.c
M target/arm/internals.h
M target/arm/tcg/cpu-v7m.c
M target/arm/tcg/helper-a64.c
M target/arm/tcg/translate.c
M target/avr/cpu.c
M target/avr/cpu.h
M target/avr/translate.c
M target/hexagon/cpu.c
M target/hexagon/cpu.h
M target/hexagon/fma_emu.c
M target/hexagon/fma_emu.h
M target/hexagon/op_helper.c
M target/hexagon/translate.c
M target/hppa/cpu.c
M target/hppa/cpu.h
M target/hppa/translate.c
M target/i386/tcg/helper-tcg.h
M target/i386/tcg/tcg-cpu.c
M target/i386/tcg/translate.c
M target/loongarch/cpu.c
M target/loongarch/internals.h
M target/loongarch/tcg/translate.c
M target/m68k/cpu.c
M target/m68k/cpu.h
M target/m68k/translate.c
M target/microblaze/cpu.c
M target/microblaze/cpu.h
M target/microblaze/translate.c
M target/mips/cpu.c
M target/mips/tcg/tcg-internal.h
M target/mips/tcg/translate.c
M target/openrisc/cpu.c
M target/openrisc/cpu.h
M target/openrisc/translate.c
M target/ppc/cpu.h
M target/ppc/cpu_init.c
M target/ppc/translate.c
M target/riscv/cpu.h
M target/riscv/tcg/tcg-cpu.c
M target/riscv/translate.c
M target/rx/cpu.c
M target/rx/cpu.h
M target/rx/translate.c
M target/s390x/cpu.c
M target/s390x/s390x-internal.h
M target/s390x/tcg/translate.c
M target/sh4/cpu.c
M target/sh4/cpu.h
M target/sh4/translate.c
M target/sparc/cpu.c
M target/sparc/cpu.h
M target/sparc/fop_helper.c
M target/sparc/helper.h
M target/sparc/translate.c
M target/tricore/cpu.c
M target/tricore/cpu.h
M target/tricore/translate.c
M target/xtensa/cpu.c
M target/xtensa/cpu.h
M target/xtensa/translate.c
M tcg/optimize.c
M tests/tcg/multiarch/system/memory.c
Log Message:
-----------
Merge tag 'pull-tcg-20241224' of https://gitlab.com/rth7680/qemu into staging
tcg/optimize: Remove in-flight mask data from OptContext
fpu: Add float*_muladd_scalbn
fpu: Remove float_muladd_halve_result
fpu: Add float_round_nearest_even_max
fpu: Add float_muladd_suppress_add_product_zero
target/hexagon: Use float32_muladd
accel/tcg: Move gen_intermediate_code to TCGCPUOps.translate_core
# -----BEGIN PGP SIGNATURE-----
#
# iQFRBAABCgA7FiEEekgeeIaLTbaoWgXAZN846K9+IV8FAmdrE7QdHHJpY2hhcmQu
# aGVuZGVyc29uQGxpbmFyby5vcmcACgkQZN846K9+IV+l2Qf/aECUfMn07wns7WjX
# ebWxzIRKp//ktsIJg9InL8zrCStyRqrBj0VQE9LUfO2Vhvqf8faUdh+uh2ek/Ewa
# f1hfo0kDK7e7oWnCicSbHmdC0FQIrKpg2i+YXIsbd4XWOkmFAhkNenISuQfCrL3k
# 3UYAA12seK9uCls+fljvhK6iid3h+4ReDFW7DPg7mumFCCz6CwzYYW/4cnhcAmOn
# qVehtts8W+6SFMjTE04S8NV8OBaMisf8AbCcZf2PedRl1cHGSumLOjvjOxcQU8Hw
# nGUjL8/hYWkEetzU4YzJyfHOe6F9lPJBMnDattwIswwYrTOD/Sq7VbBWFbW0EwUy
# 7XIZ8Q==
# =DZgo
# -----END PGP SIGNATURE-----
# gpg: Signature made Tue 24 Dec 2024 15:04:04 EST
# gpg: using RSA key 7A481E78868B4DB6A85A05C064DF38E8AF7E215F
# gpg: issuer "[email protected]"
# gpg: Good signature from "Richard Henderson <[email protected]>"
[full]
# Primary key fingerprint: 7A48 1E78 868B 4DB6 A85A 05C0 64DF 38E8 AF7E 215F
* tag 'pull-tcg-20241224' of https://gitlab.com/rth7680/qemu: (72 commits)
accel/tcg: Move gen_intermediate_code to TCGCPUOps.translate_core
target/hexagon: Simplify internal_mpyhh setup
target/hexagon: Use mulu64 for int128_mul_6464
target/hexagon: Remove Double
target/hexagon: Remove Float
target/hexagon: Expand GEN_XF_ROUND
target/hexagon: Remove internal_fmafx
target/hexagon: Use float32_muladd for helper_sffm[as]_lib
target/hexagon: Use float32_muladd_scalbn for helper_sffma_sc
target/hexagon: Use float32_muladd for helper_sffms
target/hexagon: Use float32_muladd for helper_sffma
target/hexagon: Use float32_mul in helper_sfmpy
softfloat: Add float_muladd_suppress_add_product_zero
softfloat: Add float_round_nearest_even_max
softfloat: Remove float_muladd_halve_result
target/sparc: Use float*_muladd_scalbn
target/arm: Use float*_muladd_scalbn
softfloat: Add float{16,32,64}_muladd_scalbn
tcg/optimize: Move fold_cmp_vec, fold_cmpsel_vec into alphabetic sort
tcg/optimize: Move fold_bitsel_vec into alphabetic sort
...
Signed-off-by: Stefan Hajnoczi <[email protected]>
Commit: 9fc2675eca01fc8d8d5cf03bc7a674674c484278
https://github.com/qemu/qemu/commit/9fc2675eca01fc8d8d5cf03bc7a674674c484278
Author: Stefan Hajnoczi <[email protected]>
Date: 2024-12-25 (Wed, 25 Dec 2024)
Changed paths:
M hw/loongarch/virt.c
M target/loongarch/cpu.c
M target/loongarch/cpu.h
M target/loongarch/kvm/kvm.c
M target/loongarch/tcg/insn_trans/trans_vec.c.inc
Log Message:
-----------
Merge tag 'pull-loongarch-20241225' of https://gitlab.com/bibo-mao/qemu into
staging
loongarch queue
# -----BEGIN PGP SIGNATURE-----
#
# iHUEABYKAB0WIQQNhkKjomWfgLCz0aQfewwSUazn0QUCZ2tu/AAKCRAfewwSUazn
# 0S8JAP4tnFKKhNk8zbfdNgLdeollPych8TlkG5xiUktmj/MwfwD+JOPkFN6NA1zc
# 1g3LqQXYDXJYCwJlQzWr+rrCoFszEAc=
# =fQTz
# -----END PGP SIGNATURE-----
# gpg: Signature made Tue 24 Dec 2024 21:33:32 EST
# gpg: using EDDSA key 0D8642A3A2659F80B0B3D1A41F7B0C1251ACE7D1
# gpg: Good signature from "bibo mao <[email protected]>" [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: 7044 3A00 19C0 E97A 31C7 13C4 8E86 8FB7 A176 9D4C
# Subkey fingerprint: 0D86 42A3 A265 9F80 B0B3 D1A4 1F7B 0C12 51AC E7D1
* tag 'pull-loongarch-20241225' of https://gitlab.com/bibo-mao/qemu:
target/loongarch: Use auto method with LASX feature
target/loongarch: Use auto method with LSX feature
hw/loongarch/virt: Improve fdt table creation for CPU object
hw/loongarch/virt: Create fdt table on machine creation done notification
target/loongarch: Use actual operand size with vbsrl check
target/loongarch: Fix vldi inst
Signed-off-by: Stefan Hajnoczi <[email protected]>
Compare: https://github.com/qemu/qemu/compare/aa3a285b5bc5...9fc2675eca01
To unsubscribe from these emails, change your notification settings at
https://github.com/qemu/qemu/settings/notifications