<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bwlp/qemu.git/target/ppc/internal.h, branch spice_video_codecs</title>
<subtitle>Experimental fork of QEMU with video encoding patches</subtitle>
<id>https://git.openslx.org/bwlp/qemu.git/atom/target/ppc/internal.h?h=spice_video_codecs</id>
<link rel='self' href='https://git.openslx.org/bwlp/qemu.git/atom/target/ppc/internal.h?h=spice_video_codecs'/>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/'/>
<updated>2022-07-28T16:30:41+00:00</updated>
<entry>
<title>target/ppc: Implement new wait variants</title>
<updated>2022-07-28T16:30:41+00:00</updated>
<author>
<name>Nicholas Piggin</name>
</author>
<published>2022-07-20T13:33:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=0c9717ff35d2fe46fa9cb91566fe2afbed9f4f2a'/>
<id>urn:sha1:0c9717ff35d2fe46fa9cb91566fe2afbed9f4f2a</id>
<content type='text'>
ISA v2.06 adds new variations of wait, specified by the WC field. These
are not all compatible with the prior wait implementation, because they
add additional conditions that cause the processor to resume, which can
cause software to hang or run very slowly.

At this moment, with the current wait implementation and a pseries guest
using mainline kernel with new wait upcodes [1], QEMU hangs during boot if
more than one CPU is present:

 qemu-system-ppc64 -M pseries,x-vof=on -cpu POWER10 -smp 2 -nographic
-kernel zImage.pseries -no-reboot

