<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bwlp/qemu.git/target/s390x/arch_dump.c, 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/s390x/arch_dump.c?h=spice_video_codecs</id>
<link rel='self' href='https://git.openslx.org/bwlp/qemu.git/atom/target/s390x/arch_dump.c?h=spice_video_codecs'/>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/'/>
<updated>2022-10-26T08:54:59+00:00</updated>
<entry>
<title>s390x: pv: Add dump support</title>
<updated>2022-10-26T08:54:59+00:00</updated>
<author>
<name>Janosch Frank</name>
</author>
<published>2022-10-17T08:38:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=113d8f4e95cf0450bea421263de6ec016c779ad0'/>
<id>urn:sha1:113d8f4e95cf0450bea421263de6ec016c779ad0</id>
<content type='text'>
Sometimes dumping a guest from the outside is the only way to get the
data that is needed. This can be the case if a dumping mechanism like
KDUMP hasn't been configured or data needs to be fetched at a specific
point. Dumping a protected guest from the outside without help from
fw/hw doesn't yield sufficient data to be useful. Hence we now
introduce PV dump support.

The PV dump support works by integrating the firmware into the dump
process. New Ultravisor calls are used to initiate the dump process,
dump cpu data, dump memory state and lastly complete the dump process.
The UV calls are exposed by KVM via the new KVM_PV_DUMP command and
its subcommands. The guest's data is fully encrypted and can only be
decrypted by the entity that owns the customer communication key for
the dumped guest. Also dumping needs to be allowed via a flag in the
SE header.

On the QEMU side of things we store the PV dump data in the newly
introduced architecture ELF sections (storage state and completion
data) and the cpu notes (for cpu dump data).

Users can use the zgetdump tool to convert the encrypted QEMU dump to an
unencrypted one.

Signed-off-by: Janosch Frank &lt;frankja@linux.ibm.com&gt;
Reviewed-by: Steffen Eiden &lt;seiden@linux.ibm.com&gt;
Message-Id: &lt;20221017083822.43118-11-frankja@linux.ibm.com&gt;
</content>
</entry>
<entry>
<title>dump: Replace opaque DumpState pointer with a typed one</title>
<updated>2022-10-06T15:30:43+00:00</updated>
<author>
<name>Janosch Frank</name>
</author>
<published>2022-08-11T12:10:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=1af0006ab959864dfa2f59e9136c5fb93000b61f'/>
<id>urn:sha1:1af0006ab959864dfa2f59e9136c5fb93000b61f</id>
<content type='text'>
It's always better to convey the type of a pointer if at all
possible. So let's add the DumpState typedef to typedefs.h and move
the dump note functions from the opaque pointers to DumpState
pointers.

Signed-off-by: Janosch Frank &lt;frankja@linux.ibm.com&gt;
CC: Peter Maydell &lt;peter.maydell@linaro.org&gt;
CC: Cédric Le Goater &lt;clg@kaod.org&gt;
CC: Daniel Henrique Barboza &lt;danielhb413@gmail.com&gt;
CC: David Gibson &lt;david@gibson.dropbear.id.au&gt;
CC: Greg Kurz &lt;groug@kaod.org&gt;
CC: Palmer Dabbelt &lt;palmer@dabbelt.com&gt;
CC: Alistair Francis &lt;alistair.francis@wdc.com&gt;
CC: Bin Meng &lt;bin.meng@windriver.com&gt;
CC: Cornelia Huck &lt;cohuck@redhat.com&gt;
CC: Thomas Huth &lt;thuth@redhat.com&gt;
CC: Richard Henderson &lt;richard.henderson@linaro.org&gt;
CC: David Hildenbrand &lt;david@redhat.com&gt;
Acked-by: Daniel Henrique Barboza &lt;danielhb413@gmail.com&gt;
Reviewed-by: Marc-André Lureau &lt;marcandre.lureau@redhat.com&gt;
Message-Id: &lt;20220811121111.9878-2-frankja@linux.ibm.com&gt;
</content>
</entry>
<entry>
<title>target/s390x: rename internal.h to s390x-internal.h</title>
<updated>2021-07-07T12:01:56+00:00</updated>
<author>
<name>Cho, Yu-Chen</name>
</author>
<published>2021-07-07T10:53:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=b6b4722307f31491ee553c674ded2a8bba6173e1'/>
<id>urn:sha1:b6b4722307f31491ee553c674ded2a8bba6173e1</id>
<content type='text'>
The internal.h file is renamed to s390x-internal.h, because of the
risk of collision with other files with the same name.

