Like commit 034d00d48581 ("e1000: set RX descriptor status in
a separate operation"), there is also same issue in e1000e, which
would cause lost packets or stop sending packets to VM with DPDK.
Do similar fix in e1000e.
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/402
Signed-off-by: Di
Apply cache->xlat to addr before passing it to
flatview_(read|write)_continue(), to convert it from the
MemoryRegionCache's address space to the FlatView's.
Fixes: 48564041a7 ("exec: reintroduce MemoryRegion caching")
Co-Developed-by: Stefan Hajnoczi
Signed-off-by: Stefan Hajnoczi
Signed-off-by:
Use get_sysfs_str_val() to get the string value of device
zoned model. Then get_sysfs_zoned_model() can convert it to
BlockZoneModel type in QEMU.
Use get_sysfs_long_val() to get the long value of zoned device
information.
Signed-off-by: Sam Li
Reviewed-by: Hannes Reinecke
Reviewed-by: Stefan H
Swtpm may release the lock once the last one of its state blobs has been
migrated out. In case of VM migration failure QEMU now needs to notify
swtpm that it should again take the lock, which it can otherwise only do
once it has received the first TPM command from the VM.
Only try to send the lock
On 8/26/22 17:17, Richard Henderson wrote:
> On 8/26/22 07:18, Helge Deller wrote:
>> Add implementation and strace output for faccessat2().
>>
>> Signed-off-by: Helge Deller
>> ---
>> linux-user/strace.c | 2 +-
>> linux-user/strace.list | 3 +++
>> linux-user/syscall.c | 12 ++
By adding zone management operations in BlockDriver, storage controller
emulation can use the new block layer APIs including Report Zone and
four zone management operations (open, close, finish, reset).
Add zoned storage commands of the device: zone_report(zrp), zone_open(zo),
zone_close(zc), zone
at 11:34 PM, Keith Busch wrote:
> On Fri, Aug 26, 2022 at 11:12:04PM +0800, Jinhao Fan wrote:
>> Use KVM's irqfd to send interrupts when possible. This approach is
>> thread safe. Moreover, it does not have the inter-thread communication
>> overhead of plain event notifiers since handler callback
Putting zoned/non-zoned BlockDrivers on top of each other is not
allowed.
Signed-off-by: Sam Li
Reviewed-by: Stefan Hajnoczi
---
block.c | 14 ++
block/file-posix.c | 13 +
block/raw-format.c | 1 +
include/block/bloc
raw-format driver usually sits on top of file-posix driver. It needs to
pass through requests of zone commands.
Signed-off-by: Sam Li
Reviewed-by: Stefan Hajnoczi
---
block/raw-format.c | 13 +
1 file changed, 13 insertions(+)
diff --git a/block/raw-format.c b/block/raw-format.c
in
We have added new block layer APIs of zoned block devices. Test it with:
Create a null_blk device, run each zone operation on it and see
whether reporting right zone information.
Signed-off-by: Sam Li
Reviewed-by: Stefan Hajnoczi
---
tests/qemu-iotests/tests/zoned.out | 53 ++
t
On 8/26/22 12:15, Ross Lagerwall wrote:
From: Stefan Berger
Sent: Friday, August 26, 2022 4:20 PM
To: Ross Lagerwall ; Stefan Berger
Cc: qemu-devel@nongnu.org
Subject: Re: [PATCH] tpm_crb: Avoid backend startup just before shutdown under
Xen
On 8/26/22 10:38, Ross Lagerwall wrote:
Whe
Add the documentation about the zoned device support to virtio-blk
emulation.
Signed-off-by: Sam Li
Reviewed-by: Stefan Hajnoczi
---
docs/devel/zoned-storage.rst | 41 ++
docs/system/qemu-block-drivers.rst.inc | 6
2 files changed, 47 insertions(+)
creat
On 8/25/22 15:14, Paolo Bonzini wrote:
+for (i = 0 ; i < 2 << SHIFT ; i++) {
+ int j = i & 3;
+d->L(i) = rk.L(i) ^ bswap32(AES_Td0[st.B(AES_ishifts[4 * j + 0])] ^
It that a tab? Seem to be several of them.
Otherwise,
Reviewed-by: Richard Henderson
r~
Hi Maintainers,
Are there any features that got added in the last year (since KVM Forum
2021) that you think deserve more recognition? If so please reply to
this thread (or privately to me if you want) and let me know what
feature landed and why it is so cool.
The reward could well be a bullet po
Hi,
This is the first testing series for 7.2 once the tree opens. Along
with the usual small collection of tweaks and fixes I also finish the
effort to remove our internally layered Dockerfiles. This is a first
step to removing the dependency on docker.py totally and hopefully
improving the cachin
Update to the latest stable Debian. While we are at it flatten into a
single dockerfile. We really don't need the rest of the stuff from
the QEMU base image just to compile test images.
Signed-off-by: Alex Bennée
---
.gitlab-ci.d/container-cross.yml | 1 -
tests/docker/Makefil
* Richard Henderson :
> On 8/26/22 07:18, Helge Deller wrote:
> > +if (arg < _NSIG)
> > +signal_name = target_signal_to_host_signal_table[arg];
> (1) static const char * const
> (2) target_signal_name -- there's no "host" about this.
> Oh, and _NSIG is a host thing. Leave the array a
We should be aiming to keep our tests under 2 minutes so lets reduce
the default timeout to that. Tests that we know take longer should
explicitly set a longer timeout.
Signed-off-by: Alex Bennée
---
tests/avocado/avocado_qemu/__init__.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
di
The SDK tests take a lot longer to run and hence need a longer
timeout. As they run well over the 60 second maximum for CI lets also
disable them for CI as well.
I suspect they also suffer from the inability to detect the login
prompt due to no newlines being processed.
Signed-off-by: Alex Bennée
Update to the latest stable Debian. While we are at it flatten into a
single dockerfile. We really don't need the rest of the stuff from
the QEMU base image just to compile test images.
Signed-off-by: Alex Bennée
---
.gitlab-ci.d/container-cross.yml | 1 -
tests/docker/Makefile.
Update to the latest stable Debian. While we are at it flatten into a
single dockerfile. We really don't need the rest of the stuff from
the QEMU base image just to compile test images.
Signed-off-by: Alex Bennée
---
.gitlab-ci.d/container-cross.yml | 1 -
tests/docker/Makefile
Update to the latest stable Debian. While we are at it flatten into a
single dockerfile. We really don't need the rest of the stuff from
the QEMU base image just to compile test images.
Signed-off-by: Alex Bennée
---
.gitlab-ci.d/container-cross.yml| 1 -
tests/docker/Makefi
From: Richard Henderson
The project has reached the magic size at which we see
/usr/aarch64-linux-gnu/lib/libc.a(init-first.o): in function
`__libc_init_first':
(.text+0x10): relocation truncated to fit: R_AARCH64_LD64_GOTPAGE_LO15 against \
symbol `__environ' defined in .bss section in
/usr/a
Update to the latest stable Debian. While we are at it flatten into a
single dockerfile. We really don't need the rest of the stuff from
the QEMU base image just to compile test images.
Signed-off-by: Alex Bennée
---
.gitlab-ci.d/container-cross.yml | 1 -
tests/docker/Makefile
Update to the latest stable Debian. While we are at it flatten into a
single dockerfile. We really don't need the rest of the stuff from
the QEMU base image just to compile test images.
Signed-off-by: Alex Bennée
---
.gitlab-ci.d/container-cross.yml | 1 -
tests/docker/Makef
The custom runner is now using 22.04 so we can drop our hacks to deal
with broken libssh and glusterfs. The provisioning scripts will be
updated in a separate commit.
Signed-off-by: Alex Bennée
---
.gitlab-ci.d/custom-runners.yml | 4 +--
...4-aarch32.yml => ubuntu-22.04-aarch32.y
We missed removing this dependency when we flattened the build.
Fixes: 39ce923732 (gitlab: enable a very minimal build with the tricore
container)
Signed-off-by: Alex Bennée
---
.gitlab-ci.d/container-cross.yml | 1 -
tests/docker/Makefile.include| 1 -
2 files changed, 2 deletions(-)
diff
From: Thomas Huth
It's still based on Fedora 30 - which is not supported anymore by QEMU
since years. Seems like nobody is using (and refreshing) this, and it's
easier to test this via a container anyway, so let's remove this now.
Signed-off-by: Thomas Huth
Message-Id: <20220822175317.190551-1-
Flatten into a single dockerfile. We really don't need the rest of the
stuff from the QEMU base image just to compile test images.
Signed-off-by: Alex Bennée
---
.gitlab-ci.d/container-cross.yml | 1 -
tests/docker/Makefile.include| 1 -
.../dockerfi
Update to the latest stable Debian. While we are at it flatten into a
single dockerfile. We also need to ensure we install clang as it is
used for those builds as well.
It would be nice to port this to lcitool but for now this will do.
Signed-off-by: Alex Bennée
---
.gitlab-ci.d/container-cross
We missed removing this dependency when we flattened the build.
Fixes 9e19fd7d4a (tests/docker: update debian-amd64 with lcitool)
Signed-off-by: Alex Bennée
---
tests/docker/Makefile.include | 1 -
1 file changed, 1 deletion(-)
diff --git a/tests/docker/Makefile.include b/tests/docker/Makefile.
We need this to be able to cleanly build the x86 cross images. There
are a few minor updates triggered by lcitool-refresh.
Signed-off-by: Alex Bennée
---
.gitlab-ci.d/cirrus/freebsd-12.vars | 2 +-
.gitlab-ci.d/cirrus/freebsd-13.vars | 2 +-
tests/docker/dockerfiles/opensuse-
It's becoming harder to maintain a cross-compiler to test this host
architecture as the old stable Debian 10 ("Buster") moved into LTS
which supports fewer architectures. For now:
- mark it's deprecation in the docs
- downgrade the containers to build TCG tests only
- drop the cross builds f
- almost all compilation tests moved to Meson
- this leaves configure to do compiler detection and prepare the
dependencies (submodules, in the future python venv)
- compiler detection for tests/tcg and firmware moved to configure,
enabling cross compilation of firmware
- -audio as a replaceme
Update to the latest stable Debian. While we are at it flatten into a
single dockerfile as we do not need anything from the base image to
build the toolchain. This is used to build both the nios and
microblaze toolchains.
Signed-off-by: Alex Bennée
---
tests/docker/Makefile.include
Update to the latest stable Debian. While we are at it flatten into a
single dockerfile as we do not need anything from the base image to
build the toolchain.
Signed-off-by: Alex Bennée
---
.../docker/dockerfiles/debian-hexagon-cross.docker | 13 ++---
.../dockerfiles/debian-loongarch-c
Update to the latest stable Debian. While we are at it flatten into a
single dockerfile. We really don't need the rest of the stuff from the
QEMU base image just to compile test images. In this case it is a
binary distribution of the toolchain anyway.
Signed-off-by: Alex Bennée
---
tests/docker/
We no longer use these in any of our images. Clean-up the remaining
comments and documentation that reference them and remove from the
build.
Signed-off-by: Alex Bennée
---
docs/devel/testing.rst | 2 +-
.gitlab-ci.d/container-core.yml | 5
.gitlab-ci.d/containe
We want to migrate from docker.py to building our images directly with
docker/podman. Before we get there we need to make sure we don't
re-introduce our layered builds so bug out if we see FROM qemu/ in a
Dockerfile.
Signed-off-by: Alex Bennée
---
tests/docker/docker.py | 38 ++--
Now lcitool has support for building a x86_64 cross image we can use
it for this.
Signed-off-by: Alex Bennée
---
.gitlab-ci.d/container-cross.yml | 1 -
tests/docker/Makefile.include | 1 -
.../dockerfiles/debian-amd64-cross.docker | 178 --
t
Flatten into a single dockerfile. We really don't need the rest of the
stuff from the QEMU base image just to compile test images.
Signed-off-by: Alex Bennée
---
.gitlab-ci.d/container-cross.yml | 1 -
tests/docker/Makefile.include | 1 -
.../dock
From: Thomas Huth
The Windows jobs are currently aborting at weird places - and
there's the suspicion that it's due to memory constraints in
the Windows containers. Let's switch to single-threaded compilation
to decrease the pressure on the memory load, and to make the
jobs more deterministic for
On 8/26/22 11:46, Stefan Berger wrote:
Swtpm may release the lock once the last one of its state blobs has been
migrated out. In case of VM migration failure QEMU now needs to notify
swtpm that it should again take the lock, which it can otherwise only do
once it has received the first TPM com
On 26/08/2022 16.59, Bin Meng wrote:
On Thu, Aug 25, 2022 at 9:04 PM Thomas Huth wrote:
On 24/08/2022 11.40, Bin Meng wrote:
From: Xuzhou Cheng
Socket communication in the libqtest and libqmp codes uses read()
and write() which work on any file descriptor on *nix, and sockets
in *nix are an
On 26/08/2022 19.21, Alex Bennée wrote:
Update to the latest stable Debian. While we are at it flatten into a
single dockerfile. We also need to ensure we install clang as it is
used for those builds as well.
It would be nice to port this to lcitool but for now this will do.
Signed-off-by: Alex
On 26/08/2022 19.21, Alex Bennée wrote:
We need this to be able to cleanly build the x86 cross images. There
are a few minor updates triggered by lcitool-refresh.
Maybe mention that this will add "libslirp" to the freebsd vars - which will
be helpful when we finally remove the slirp submodule
On Fri, 26 Aug 2022, Daniel Henrique Barboza wrote:
This will enable support for 'dumpdtb' and 'info fdt' HMP commands for
the sam460ex machine.
This only works when booting with -kernel not when the firmware is used
which creates its own DT. (The same is true for pegasos2 but there VOF is
th
On 26/08/2022 19.21, Alex Bennée wrote:
The SDK tests take a lot longer to run and hence need a longer
timeout. As they run well over the 60 second maximum for CI lets also
disable them for CI as well.
I suspect they also suffer from the inability to detect the login
prompt due to no newlines be
Hello,
On behalf of the QEMU Team, I'd like to announce the availability of the
fifth release candidate for the QEMU 7.1 release. This release is meant
for testing purposes and should not be used in a production environment.
http://download.qemu-project.org/qemu-7.1.0-rc4.tar.xz
http://downlo
On 26/08/2022 19.21, Alex Bennée wrote:
We should be aiming to keep our tests under 2 minutes so lets reduce
the default timeout to that. Tests that we know take longer should
explicitly set a longer timeout.
Signed-off-by: Alex Bennée
---
tests/avocado/avocado_qemu/__init__.py | 2 +-
1 fil
On 26/08/2022 19.21, Alex Bennée wrote:
Update to the latest stable Debian. While we are at it flatten into a
single dockerfile. We really don't need the rest of the stuff from
the QEMU base image just to compile test images.
Signed-off-by: Alex Bennée
---
.gitlab-ci.d/container-cross.yml
On 26/08/2022 19.21, Alex Bennée wrote:
Update to the latest stable Debian. While we are at it flatten into a
single dockerfile. We really don't need the rest of the stuff from
the QEMU base image just to compile test images.
Signed-off-by: Alex Bennée
---
.gitlab-ci.d/container-cross.yml
On 26/08/2022 19.21, Alex Bennée wrote:
Update to the latest stable Debian. While we are at it flatten into a
single dockerfile. We really don't need the rest of the stuff from
the QEMU base image just to compile test images.
Signed-off-by: Alex Bennée
---
.gitlab-ci.d/container-cross.yml
On 26/08/2022 19.21, Alex Bennée wrote:
Update to the latest stable Debian. While we are at it flatten into a
single dockerfile. We really don't need the rest of the stuff from
the QEMU base image just to compile test images.
Signed-off-by: Alex Bennée
---
.gitlab-ci.d/container-cross.yml
On 26/08/2022 19.21, Alex Bennée wrote:
Update to the latest stable Debian. While we are at it flatten into a
single dockerfile. We really don't need the rest of the stuff from
the QEMU base image just to compile test images.
Signed-off-by: Alex Bennée
---
.gitlab-ci.d/container-cross.yml
On 26/08/2022 19.21, Alex Bennée wrote:
Update to the latest stable Debian. While we are at it flatten into a
single dockerfile. We really don't need the rest of the stuff from
the QEMU base image just to compile test images.
Signed-off-by: Alex Bennée
---
.gitlab-ci.d/container-cross.yml
Yikes no, the patch is obviously bogus.
Paolo
Il ven 26 ago 2022, 17:59 Philippe Mathieu-Daudé ha
scritto:
> Hi Paolo,
>
> On Fri, Aug 26, 2022 at 1:17 PM Paolo Bonzini wrote:
>
>> The KVM_DIRTY_GFN_F_DIRTY flag ensures that the entry is valid. If
>> the read of the fields are not ordered aft
On 26/08/2022 19.21, Alex Bennée wrote:
Flatten into a single dockerfile. We really don't need the rest of the
stuff from the QEMU base image just to compile test images.
Fair point. I wonder whether the image also loads faster this way? Anyway:
Reviewed-by: Thomas Huth
Il ven 26 ago 2022, 01:39 Richard Henderson
ha scritto:
> On 8/25/22 15:13, Paolo Bonzini wrote:
> > @@ -3112,6 +3165,7 @@ static void gen_sse(CPUX86State *env, DisasContext
> *s, int b,
> > {
> > int b1, op1_offset, op2_offset, is_xmm, val;
> > int modrm, mod, rm, reg;
> > +str
On 26/08/2022 19.21, Alex Bennée wrote:
We missed removing this dependency when we flattened the build.
Fixes: 39ce923732 (gitlab: enable a very minimal build with the tricore
container)
Signed-off-by: Alex Bennée
---
.gitlab-ci.d/container-cross.yml | 1 -
tests/docker/Makefile.include
On 26/08/2022 19.21, Alex Bennée wrote:
We missed removing this dependency when we flattened the build.
Fixes 9e19fd7d4a (tests/docker: update debian-amd64 with lcitool)
Signed-off-by: Alex Bennée
---
tests/docker/Makefile.include | 1 -
1 file changed, 1 deletion(-)
diff --git a/tests/dock
On 26/08/2022 19.21, Alex Bennée wrote:
The custom runner is now using 22.04 so we can drop our hacks to deal
with broken libssh and glusterfs. The provisioning scripts will be
updated in a separate commit.
Signed-off-by: Alex Bennée
---
.gitlab-ci.d/custom-runners.yml | 4 +--
On 8/26/22 15:56, BALATON Zoltan wrote:
On Fri, 26 Aug 2022, Daniel Henrique Barboza wrote:
This will enable support for 'dumpdtb' and 'info fdt' HMP commands for
the sam460ex machine.
This only works when booting with -kernel not when the firmware is used which
creates its own DT. (The sa
On 26/08/2022 19.21, Alex Bennée wrote:
It's becoming harder to maintain a cross-compiler to test this host
architecture as the old stable Debian 10 ("Buster") moved into LTS
which supports fewer architectures. For now:
- mark it's deprecation in the docs
- downgrade the containers to buil
On 26/08/2022 19.21, Alex Bennée wrote:
Flatten into a single dockerfile. We really don't need the rest of the
stuff from the QEMU base image just to compile test images.
You know that the debian11 base image is also just the bare minimum (in
contrast to the debian10 image that added quite a b
Fixes https://gitlab.com/qemu-project/qemu/-/issues/1118
r~
Richard Henderson (3):
target/avr: Call avr_cpu_do_interrupt directly
target/avr: Only execute one interrupt at a time
target/avr: Disable interrupts when env->skip set
target/avr/helper.c| 23 ++-
target/
This bit is not saved across interrupts, so we must
delay delivering the interrupt until the skip has
been processed.
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1118
Signed-off-by: Richard Henderson
---
target/avr/helper.c| 9 +
target/avr/translate.c | 26 +
There is no need to go through cc->tcg_ops when
we know what value that must have.
Signed-off-by: Richard Henderson
---
target/avr/helper.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/target/avr/helper.c b/target/avr/helper.c
index 82284f8997..9614ccf3e4 100644
--- a
We cannot deliver two interrupts simultaneously;
the first interrupt handler must execute first.
Signed-off-by: Richard Henderson
---
target/avr/helper.c | 9 +++--
1 file changed, 3 insertions(+), 6 deletions(-)
diff --git a/target/avr/helper.c b/target/avr/helper.c
index 9614ccf3e4..34f1c
Thomas Huth writes:
> On 26/08/2022 19.21, Alex Bennée wrote:
>> We missed removing this dependency when we flattened the build.
>> Fixes 9e19fd7d4a (tests/docker: update debian-amd64 with lcitool)
>> Signed-off-by: Alex Bennée
>> ---
>> tests/docker/Makefile.include | 1 -
>> 1 file change
This is the first half of Paul's series from last April, reorganized
to have no occurrence of YMM_ONLY or SHIFT == 2---meaning it can be
committed without much fuss, even without a plan for the implementation
of AVX decoding.
In most cases this is done by using loops that apply the same code for
a
Extracted from a patch by Paul Brook .
Signed-off-by: Paolo Bonzini
---
target/i386/tcg/translate.c | 7 ---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/target/i386/tcg/translate.c b/target/i386/tcg/translate.c
index 3237c1d8f9..25a2539d59 100644
--- a/target/i386/tcg/trans
From: Paul Brook
Add a flags field each row in sse_op_table1.
Initially this is only used as a replacement for the magic
SSE_SPECIAL and SSE_DUMMY pointers, the other flags are mostly
relevant for the AVX implementation but can be applied to SSE as well.
Signed-off-by: Paul Brook
Message-Id: <
Signed-off-by: Paolo Bonzini
---
target/i386/tcg/translate.c | 52 +++--
1 file changed, 33 insertions(+), 19 deletions(-)
diff --git a/target/i386/tcg/translate.c b/target/i386/tcg/translate.c
index 849c40b685..f174b1d986 100644
--- a/target/i386/tcg/translate.c
From: Paul Brook
Add a flags field each row in sse_op_table6 and sse_op_table7.
Initially this is only used as a replacement for the magic SSE41_SPECIAL
pointer. The other flags are mostly relevant for the AVX implementation
but can be applied to SSE as well.
Signed-off-by: Paul Brook
Message
From: Paul Brook
Add a convenience macro to get the address of an xmm_regs element within
CPUX86State.
This was originally going to be the basis of an implementation that broke
operations into 128 bit chunks. I scrapped that idea, so this is now a purely
cosmetic change. But I think a worthwhile
Put more flags to work to avoid hardcoding lists of opcodes. The op7 case
for SSE_OPF_CMP is included for homogeneity and because AVX needs it, but
it is never used by SSE or MMX.
Extracted from a patch by Paul Brook .
Signed-off-by: Paolo Bonzini
---
target/i386/tcg/translate.c | 75 +
From: Paul Brook
Reject invalid VEX encodings on MMX instructions.
Signed-off-by: Paul Brook
Reviewed-by: Richard Henderson
Message-Id: <20220424220204.2493824-7-p...@nowt.org>
Signed-off-by: Paolo Bonzini
---
target/i386/tcg/translate.c | 26 ++
1 file changed, 26 in
From: Paul Brook
Handle 3DNOW instructions early to avoid complicating the MMX/SSE logic.
Signed-off-by: Paul Brook
Message-Id: <20220424220204.2493824-25-p...@nowt.org>
Reviewed-by: Richard Henderson
Signed-off-by: Paolo Bonzini
---
target/i386/tcg/translate.c | 30 +
From: Paul Brook
Make the AES vector helpers AVX ready
No functional changes to existing helpers
Signed-off-by: Paul Brook
Message-Id: <20220424220204.2493824-22-p...@nowt.org>
Signed-off-by: Paolo Bonzini
---
target/i386/ops_sse.h | 49 +++
1 file cha
Write down explicitly the load/store sequence.
Extracted from a patch by Paul Brook .
Signed-off-by: Paolo Bonzini
---
target/i386/tcg/translate.c | 6 --
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/target/i386/tcg/translate.c b/target/i386/tcg/translate.c
index b7972f0ff5
From: Paul Brook
Rewrite the vector shift helpers in preperation for AVX support (3 operand
form and 256 bit vectors).
For now keep the existing two operand interface.
No functional changes to existing helpers.
Signed-off-by: Paul Brook
Message-Id: <20220424220204.2493824-11-p...@nowt.org>
Re
Use a union to store the various possible kinds of function pointers, and
access the correct one based on the flags.
SSEOpHelper_table6 and SSEOpHelper_table7 right now only have one case,
but this would change with AVX's 3- and 4-argument operations. Use
unions there too, to keep the code more s
For AVX we're going to need both 128 bit (xmm) and 256 bit (ymm) variants of
floating point helpers. Add the register type suffix to the existing
*PS and *PD helpers (SS and SD variants are only valid on 128 bit vectors)
No functional changes.
Signed-off-by: Paul Brook
Message-Id: <2022042422020
From: Paul Brook
More preparatory work for AVX support in various integer vector helpers
No functional changes to existing helpers.
Signed-off-by: Paul Brook
Message-Id: <20220424220204.2493824-13-p...@nowt.org>
Reviewed-by: Richard Henderson
Signed-off-by: Paolo Bonzini
---
target/i386/ops
From: Paul Brook
Fixup various vector helpers that either trivially exten to 256 bit,
or don't have 256 bit variants.
No functional changes to existing helpers
Signed-off-by: Paul Brook
Message-Id: <20220424220204.2493824-19-p...@nowt.org>
Reviewed-by: Richard Henderson
Signed-off-by: Paolo B
On 8/26/22 16:11, Paolo Bonzini wrote:
Extracted from a patch by Paul Brook.
Signed-off-by: Paolo Bonzini
---
target/i386/tcg/translate.c | 7 ---
1 file changed, 4 insertions(+), 3 deletions(-)
Reviewed-by: Richard Henderson
r~
From: Paul Brook
Perpare the horizontal atithmetic vector helpers for AVX
These currently use a dummy Reg typed variable to store the result then
assign the whole register. This will cause 128 bit operations to corrupt
the upper half of the register, so replace it with explicit temporaries
and e
From: Paul Brook
Rewrite the "simple" vector integer helpers in preperation for AVX support.
While the current code is able to use the same prototype for unary
(a = F(b)) and binary (a = F(b, c)) operations, future changes will cause
them to diverge.
No functional changes to existing helpers
S
From: Paul Brook
Prepare the "easy" floating point vector helpers for AVX
No functional changes to existing helpers.
Signed-off-by: Paul Brook
Message-Id: <20220424220204.2493824-16-p...@nowt.org>
Reviewed-by: Richard Henderson
Signed-off-by: Paolo Bonzini
---
target/i386/ops_sse.h | 138 ++
On 8/26/22 16:11, Paolo Bonzini wrote:
Signed-off-by: Paolo Bonzini
---
target/i386/tcg/translate.c | 52 +++--
1 file changed, 33 insertions(+), 19 deletions(-)
diff --git a/target/i386/tcg/translate.c b/target/i386/tcg/translate.c
index 849c40b685..f174b1d98
From: Paul Brook
These helpers need to take special care to avoid overwriting source values
before the wole result has been calculated. Currently they use a dummy
Reg typed variable to store the result then assign the whole register.
This will cause 128 bit operations to corrupt the upper half o
From: Paul Brook
AVX includes an additional set of comparison predicates, some of which
our softfloat implementation does not expose as separate functions.
Rewrite the helpers in terms of floatN_compare for future extensibility.
Signed-off-by: Paul Brook
Reviewed-by: Richard Henderson
Message-
On 8/26/22 16:11, Paolo Bonzini wrote:
Use a union to store the various possible kinds of function pointers, and
access the correct one based on the flags.
SSEOpHelper_table6 and SSEOpHelper_table7 right now only have one case,
but this would change with AVX's 3- and 4-argument operations. Use
From: Paul Brook
Make the dpps and dppd helpers AVX-ready
I can't see any obvious reason why dppd shouldn't work on 256 bit ymm
registers, but both AMD and Intel agree that it's xmm only.
Signed-off-by: Paul Brook
Message-Id: <20220424220204.2493824-17-p...@nowt.org>
Reviewed-by: Richard Hende
From: Paul Brook
Make the pclmulqdq helper AVX ready
Signed-off-by: Paul Brook
Message-Id: <20220424220204.2493824-21-p...@nowt.org>
Reviewed-by: Richard Henderson
Signed-off-by: Paolo Bonzini
---
target/i386/ops_sse.h | 29 ++---
1 file changed, 22 insertions(+), 7 d
On 8/26/22 16:11, Paolo Bonzini wrote:
Write down explicitly the load/store sequence.
Extracted from a patch by Paul Brook.
Signed-off-by: Paolo Bonzini
---
target/i386/tcg/translate.c | 6 --
1 file changed, 4 insertions(+), 2 deletions(-)
Reviewed-by: Richard Henderson
r~
From: Paul Brook
Rewrite the blendv helpers so that they can easily be extended to support
the AVX encodings, which make all 4 arguments explicit.
No functional changes to the existing helpers
Signed-off-by: Paul Brook
Message-Id: <20220424220204.2493824-20-p...@nowt.org>
Reviewed-by: Richard
On 8/26/22 16:11, Paolo Bonzini wrote:
Put more flags to work to avoid hardcoding lists of opcodes. The op7 case
for SSE_OPF_CMP is included for homogeneity and because AVX needs it, but
it is never used by SSE or MMX.
Extracted from a patch by Paul Brook.
Signed-off-by: Paolo Bonzini
---
ta
On 8/26/22 16:11, Paolo Bonzini wrote:
From: Paul Brook
These helpers need to take special care to avoid overwriting source values
before the wole result has been calculated. Currently they use a dummy
Reg typed variable to store the result then assign the whole register.
This will cause 128 b
201 - 300 of 309 matches
Mail list logo