<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bwlp/qemu.git/include/hw/i386, branch spice_video_codecs</title>
<subtitle>Experimental fork of QEMU with video encoding patches</subtitle>
<id>https://git.openslx.org/bwlp/qemu.git/atom/include/hw/i386?h=spice_video_codecs</id>
<link rel='self' href='https://git.openslx.org/bwlp/qemu.git/atom/include/hw/i386?h=spice_video_codecs'/>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/'/>
<updated>2022-11-07T19:08:17+00:00</updated>
<entry>
<title>intel-iommu: PASID support</title>
<updated>2022-11-07T19:08:17+00:00</updated>
<author>
<name>Jason Wang</name>
</author>
<published>2022-10-28T06:14:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=1b2b12376c8a513a0c7b5e3b8ea702038d3d7db5'/>
<id>urn:sha1:1b2b12376c8a513a0c7b5e3b8ea702038d3d7db5</id>
<content type='text'>
This patch introduce ECAP_PASID via "x-pasid-mode". Based on the
existing support for scalable mode, we need to implement the following
missing parts:

1) tag VTDAddressSpace with PASID and support IOMMU/DMA translation
   with PASID
2) tag IOTLB with PASID
3) PASID cache and its flush
4) PASID based IOTLB invalidation

For simplicity PASID cache is not implemented so we can simply
implement the PASID cache flush as a no and leave it to be implemented
in the future. For PASID based IOTLB invalidation, since we haven't
had L1 stage support, the PASID based IOTLB invalidation is not
implemented yet. For PASID based device IOTLB invalidation, it
requires the support for vhost so we forbid enabling device IOTLB when
PASID is enabled now. Those work could be done in the future.

Note that though PASID based IOMMU translation is ready but no device
can issue PASID DMA right now. In this case, PCI_NO_PASID is used as
PASID to identify the address without PASID. vtd_find_add_as() has
been extended to provision address space with PASID which could be
utilized by the future extension of PCI core to allow device model to
use PASID based DMA translation.

This feature would be useful for:

1) prototyping PASID support for devices like virtio
2) future vPASID work
3) future PRS and vSVA work

Reviewed-by: Peter Xu &lt;peterx@redhat.com&gt;
Signed-off-by: Jason Wang &lt;jasowang@redhat.com&gt;
Message-Id: &lt;20221028061436.30093-5-jasowang@redhat.com&gt;
Reviewed-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Signed-off-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
</content>
</entry>
<entry>
<title>intel-iommu: drop VTDBus</title>
<updated>2022-11-07T19:08:17+00:00</updated>
<author>
<name>Jason Wang</name>
</author>
<published>2022-10-28T06:14:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=da8d439c8048f685e0333ae468b7520b82925e75'/>
<id>urn:sha1:da8d439c8048f685e0333ae468b7520b82925e75</id>
<content type='text'>
We introduce VTDBus structure as an intermediate step for searching
the address space. This works well with SID based matching/lookup. But
when we want to support SID plus PASID based address space lookup,
this intermediate steps turns out to be a burden. So the patch simply
drops the VTDBus structure and use the PCIBus and devfn as the key for
the g_hash_table(). This simplifies the codes and the future PASID
extension.

To prevent being slower for past vtd_find_as_from_bus_num() callers, a
vtd_as cache indexed by the bus number is introduced to store the last
recent search result of a vtd_as belongs to a specific bus.

Reviewed-by: Peter Xu &lt;peterx@redhat.com&gt;
Signed-off-by: Jason Wang &lt;jasowang@redhat.com&gt;
Message-Id: &lt;20221028061436.30093-3-jasowang@redhat.com&gt;
Reviewed-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Signed-off-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Reviewed-by: Yi Liu &lt;yi.l.liu@intel.com&gt;
</content>
</entry>
<entry>
<title>hw: Add compat machines for 7.2</title>
<updated>2022-08-25T19:59:04+00:00</updated>
<author>
<name>Cornelia Huck</name>
</author>
<published>2022-07-27T12:17:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=f514e1477f0d098f00d739c49e91944e04612e13'/>
<id>urn:sha1:f514e1477f0d098f00d739c49e91944e04612e13</id>
<content type='text'>
Add 7.2 machine types for arm/i440fx/m68k/q35/s390x/spapr.