Signed-off-by: Claudio Fontana &lt;cfontana@suse.de&gt;
Signed-off-by: Cho, Yu-Chen &lt;acho@suse.com&gt;
Acked-by: David Hildenbrand &lt;david@redhat.com&gt;
Acked-by: Cornelia Huck &lt;cohuck@redhat.com&gt;
Reviewed-by: Thomas Huth &lt;thuth@redhat.com&gt;
Message-Id: &lt;20210707105324.23400-7-acho@suse.com&gt;
Signed-off-by: Cornelia Huck &lt;cohuck@redhat.com&gt;
</content>
</entry>
<entry>
<title>target/s390x/arch_dump: Fix warning for the name field in the PT_NOTE section</title>
<updated>2021-03-04T10:23:35+00:00</updated>
<author>
<name>Thomas Huth</name>
</author>
<published>2021-02-05T09:39:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=ea1b90b4fcb1230b2c85f3fd4ee09a84ddca7a6f'/>
<id>urn:sha1:ea1b90b4fcb1230b2c85f3fd4ee09a84ddca7a6f</id>
<content type='text'>
There is a compiler warning with GCC 9.3 when compiling with
the -fsanitize=thread compiler flag:

 In function 'strncpy',
    inlined from 's390x_write_elf64_notes' at ../target/s390x/arch_dump.c:219:9:
 /usr/include/x86_64-linux-gnu/bits/string_fortified.h:106:10: error:
  '__builtin_strncpy' specified bound 8 equals destination size
  [-Werror=stringop-truncation]

Since the name should always be NUL-terminated, let's use g_strlcpy() to
silence this warning. And while we're at it, also add an assert() to make
sure that the provided names always fit the size field (which is fine for
the current callers, the function is called once with "CORE" and once with
"LINUX" as a name).

Signed-off-by: Thomas Huth &lt;thuth@redhat.com&gt;
Reviewed-by: Christian Borntraeger &lt;borntraeger@de.ibm.com&gt;
Message-Id: &lt;20210205093921.848260-1-thuth@redhat.com&gt;
Signed-off-by: Cornelia Huck &lt;cohuck@redhat.com&gt;
</content>
</entry>
<entry>
<title>s390x: Use uint64_t for vector registers</title>
<updated>2019-06-07T12:53:25+00:00</updated>
<author>
<name>David Hildenbrand</name>
</author>
<published>2019-05-29T07:15:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=4f83d7d2121a8b4cce59c06f7d74c47cdedd79eb'/>
<id>urn:sha1:4f83d7d2121a8b4cce59c06f7d74c47cdedd79eb</id>
<content type='text'>
CPU_DoubleU is primarily used to reinterpret between integer and floats.
We don't really need this functionality. So let's just keep it simple
and use an uint64_t.

Reviewed-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
Signed-off-by: David Hildenbrand &lt;david@redhat.com&gt;
</content>
</entry>
<entry>
<title>compiler: add a sizeof_field() macro</title>
<updated>2018-06-27T12:01:40+00:00</updated>
<author>
<name>Stefan Hajnoczi</name>
</author>
<published>2018-06-14T16:44:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=f18793b096e69c7acfce66cded483ba9fc01762a'/>
<id>urn:sha1:f18793b096e69c7acfce66cded483ba9fc01762a</id>
<content type='text'>
Determining the size of a field is useful when you don't have a struct
variable handy.  Open-coding this is ugly.

This patch adds the sizeof_field() macro, which is similar to
typeof_field().  Existing instances are updated to use the macro.