QEMU will exit (as there's no filesystem) if the test "passes", or hang
during boot if it hits the bug.

ISA v3.0 changed the wait opcode and removed the new variants (retaining
the WC field but making non-zero values reserved).

ISA v3.1 added new WC values to the new wait opcode, and added a PL
field.

This patch implements the new wait encoding and supports WC variants
with no-op implementations, which provides basic correctness as
explained in comments.

[1] https://lore.kernel.org/all/20220720132132.903462-1-npiggin@gmail.com/

Signed-off-by: Nicholas Piggin &lt;npiggin@gmail.com&gt;
Reviewed-by: Víctor Colombo &lt;victor.colombo@eldorado.org.br&gt;
Tested-by: Joel Stanley &lt;joel@jms.id.au&gt;
Reviewed-by: Daniel Henrique Barboza &lt;danielhb413@gmail.com&gt;
Message-Id: &lt;20220720133352.904263-1-npiggin@gmail.com&gt;
[danielhb: added information about the bug being fixed]
Signed-off-by: Daniel Henrique Barboza &lt;danielhb413@gmail.com&gt;
</content>
</entry>
<entry>
<title>target/ppc: Move mffscrn[i] to decodetree</title>
<updated>2022-07-06T13:22:38+00:00</updated>
<author>
<name>Víctor Colombo</name>
</author>
<published>2022-06-29T16:28:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=bf8adfd88b547680aa857c46098f3a1e94373160'/>
<id>urn:sha1:bf8adfd88b547680aa857c46098f3a1e94373160</id>
<content type='text'>
Signed-off-by: Víctor Colombo &lt;victor.colombo@eldorado.org.br&gt;
Reviewed-by: Matheus Ferst &lt;matheus.ferst@eldorado.org.br&gt;
Message-Id: &lt;20220629162904.105060-3-victor.colombo@eldorado.org.br&gt;
Signed-off-by: Daniel Henrique Barboza &lt;danielhb413@gmail.com&gt;
</content>
</entry>
<entry>
<title>target/ppc: Implemented xvi*ger* instructions</title>
<updated>2022-05-26T20:11:33+00:00</updated>
<author>
<name>Lucas Mateus Castro (alqotel)</name>
</author>
<published>2022-05-24T14:05:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=345531533f26df49e74f16dafc88408408173ece'/>
<id>urn:sha1:345531533f26df49e74f16dafc88408408173ece</id>
<content type='text'>
Implement the following PowerISA v3.1 instructions:
xvi4ger8:     VSX Vector 8-bit Signed/Unsigned Integer GER (rank-4 update)
xvi4ger8pp:   VSX Vector 8-bit Signed/Unsigned Integer GER (rank-4 update)
Positive multiply, Positive accumulate
xvi8ger4:     VSX Vector 4-bit Signed Integer GER (rank-8 update)
xvi8ger4pp:   VSX Vector 4-bit Signed Integer GER (rank-8 update)
Positive multiply, Positive accumulate
xvi8ger4spp:  VSX Vector 8-bit Signed/Unsigned Integer GER (rank-4 update)
with Saturate Positive multiply, Positive accumulate
xvi16ger2:    VSX Vector 16-bit Signed Integer GER (rank-2 update)
xvi16ger2pp:  VSX Vector 16-bit Signed Integer GER (rank-2 update)
Positive multiply, Positive accumulate
xvi16ger2s:   VSX Vector 16-bit Signed Integer GER (rank-2 update)
with Saturation
xvi16ger2spp: VSX Vector 16-bit Signed Integer GER (rank-2 update)
with Saturation Positive multiply, Positive accumulate

Signed-off-by: Lucas Mateus Castro (alqotel) &lt;lucas.araujo@eldorado.org.br&gt;
Reviewed-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
Message-Id: &lt;20220524140537.27451-3-lucas.araujo@eldorado.org.br&gt;
Signed-off-by: Daniel Henrique Barboza &lt;danielhb413@gmail.com&gt;
</content>
</entry>
<entry>
<title>compiler.h: replace QEMU_NORETURN with G_NORETURN</title>
<updated>2022-04-21T13:03:51+00:00</updated>
<author>
<name>Marc-André Lureau</name>
</author>
<published>2022-04-20T13:26:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=8905770b27be326d12a704629f3cb715642db6cc'/>
<id>urn:sha1:8905770b27be326d12a704629f3cb715642db6cc</id>
<content type='text'>
G_NORETURN was introduced in glib 2.68, fallback to G_GNUC_NORETURN in
glib-compat.

Note that this attribute must be placed before the function declaration
(bringing a bit of consistency in qemu codebase usage).

Signed-off-by: Marc-André Lureau &lt;marcandre.lureau@redhat.com&gt;
Reviewed-by: Daniel P. Berrangé &lt;berrange@redhat.com&gt;
Reviewed-by: Warner Losh &lt;imp@bsdimp.com&gt;
Message-Id: &lt;20220420132624.2439741-20-marcandre.lureau@redhat.com&gt;
</content>
</entry>
<entry>
<title>target/ppc: Restrict ppc_cpu_do_unaligned_access to sysemu</title>
<updated>2021-11-02T11:00:52+00:00</updated>
<author>
<name>Richard Henderson</name>
</author>
<published>2021-10-04T22:07:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=996473e4a93d6a6fe0b324afacf398a5a97955d7'/>
<id>urn:sha1:996473e4a93d6a6fe0b324afacf398a5a97955d7</id>
<content type='text'>
This is not used by, nor required by, user-only.

Reviewed-by: Warner Losh &lt;imp@bsdimp.com&gt;
Reviewed-by: Philippe Mathieu-Daudé &lt;f4bug@amsat.org&gt;
Signed-off-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
</content>
</entry>
<entry>
<title>target/ppc: Implement ppc_cpu_record_sigsegv</title>
<updated>2021-11-02T11:00:52+00:00</updated>
<author>
<name>Richard Henderson</name>
</author>
<published>2021-09-18T13:37:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=1db8af5c87ef5c89ecdb9e2d2620cd38cfbca940'/>
<id>urn:sha1:1db8af5c87ef5c89ecdb9e2d2620cd38cfbca940</id>
<content type='text'>
Record DAR, DSISR, and exception_index.  That last means
that we must exit to cpu_loop ourselves, instead of letting
exception_index being overwritten.

This is exactly what the user-mode ppc_cpu_tlb_fill does,
so simply rename it as ppc_cpu_record_sigsegv.

Reviewed-by: Warner Losh &lt;imp@bsdimp.com&gt;
Reviewed-by: Philippe Mathieu-Daudé &lt;f4bug@amsat.org&gt;
Signed-off-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
</content>
</entry>
<entry>
<title>hw/core: Make do_unaligned_access noreturn</title>
<updated>2021-09-22T02:36:44+00:00</updated>
<author>
<name>Richard Henderson</name>
</author>
<published>2021-07-29T20:45:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=fa947a667fceab02f9f85fc99f54aebcc9ae6b51'/>
<id>urn:sha1:fa947a667fceab02f9f85fc99f54aebcc9ae6b51</id>
<content type='text'>
While we may have had some thought of allowing system-mode
to return from this hook, we have no guests that require this.

Reviewed-by: Alistair Francis &lt;alistair.francis@wdc.com&gt;
Reviewed-by: Alex Bennée &lt;alex.bennee@linaro.org&gt;
Reviewed-by: Philippe Mathieu-Daudé &lt;f4bug@amsat.org&gt;
Signed-off-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
</content>
</entry>
<entry>
<title>target/ppc: divided mmu_helper.c in 2 files</title>
<updated>2021-08-27T02:41:13+00:00</updated>
<author>
<name>Lucas Mateus Castro (alqotel)</name>
</author>
<published>2021-07-23T17:56:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=5118ebe8396d2b98217b3d4719e3a420dfb0a929'/>
<id>urn:sha1:5118ebe8396d2b98217b3d4719e3a420dfb0a929</id>
<content type='text'>
Divided mmu_helper.c in 2 files, functions inside #ifdef CONFIG_SOFTMMU
stayed in mmu_helper.c, other functions moved to mmu_common.c. Updated
meson.build to compile mmu_common.c and only compile mmu_helper.c when
CONFIG_TCG is set.
Moved function declarations, #define and structs used by both files to
internal.h except for functions that use structures defined in cpu.h,
those were moved to cpu.h.

Signed-off-by: Lucas Mateus Castro (alqotel) &lt;lucas.araujo@eldorado.org.br&gt;
Message-Id: &lt;20210723175627.72847-2-lucas.araujo@eldorado.org.br&gt;
Signed-off-by: David Gibson &lt;david@gibson.dropbear.id.au&gt;
</content>
</entry>
<entry>
<title>target/ppc: removed all mentions to PPC_DUMP_CPU</title>
<updated>2021-06-03T08:10:31+00:00</updated>
<author>
<name>Bruno Larsen (billionai)</name>
</author>
<published>2021-05-31T14:56:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=1a1c9a00f390e236eab910fdf0ab08df0be08890'/>
<id>urn:sha1:1a1c9a00f390e236eab910fdf0ab08df0be08890</id>
<content type='text'>
This feature will no longer be useful as ppc moves to using decodetree
for TCG. And building with it enabled is no longer possible, due to
changes in opc_handler_t. Since the last commit that mentions it
happened in 2014, I think it is safe to remove it.

Signed-off-by: Bruno Larsen (billionai) &lt;bruno.larsen@eldorado.org.br&gt;
Message-Id: &lt;20210531145629.21300-5-bruno.larsen@eldorado.org.br&gt;
Reviewed-by: Luis Pires &lt;luis.pires@eldorado.org.br&gt;
Reviewed-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
Signed-off-by: David Gibson &lt;david@gibson.dropbear.id.au&gt;
</content>
</entry>
<entry>
<title>target/ppc: Introduce prot_for_access_type</title>
<updated>2021-05-19T02:50:47+00:00</updated>
<author>
<name>Richard Henderson</name>
</author>
<published>2021-05-18T20:11:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=182357dbb6989a175d2a653c9edcd5422c651922'/>
<id>urn:sha1:182357dbb6989a175d2a653c9edcd5422c651922</id>
<content type='text'>
Use this in the three places we currently have a local array
indexed by rwx (which happens to have the same values).
The types will match up correctly with additional changes.

Signed-off-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
Message-Id: &lt;20210518201146.794854-2-richard.henderson@linaro.org&gt;
Signed-off-by: David Gibson &lt;david@gibson.dropbear.id.au&gt;
</content>
</entry>
</feed>