Signed-off-by: Cornelia Huck &lt;cohuck@redhat.com&gt;
Reviewed-by: Daniel Henrique Barboza &lt;danielhb413@gmail.com&gt;
Reviewed-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Message-Id: &lt;20220727121755.395894-1-cohuck@redhat.com&gt;
[thuth: fixed conflict with pcmc-&gt;legacy_no_rng_seed]
Signed-off-by: Thomas Huth &lt;thuth@redhat.com&gt;
</content>
</entry>
<entry>
<title>i386/pc: restrict AMD only enforcing of 1Tb hole to new machine type</title>
<updated>2022-07-26T14:40:58+00:00</updated>
<author>
<name>Joao Martins</name>
</author>
<published>2022-07-19T17:00:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=b3e6982b4154c1c0ab8b25f2e1ac7838a1809824'/>
<id>urn:sha1:b3e6982b4154c1c0ab8b25f2e1ac7838a1809824</id>
<content type='text'>
The added enforcing is only relevant in the case of AMD where the
range right before the 1TB is restricted and cannot be DMA mapped
by the kernel consequently leading to IOMMU INVALID_DEVICE_REQUEST
or possibly other kinds of IOMMU events in the AMD IOMMU.

Although, there's a case where it may make sense to disable the
IOVA relocation/validation when migrating from a
non-amd-1tb-aware qemu to one that supports it.

Relocating RAM regions to after the 1Tb hole has consequences for
guest ABI because we are changing the memory mapping, so make
sure that only new machine enforce but not older ones.

Signed-off-by: Joao Martins &lt;joao.m.martins@oracle.com&gt;
Acked-by: Dr. David Alan Gilbert &lt;dgilbert@redhat.com&gt;
Acked-by: Igor Mammedov &lt;imammedo@redhat.com&gt;
Message-Id: &lt;20220719170014.27028-12-joao.m.martins@oracle.com&gt;
Reviewed-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Signed-off-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
</content>
</entry>
<entry>
<title>i386/pc: pass pci_hole64_size to pc_memory_init()</title>
<updated>2022-07-26T14:40:58+00:00</updated>
<author>
<name>Joao Martins</name>
</author>
<published>2022-07-19T17:00:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=c48eb7a4e869f338e5b3e233fed7c9dbb0520247'/>
<id>urn:sha1:c48eb7a4e869f338e5b3e233fed7c9dbb0520247</id>
<content type='text'>
Use the pre-initialized pci-host qdev and fetch the
pci-hole64-size into pc_memory_init() newly added argument.
Use PCI_HOST_PROP_PCI_HOLE64_SIZE pci-host property for
fetching pci-hole64-size.

This is in preparation to determine that host-phys-bits are
enough and for pci-hole64-size to be considered to relocate
ram-above-4g to be at 1T (on AMD platforms).

Signed-off-by: Joao Martins &lt;joao.m.martins@oracle.com&gt;
Reviewed-by: Igor Mammedov &lt;imammedo@redhat.com&gt;
Message-Id: &lt;20220719170014.27028-4-joao.m.martins@oracle.com&gt;
Reviewed-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Signed-off-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
</content>
</entry>
<entry>
<title>hw/i386: add 4g boundary start to X86MachineState</title>
<updated>2022-07-26T14:40:58+00:00</updated>
<author>
<name>Joao Martins</name>
</author>
<published>2022-07-19T17:00:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=4ab4c33014b4876bc6d7888efecd6bfcca0d045a'/>
<id>urn:sha1:4ab4c33014b4876bc6d7888efecd6bfcca0d045a</id>
<content type='text'>
Rather than hardcoding the 4G boundary everywhere, introduce a
X86MachineState field @above_4g_mem_start and use it
accordingly.

This is in preparation for relocating ram-above-4g to be
dynamically start at 1T on AMD platforms.