Signed-off-by: Stefan Hajnoczi &lt;stefanha@redhat.com&gt;
Reviewed-by: John Snow &lt;jsnow@redhat.com&gt;
Message-id: 20180614164431.29305-1-stefanha@redhat.com
Signed-off-by: Stefan Hajnoczi &lt;stefanha@redhat.com&gt;
</content>
</entry>
<entry>
<title>exec,dump,i386,ppc,s390x: don't include exec/cpu-all.h explicitly</title>
<updated>2017-09-19T16:21:33+00:00</updated>
<author>
<name>David Hildenbrand</name>
</author>
<published>2017-09-13T13:23:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=7f579e272f25ec24f8bfeae4a55f9e4f3de461a9'/>
<id>urn:sha1:7f579e272f25ec24f8bfeae4a55f9e4f3de461a9</id>
<content type='text'>
All but a handful of files include exec/cpu-all.h via cpu.h only.
As these files already include cpu.h, let's just drop the additional
include.

Reviewed-by: Thomas Huth &lt;thuth@redhat.com&gt;
Signed-off-by: David Hildenbrand &lt;david@redhat.com&gt;
Message-Id: &lt;20170913132417.24384-2-david@redhat.com&gt;
Signed-off-by: Cornelia Huck &lt;cohuck@redhat.com&gt;
</content>
</entry>
<entry>
<title>target/s390x: introduce internal.h</title>
<updated>2017-08-30T16:23:25+00:00</updated>
<author>
<name>David Hildenbrand</name>
</author>
<published>2017-08-18T11:43:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=4e58b838dd2028988fb932a96e3e907df8b5e59f'/>
<id>urn:sha1:4e58b838dd2028988fb932a96e3e907df8b5e59f</id>
<content type='text'>
cpu.h should only contain what really has to be accessed outside of
target/s390x/. Add internal.h which can only be used inside target/s390x/.

Move everything that isn't fast enough to run away and restructure it
right away. We'll move all kvm_* stuff later.

Minor style fixes to avoid checkpatch warning to:
- struct Lowcore: "{" goes into same line as typedef
- struct LowCore: add spaces around "-" in array length calculations
- time2tod() and tod2time(): move "{" to separate line
- get_per_atmid(): add space between ")" and "?". Move cases by one char.
- get_per_atmid(): drop extra paremthesis around (1 &lt;&lt; 6)

Change license of new file to GPL2+ and keep copyright notice.

Reviewed-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
Reviewed-by: Thomas Huth &lt;thuth@redhat.com&gt;
Reviewed-by: Philippe Mathieu-Daudé &lt;f4bug@amsat.org&gt;
Signed-off-by: David Hildenbrand &lt;david@redhat.com&gt;
Message-Id: &lt;20170818114353.13455-15-david@redhat.com&gt;
Signed-off-by: Cornelia Huck &lt;cohuck@redhat.com&gt;
</content>
</entry>
<entry>
<title>s390x: drop inclusion of sysemu/kvm.h from some files</title>
<updated>2017-08-30T16:23:25+00:00</updated>
<author>
<name>David Hildenbrand</name>
</author>
<published>2017-08-18T11:43:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=e654ca84b6c39678f5d1478de6662920976e21dd'/>
<id>urn:sha1:e654ca84b6c39678f5d1478de6662920976e21dd</id>
<content type='text'>
s390-stattrib.c needs definition of TARGET_PAGE_SIZE, solve it via cpu.h.

Signed-off-by: David Hildenbrand &lt;david@redhat.com&gt;
Message-Id: &lt;20170818114353.13455-8-david@redhat.com&gt;
Signed-off-by: Cornelia Huck &lt;cohuck@redhat.com&gt;
</content>
</entry>
<entry>
<title>s390x/arch_dump: also dump guarded storage control block</title>
<updated>2017-07-14T10:29:49+00:00</updated>
<author>
<name>Christian Borntraeger</name>
</author>
<published>2017-03-08T09:36:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=21a106904b5336b6ea60c22a95feb7d61c664d7f'/>
<id>urn:sha1:21a106904b5336b6ea60c22a95feb7d61c664d7f</id>
<content type='text'>
Write the new note section of type 30b (guarded storage control block).

Signed-off-by: Christian Borntraeger &lt;borntraeger@de.ibm.com&gt;
</content>
</entry>
</feed>
