<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bwlp/qemu.git/tests/tcg/x86_64, branch spice_video_codecs</title>
<subtitle>Experimental fork of QEMU with video encoding patches</subtitle>
<id>https://git.openslx.org/bwlp/qemu.git/atom/tests/tcg/x86_64?h=spice_video_codecs</id>
<link rel='self' href='https://git.openslx.org/bwlp/qemu.git/atom/tests/tcg/x86_64?h=spice_video_codecs'/>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/'/>
<updated>2022-11-14T23:34:42+00:00</updated>
<entry>
<title>target/i386: fix cmpxchg with 32-bit register destination</title>
<updated>2022-11-14T23:34:42+00:00</updated>
<author>
<name>Paolo Bonzini</name>
</author>
<published>2022-09-11T12:04:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=d1bb978ba1654ddc6e927621b554eebb216fb9dd'/>
<id>urn:sha1:d1bb978ba1654ddc6e927621b554eebb216fb9dd</id>
<content type='text'>
Unlike the memory case, where "the destination operand receives a write
cycle without regard to the result of the comparison", rm must not be
touched altogether if the write fails, including not zero-extending
it on 64-bit processors.  This is not how the movcond currently works,
because it is always followed by a gen_op_mov_reg_v to rm.

To fix it, introduce a new function that is similar to gen_op_mov_reg_v
but writes to a TCG temporary.

Considering that gen_extu(ot, oldv) is not needed in the memory case
either, the two cases for register and memory destinations are different
enough that one might as well fuse the two "if (mod == 3)" into one.
So do that too.

Resolves: https://gitlab.com/qemu-project/qemu/-/issues/508
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
[rth: Add a test case ]
Signed-off-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
</content>
</entry>
<entry>
<title>tests/tcg: clean up calls to run-test</title>
<updated>2022-10-06T10:53:40+00:00</updated>
<author>
<name>Paolo Bonzini</name>
</author>
<published>2022-09-29T11:42:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=c6cf8a20521c7114893042cb7c75866bd07838ae'/>
<id>urn:sha1:c6cf8a20521c7114893042cb7c75866bd07838ae</id>
<content type='text'>
Almost all invocations of run-test have either "$* on $(TARGET_NAME)"
or "$&lt; on $(TARGET_NAME)" as the last argument.  So provide a default
test name, while allowing an escape hatch for custom names.

As an additional simplification, remove the need to do shell quoting.

Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
Signed-off-by: Alex Bennée &lt;alex.bennee@linaro.org&gt;
Message-Id: &lt;20220929114231.583801-24-alex.bennee@linaro.org&gt;
</content>
</entry>
<entry>
<title>tests/tcg: i386: add MMX and 3DNow! tests</title>
<updated>2022-09-19T13:14:40+00:00</updated>
<author>
<name>Paolo Bonzini</name>
</author>
<published>2022-09-01T23:38:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=fa7ce0b0282300c8c06a6c6857949168ec31a762'/>
<id>urn:sha1:fa7ce0b0282300c8c06a6c6857949168ec31a762</id>
<content type='text'>
Adjust the test-avx.py generator to produce tests specifically for
MMX and 3DNow.  Using a separate generator introduces some code
duplication, but is a simpler approach because of test-avx's extra
complexity to support 3- and 4-operand AVX instructions.

If needed, a common library can be introduced later.

While at it, for consistency move all the -cpu max rules to the
same place.

Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
</content>
</entry>
<entry>
<title>target/i386: Make translator stop before the end of a page</title>
<updated>2022-09-06T07:04:26+00:00</updated>
<author>
<name>Ilya Leoshkevich</name>
</author>
<published>2022-08-17T15:05:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=950936681f322a5ba2813f83eb44dd972be2d5a3'/>
<id>urn:sha1:950936681f322a5ba2813f83eb44dd972be2d5a3</id>
<content type='text'>
Right now translator stops right *after* the end of a page, which
breaks reporting of fault locations when the last instruction of a
multi-insn translation block crosses a page boundary.

An implementation, like the one arm and s390x have, would require an
i386 length disassembler, which is burdensome to maintain. Another
alternative would be to single-step at the end of a guest page, but
this may come with a performance impact.

Fix by snapshotting disassembly state and restoring it after we figure
out we crossed a page boundary. This includes rolling back cc_op
updates and emitted ops.

Signed-off-by: Ilya Leoshkevich &lt;iii@linux.ibm.com&gt;
Reviewed-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1143
Message-Id: &lt;20220817150506.592862-4-iii@linux.ibm.com&gt;
[rth: Simplify end-of-insn cross-page checks.]
Signed-off-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
</content>
</entry>
<entry>
<title>tests/tcg: i386: add SSE tests</title>
<updated>2022-09-01T18:16:33+00:00</updated>
<author>
<name>Paul Brook</name>
</author>
<published>2022-04-24T22:02:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=91117bc546b10aeefd6d78502d82df5729f5f780'/>
<id>urn:sha1:91117bc546b10aeefd6d78502d82df5729f5f780</id>
<content type='text'>
Tests for correct operation of most x86-64 SSE instructions.
It should cover all combinations of overlapping register and memory
operands on a set of random-ish data.

