<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bwlp/qemu.git/accel/hvf, branch master</title>
<subtitle>Experimental fork of QEMU with video encoding patches</subtitle>
<id>https://git.openslx.org/bwlp/qemu.git/atom/accel/hvf?h=master</id>
<link rel='self' href='https://git.openslx.org/bwlp/qemu.git/atom/accel/hvf?h=master'/>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/'/>
<updated>2022-06-08T18:38:47+00:00</updated>
<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>Remove qemu-common.h include from most units</title>
<updated>2022-04-06T12:31:55+00:00</updated>
<author>
<name>Marc-André Lureau</name>
</author>
<published>2022-03-23T15:57:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=0f9668e0c197ab6de95f61a906703a1d127c11f8'/>
<id>urn:sha1:0f9668e0c197ab6de95f61a906703a1d127c11f8</id>
<content type='text'>
Signed-off-by: Marc-André Lureau &lt;marcandre.lureau@redhat.com&gt;
Message-Id: &lt;20220323155743.1585078-33-marcandre.lureau@redhat.com&gt;
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
</content>
</entry>
<entry>
<title>Replace qemu_real_host_page variables with inlined functions</title>
<updated>2022-04-06T08:50:38+00:00</updated>
<author>
<name>Marc-André Lureau</name>
</author>
<published>2022-03-23T15:57:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=8e3b0cbb7212a1e5707ed2d4c26b4e3d2483768d'/>
<id>urn:sha1:8e3b0cbb7212a1e5707ed2d4c26b4e3d2483768d</id>
<content type='text'>
Replace the global variables with inlined helper functions. getpagesize() is very
likely annotated with a "const" function attribute (at least with glibc), and thus
optimization should apply even better.

This avoids the need for a constructor initialization too.

Signed-off-by: Marc-André Lureau &lt;marcandre.lureau@redhat.com&gt;
Message-Id: &lt;20220323155743.1585078-12-marcandre.lureau@redhat.com&gt;
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
</content>
</entry>
<entry>
<title>hvf: Avoid mapping regions &lt; PAGE_SIZE as ram</title>
<updated>2021-11-02T14:57:27+00:00</updated>
<author>
<name>Alexander Graf</name>
</author>
<published>2021-10-25T13:21:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=a443c3e225ea78f316f01a12a2fb1d55671e8256'/>
<id>urn:sha1:a443c3e225ea78f316f01a12a2fb1d55671e8256</id>
<content type='text'>
HVF has generic memory listener code that adds all RAM regions as HVF RAM
regions. However, HVF can only handle page aligned, page granule regions.

So let's ignore regions that are not page aligned and sized. They will be
trapped as MMIO instead.

Signed-off-by: Alexander Graf &lt;agraf@csgraf.de&gt;

Reviewed-by: Philippe Mathieu-Daudé &lt;philmd@redhat.com&gt;
Message-Id: &lt;20211025132147.28308-1-agraf@csgraf.de&gt;
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
</content>
</entry>
<entry>
<title>hvf: Determine slot count from struct layout</title>
<updated>2021-10-13T08:47:49+00:00</updated>
<author>
<name>Alexander Graf</name>
</author>
<published>2021-10-08T05:46:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=dec490db8b5c98d60814d07c23ddf70708a56d6e'/>
<id>urn:sha1:dec490db8b5c98d60814d07c23ddf70708a56d6e</id>
<content type='text'>
We can handle up to a static amount of memory slots, capped by the size of
an internal array.

Let's make sure that array size is the only source of truth for the number
of elements in that array.

Signed-off-by: Alexander Graf &lt;agraf@csgraf.de&gt;
Reviewed-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
Message-Id: &lt;20211008054616.43828-1-agraf@csgraf.de&gt;
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
</content>
</entry>
<entry>
<title>memory: Name all the memory listeners</title>
<updated>2021-09-30T13:30:24+00:00</updated>
<author>
<name>Peter Xu</name>
</author>
<published>2021-08-17T01:35:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=142518bda515c132a46ce5826e73fbd2a5b154d9'/>
<id>urn:sha1:142518bda515c132a46ce5826e73fbd2a5b154d9</id>
<content type='text'>
Provide a name field for all the memory listeners.  It can be used to identify
which memory listener is which.

Signed-off-by: Peter Xu &lt;peterx@redhat.com&gt;
Reviewed-by: David Hildenbrand &lt;david@redhat.com&gt;
Message-Id: &lt;20210817013553.30584-2-peterx@redhat.com&gt;
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
</content>
</entry>
<entry>
<title>arm/hvf: Add a WFI handler</title>
<updated>2021-09-21T15:28:26+00:00</updated>
<author>
<name>Peter Collingbourne</name>
</author>
<published>2021-09-16T15:53:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=219c101fa7f9c528458cd6a491af371f01e20cba'/>
<id>urn:sha1:219c101fa7f9c528458cd6a491af371f01e20cba</id>
<content type='text'>
Sleep on WFI until the VTIMER is due but allow ourselves to be woken
up on IPI.