Signed-off-by: Joao Martins &lt;joao.m.martins@oracle.com&gt;
Reviewed-by: Igor Mammedov &lt;imammedo@redhat.com&gt;
Message-Id: &lt;20220719170014.27028-2-joao.m.martins@oracle.com&gt;
Reviewed-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Signed-off-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
</content>
</entry>
<entry>
<title>hw/i386: pass RNG seed via setup_data entry</title>
<updated>2022-07-22T17:26:34+00:00</updated>
<author>
<name>Jason A. Donenfeld</name>
</author>
<published>2022-07-21T12:56:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=67f7e426e53833a5db75b0d813e8d537b8a75bd2'/>
<id>urn:sha1:67f7e426e53833a5db75b0d813e8d537b8a75bd2</id>
<content type='text'>
Tiny machines optimized for fast boot time generally don't use EFI,
which means a random seed has to be supplied some other way. For this
purpose, Linux (â‰¥5.20) supports passing a seed in the setup_data table
with SETUP_RNG_SEED, specially intended for hypervisors, kexec, and
specialized bootloaders. The linked commit shows the upstream kernel
implementation.

At Paolo's request, we don't pass these to versioned machine types â‰¤7.0.

Link: https://git.kernel.org/tip/tip/c/68b8e9713c8
Cc: Marcel Apfelbaum &lt;marcel.apfelbaum@gmail.com&gt;
Cc: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
Cc: Richard Henderson &lt;richard.henderson@linaro.org&gt;
Cc: Eduardo Habkost &lt;eduardo@habkost.net&gt;
Cc: Peter Maydell &lt;peter.maydell@linaro.org&gt;
Cc: Philippe Mathieu-Daudé &lt;f4bug@amsat.org&gt;
Cc: Laurent Vivier &lt;laurent@vivier.eu&gt;
Reviewed-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Signed-off-by: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;
Message-Id: &lt;20220721125636.446842-1-Jason@zx2c4.com&gt;
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
</content>
</entry>
<entry>
<title>hw/i386/pc: Remove orphan declarations</title>
<updated>2022-06-11T09:44:50+00:00</updated>
<author>
<name>Bernhard Beschow</name>
</author>
<published>2022-05-20T18:01:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=68d58770d761d585002580856c4916e31a3efb3e'/>
<id>urn:sha1:68d58770d761d585002580856c4916e31a3efb3e</id>
<content type='text'>
Signed-off-by: Bernhard Beschow &lt;shentey@gmail.com&gt;
Acked-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Acked-by: Mark Cave-Ayland &lt;mark.cave-ayland@ilande.co.uk&gt;
Message-Id: &lt;20220520180109.8224-6-shentey@gmail.com&gt;
Signed-off-by: Philippe Mathieu-Daudé &lt;f4bug@amsat.org&gt;
</content>
</entry>
<entry>
<title>hw/i386/pc: Unexport functions used only internally</title>
<updated>2022-06-11T09:44:50+00:00</updated>
<author>
<name>Bernhard Beschow</name>
</author>
<published>2022-05-20T18:01:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=cb76321ecce55cddc7fd86c1c2b705f919c4cb7e'/>
<id>urn:sha1:cb76321ecce55cddc7fd86c1c2b705f919c4cb7e</id>
<content type='text'>
Signed-off-by: Bernhard Beschow &lt;shentey@gmail.com&gt;
Reviewed-by: Philippe Mathieu-Daudé &lt;f4bug@amsat.org&gt;
Acked-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Acked-by: Mark Cave-Ayland &lt;mark.cave-ayland@ilande.co.uk&gt;
Message-Id: &lt;20220520180109.8224-5-shentey@gmail.com&gt;
Signed-off-by: Philippe Mathieu-Daudé &lt;f4bug@amsat.org&gt;
</content>
</entry>
<entry>
<title>hw/i386/pc: Unexport PC_CPU_MODEL_IDS macro</title>
<updated>2022-06-11T09:44:50+00:00</updated>
<author>
<name>Bernhard Beschow</name>
</author>
<published>2022-05-20T18:01:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=fc5f89236874bc5af1fa0674da876236cf710774'/>
<id>urn:sha1:fc5f89236874bc5af1fa0674da876236cf710774</id>
<content type='text'>
The macro seems to be used only internally, so remove it.

Signed-off-by: Bernhard Beschow &lt;shentey@gmail.com&gt;
Acked-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Acked-by: Mark Cave-Ayland &lt;mark.cave-ayland@ilande.co.uk&gt;
Message-Id: &lt;20220520180109.8224-4-shentey@gmail.com&gt;
Reviewed-by: Philippe Mathieu-Daudé &lt;f4bug@amsat.org&gt;
Signed-off-by: Philippe Mathieu-Daudé &lt;f4bug@amsat.org&gt;
</content>
</entry>
</feed>