Results are bit-identical to an Intel i5-8500, with the exception of
the RCPSS and RSQRT approximations where the real CPU gives less accurate
results (the Intel spec allows relative errors up to 1.5 * 2^-12)

Signed-off-by: Paul Brook &lt;paul@nowt.org&gt;
Acked-by: Alex Bennée &lt;alex.bennee@linaro.org&gt;
Message-Id: &lt;20220424220204.2493824-42-paul@nowt.org&gt;
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
</content>
</entry>
<entry>
<title>tests/tcg: x86_64: improve consistency with i386</title>
<updated>2022-09-01T06:37:04+00:00</updated>
<author>
<name>Paolo Bonzini</name>
</author>
<published>2022-08-25T12:27:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=9e8504c0572de7a6d91e95738beaf18ffada1cf2'/>
<id>urn:sha1:9e8504c0572de7a6d91e95738beaf18ffada1cf2</id>
<content type='text'>
Include test-i386-bmi2, and specify manually the tests (only one for now)
that need -cpu max.

Reviewed-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
</content>
</entry>
<entry>
<title>Fix 'writeable' typos</title>
<updated>2022-06-08T18:38:47+00:00</updated>
<author>
<name>Peter Maydell</name>
</author>
<published>2022-06-08T18:38:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=9323e79f10e5f5d8fffc3b307776173ca11faeae'/>
<id>urn:sha1:9323e79f10e5f5d8fffc3b307776173ca11faeae</id>
<content type='text'>
We have about 30 instances of the typo/variant spelling 'writeable',
and over 500 of the more common 'writable'.  Standardize on the
latter.

Change produced with:

  sed -i -e 's/\([Ww][Rr][Ii][Tt]\)[Ee]\([Aa][Bb][Ll][Ee]\)/\1\2/g' $(git grep -il writeable)

and then hand-undoing the instance in linux-headers/linux/kvm.h.

Most of these changes are in comments or documentation; the
exceptions are:
 * a local variable in accel/hvf/hvf-accel-ops.c
 * a local variable in accel/kvm/kvm-all.c
 * the PMCR_WRITABLE_MASK macro in target/arm/internals.h
 * the EPT_VIOLATION_GPA_WRITABLE macro in target/i386/hvf/vmcs.h
   (which is never used anywhere)
 * the AR_TYPE_WRITABLE_MASK macro in target/i386/hvf/vmx.h
   (which is never used anywhere)

Signed-off-by: Peter Maydell &lt;peter.maydell@linaro.org&gt;
Reviewed-by: Philippe Mathieu-Daudé &lt;f4bug@amsat.org&gt;
Reviewed-by: Stefan Weil &lt;sw@weilnetz.de&gt;
Message-id: 20220505095015.2714666-1-peter.maydell@linaro.org
</content>
</entry>
<entry>
<title>tests/tcg: add missing reference files for float_convs</title>
<updated>2022-04-20T15:04:20+00:00</updated>
<author>
<name>Alex Bennée</name>
</author>
<published>2022-04-19T09:10:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=f9caa8feea9d5acd1a6dc02b626f82a149b4b94e'/>
<id>urn:sha1:f9caa8feea9d5acd1a6dc02b626f82a149b4b94e</id>
<content type='text'>
We might as well include a reference file for i386/x86_64. I was going
to include s390x as well but it's broken hence I raised:

  https://gitlab.com/qemu-project/qemu/-/issues/979.

Signed-off-by: Alex Bennée &lt;alex.bennee@linaro.org&gt;
Message-Id: &lt;20220419091020.3008144-24-alex.bennee@linaro.org&gt;
</content>
</entry>
<entry>
<title>tests/tcg: add float_convd test</title>
<updated>2022-04-20T15:04:20+00:00</updated>
<author>
<name>Alex Bennée</name>
</author>
<published>2022-04-19T09:10:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=2931014c3ddd87b0dcb98788b5d50abee775bcea'/>
<id>urn:sha1:2931014c3ddd87b0dcb98788b5d50abee775bcea</id>
<content type='text'>
This is a simple transliteration of the float_convs test but this time
working with doubles. I'm used it to test the handling of vector
registers in gdbstub but wasn't able to find a non-ugly way to
automate it.

Signed-off-by: Alex Bennée &lt;alex.bennee@linaro.org&gt;
Reviewed-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
Message-Id: &lt;20220419091020.3008144-23-alex.bennee@linaro.org&gt;
</content>
</entry>
<entry>
<title>tests/tcg: remove duplicate sha512-sse case</title>
<updated>2022-04-20T15:04:20+00:00</updated>
<author>
<name>Alex Bennée</name>
</author>
<published>2022-04-19T09:10:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=9730a27ef43d676807b8a0e84f2eff8124125902'/>
<id>urn:sha1:9730a27ef43d676807b8a0e84f2eff8124125902</id>
<content type='text'>
We already generate the sha512-sse case in the i386 makefile which
works for both i386 and x86_64.

Signed-off-by: Alex Bennée &lt;alex.bennee@linaro.org&gt;
Fixes: f8a4c6d728 ("tests/tcg: add vectorised sha512 versions")
Reviewed-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
Message-Id: &lt;20220419091020.3008144-22-alex.bennee@linaro.org&gt;
</content>
</entry>
</feed>