In this implementation IPI is blocked on the CPU thread at startup and
pselect() is used to atomically unblock the signal and begin sleeping.
The signal is sent unconditionally so there's no need to worry about
races between actually sleeping and the "we think we're sleeping"
state. It may lead to an extra wakeup but that's better than missing
it entirely.

Signed-off-by: Peter Collingbourne &lt;pcc@google.com&gt;
Signed-off-by: Alexander Graf &lt;agraf@csgraf.de&gt;
Acked-by: Roman Bolshakov &lt;r.bolshakov@yadro.com&gt;
Reviewed-by: Sergio Lopez &lt;slp@redhat.com&gt;
Message-id: 20210916155404.86958-6-agraf@csgraf.de
[agraf: Remove unused 'set' variable, always advance PC on WFX trap,
        support vm stop / continue operations and cntv offsets]
Signed-off-by: Alexander Graf &lt;agraf@csgraf.de&gt;
Acked-by: Roman Bolshakov &lt;r.bolshakov@yadro.com&gt;
Reviewed-by: Sergio Lopez &lt;slp@redhat.com&gt;
Signed-off-by: Peter Maydell &lt;peter.maydell@linaro.org&gt;
</content>
</entry>
<entry>
<title>hvf: Add Apple Silicon support</title>
<updated>2021-09-20T08:57:03+00:00</updated>
<author>
<name>Alexander Graf</name>
</author>
<published>2021-09-16T15:53:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=a1477da3ddeb1b76adb71af7b5c46a18120dc952'/>
<id>urn:sha1:a1477da3ddeb1b76adb71af7b5c46a18120dc952</id>
<content type='text'>
With Apple Silicon available to the masses, it's a good time to add support
for driving its virtualization extensions from QEMU.

This patch adds all necessary architecture specific code to get basic VMs
working, including save/restore.

Known limitations:

  - WFI handling is missing (follows in later patch)
  - No watchpoint/breakpoint support

Signed-off-by: Alexander Graf &lt;agraf@csgraf.de&gt;
Reviewed-by: Roman Bolshakov &lt;r.bolshakov@yadro.com&gt;
Reviewed-by: Sergio Lopez &lt;slp@redhat.com&gt;
Reviewed-by: Peter Maydell &lt;peter.maydell@linaro.org&gt;
Message-id: 20210916155404.86958-5-agraf@csgraf.de
[PMM: added missing #include]
Signed-off-by: Peter Maydell &lt;peter.maydell@linaro.org&gt;
</content>
</entry>
<entry>
<title>hvf: Introduce hvf_arch_init() callback</title>
<updated>2021-09-20T08:57:03+00:00</updated>
<author>
<name>Alexander Graf</name>
</author>
<published>2021-09-16T15:53:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=ce7f5b1c5027d73aa7c30820ef2b23ef4d72d20d'/>
<id>urn:sha1:ce7f5b1c5027d73aa7c30820ef2b23ef4d72d20d</id>
<content type='text'>
We will need to install a migration helper for the ARM hvf backend.
Let's introduce an arch callback for the overall hvf init chain to
do so.

Signed-off-by: Alexander Graf &lt;agraf@csgraf.de&gt;
Reviewed-by: Peter Maydell &lt;peter.maydell@linaro.org&gt;
Message-id: 20210916155404.86958-4-agraf@csgraf.de
Signed-off-by: Peter Maydell &lt;peter.maydell@linaro.org&gt;
</content>
</entry>
<entry>
<title>hvf: Add execute to dirty log permission bitmap</title>
<updated>2021-09-20T08:57:03+00:00</updated>
<author>
<name>Alexander Graf</name>
</author>
<published>2021-09-16T15:53:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=5b3e7517246cbfdd7ea1f1b2a4637e308f1fdb83'/>
<id>urn:sha1:5b3e7517246cbfdd7ea1f1b2a4637e308f1fdb83</id>
<content type='text'>
Hvf's permission bitmap during and after dirty logging does not include
the HV_MEMORY_EXEC permission. At least on Apple Silicon, this leads to
instruction faults once dirty logging was enabled.

Add the bit to make it work properly.

Signed-off-by: Alexander Graf &lt;agraf@csgraf.de&gt;
Reviewed-by: Peter Maydell &lt;peter.maydell@linaro.org&gt;
Message-id: 20210916155404.86958-3-agraf@csgraf.de
Signed-off-by: Peter Maydell &lt;peter.maydell@linaro.org&gt;
</content>
</entry>
</feed>
