<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bwlp/qemu.git/include/hw/pci, 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/pci?h=spice_video_codecs</id>
<link rel='self' href='https://git.openslx.org/bwlp/qemu.git/atom/include/hw/pci?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>msix: Assert that specified vector is in range</title>
<updated>2022-11-07T19:08:17+00:00</updated>
<author>
<name>Akihiko Odaki</name>
</author>
<published>2022-08-29T08:35:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=15377f6e79cc6aa08dbafe82607e0bda13ca44b5'/>
<id>urn:sha1:15377f6e79cc6aa08dbafe82607e0bda13ca44b5</id>
<content type='text'>
There were several different ways to deal with the situation where the
vector specified for a msix function is out of bound:
- early return a function and keep progresssing
- propagate the error to the caller
- mark msix unusable
- assert it is in bound
- just ignore

An out-of-bound vector should not be specified if the device
implementation is correct so let msix functions always assert that the
specified vector is in range.

An exceptional case is virtio-pci, which allows the guest to configure
vectors. For virtio-pci, it is more appropriate to introduce its own
checks because it is sometimes too late to check the vector range in
msix functions.

Signed-off-by: Akihiko Odaki &lt;akihiko.odaki@daynix.com&gt;
Message-Id: &lt;20220829083524.143640-1-akihiko.odaki@daynix.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: Yuval Shaia &lt;yuval.shaia.ml@gmail.com&gt;
Signed-off-by: Akihiko Odaki &amp;lt;&lt;a href="mailto:akihiko.odaki@daynix.com" target="_blank"&gt;akihiko.odaki@daynix.com&lt;/a&gt;&amp;gt;&lt;br&gt;
</content>
</entry>
<entry>
<title>hw/pci: PCIe Data Object Exchange emulation</title>
<updated>2022-11-07T18:12:19+00:00</updated>
<author>
<name>Huai-Cheng Kuo</name>
</author>
<published>2022-10-14T15:10:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=5fb52f6cc8f621f2e51d181d81401d14e4d45102'/>
<id>urn:sha1:5fb52f6cc8f621f2e51d181d81401d14e4d45102</id>
<content type='text'>
Emulation of PCIe Data Object Exchange (DOE)
PCIE Base Specification r6.0 6.3 Data Object Exchange

Supports multiple DOE PCIe Extended Capabilities for a single PCIe
device. For each capability, a static array of DOEProtocol should be passed
to pcie_doe_init(). The protocols in that array will be registered under
the DOE capability structure. For each protocol, vendor ID, type, and
corresponding callback function (handle_request()) should be implemented.
This callback function represents how the DOE request for corresponding
protocol will be handled.

pcie_doe_{read/write}_config() must be appended to corresponding PCI
device's config_read/write() handler to enable DOE access. In
pcie_doe_read_config(), false will be returned if pci_config_read()
offset is not within DOE capability range. In pcie_doe_write_config(),
the function will have no affect if the address is not within the related
DOE PCIE extended capability.

Signed-off-by: Huai-Cheng Kuo &lt;hchkuo@avery-design.com.tw&gt;
Signed-off-by: Chris Browy &lt;cbrowy@avery-design.com&gt;
Signed-off-by: Jonathan Cameron &lt;Jonathan.Cameron@huawei.com&gt;
Message-Id: &lt;20221014151045.24781-2-Jonathan.Cameron@huawei.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>Merge tag 'kraxel-20221013-pull-request' of https://gitlab.com/kraxel/qemu into staging</title>
<updated>2022-10-13T17:55:53+00:00</updated>
<author>
<name>Stefan Hajnoczi</name>
</author>
<published>2022-10-13T17:55:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=2ba341b3694cf3cff7b8a1df4cc765900d5c4f60'/>
<id>urn:sha1:2ba341b3694cf3cff7b8a1df4cc765900d5c4f60</id>
<content type='text'>
pci: cleanup virtio ids.
audio: bugfixes and latency improvements.
misc fixes for hw/display and ui

# -----BEGIN PGP SIGNATURE-----
#
# iQIzBAABCgAdFiEEoDKM/7k6F6eZAf59TLbY7tPocTgFAmNHtYsACgkQTLbY7tPo
# cTjHhg//RDkHbqVSExe+Odw5ISuLu/EXZSHAVjo3KOCUvaj7O2cXi8N7DVfEy5a5
# T3+WSv0v4X6TYSV0PoMb36a11rCuOKzeLZrtEOQeYfG3D1WCVc9gIWMt6omzBC7A
# YQ59P+u19qHD7xD2PP3WRtdcqmsceg1RG+47adX2EnsRZmmu/yJxD72w/Q1kXMuB
# jIzuJU2ZVorYX9y11hnIU3M5pvoX/vjFA+Ib2UGZZdlE3KlUKtJeAtLiZkHfoyd1
# 5janU+PtSU6Z1yVirE7RVz3+IBbfqqEFTkDtMXJucJW/Eod0NHCyo4Q6D64HoiZe
# +JZKkHmuvn8ZUgXMtIOZdH+aOHlaIJzA5SoA2IFxCBVuxn7p4NtPbCRoHHg7gkDh
# BDsq+p/wsdOY06u1txFw9dYy+4tKvWS7+Dxhyme7GT2YUQHrEEG3pzGFmk3PE0Vi
# tEAhmfNRxWzUgIcynQiN/3SnShAI8lANq0SEiiTvqcX7h1TK+cjEYjOTMsjK43nL
# 2W/pgQxJpEPcSs3jgFLnBLk9rUHRNRC+GtMBlwN+Wdc1y17leZHiIinqhHjXuts3
# cJTdv4veeGuJENPIl2rk5JOdvpVtzduDkz+Rzx0mGb+LnAYdK2lBUV5LY9FfdwaK
# 2Bgg02ZYNBz7K2zzFeeV+7b7K/LYOuWkGdzGvKbpqjbefopZmTM=
# =6d/F
# -----END PGP SIGNATURE-----
# gpg: Signature made Thu 13 Oct 2022 02:51:55 EDT
# gpg:                using RSA key A0328CFFB93A17A79901FE7D4CB6D8EED3E87138
# gpg: Good signature from "Gerd Hoffmann (work) &lt;kraxel@redhat.com&gt;" [full]
# gpg:                 aka "Gerd Hoffmann &lt;gerd@kraxel.org&gt;" [full]
# gpg:                 aka "Gerd Hoffmann (private) &lt;kraxel@gmail.com&gt;" [full]
# Primary key fingerprint: A032 8CFF B93A 17A7 9901  FE7D 4CB6 D8EE D3E8 7138

* tag 'kraxel-20221013-pull-request' of https://gitlab.com/kraxel/qemu: (26 commits)
  audio: improve out.voices test
  audio: fix in.voices test
  gtk: Add show_menubar=on|off command line option.
  qemu-edid: Restrict input parameter -d to avoid division by zero
  ui/gtk: Fix the implicit mouse ungrabbing logic
  pci-ids: document modern virtio-pci ids in pci.h too
  pci-ids: drop list of modern virtio devices
  pci-ids: drop PCI_DEVICE_ID_VIRTIO_PMEM
  pci-ids: drop PCI_DEVICE_ID_VIRTIO_MEM
  pci-ids: drop PCI_DEVICE_ID_VIRTIO_IOMMU
  docs: add firmware feature flags
  cirrus_vga: fix potential memory overflow
  ui/gtk-egl: egl context needs to be unbound in the end of gd_egl_switch
  ui/vnc-clipboard: fix integer underflow in vnc_client_cut_text_ext
  audio: prevent an integer overflow in resampling code
  audio: fix sw-&gt;buf size for audio recording
  audio: refactor audio_get_avail()
  audio: rename audio_sw_bytes_free()
  audio: swap audio_rate_get_bytes() function parameters
  spiceaudio: update comment
  ...

Signed-off-by: Stefan Hajnoczi &lt;stefanha@redhat.com&gt;
</content>
</entry>
<entry>
<title>pci-ids: document modern virtio-pci ids in pci.h too</title>
<updated>2022-10-12T10:01:11+00:00</updated>
<author>
<name>Gerd Hoffmann</name>
</author>
<published>2022-10-04T11:21:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=0468fe82d32e99b6d84085e76d1e946bbe1e80ac'/>
<id>urn:sha1:0468fe82d32e99b6d84085e76d1e946bbe1e80ac</id>
<content type='text'>
While being at it add a #define for the magic 0x1040 number.

Signed-off-by: Gerd Hoffmann &lt;kraxel@redhat.com&gt;
Reviewed-by: Eric Auger &lt;eric.auger@redhat.com&gt;
Message-Id: &lt;20221004112100.301935-6-kraxel@redhat.com&gt;
</content>
</entry>
<entry>
<title>pci-ids: drop PCI_DEVICE_ID_VIRTIO_PMEM</title>
<updated>2022-10-12T10:01:11+00:00</updated>
<author>
<name>Gerd Hoffmann</name>
</author>
<published>2022-10-04T11:20:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=cbd56573f769f8ebefd6a1241169a101ca639f85'/>
<id>urn:sha1:cbd56573f769f8ebefd6a1241169a101ca639f85</id>
<content type='text'>
Not needed for a virtio 1.0 device.  virtio_pci_device_plugged()
overrides them anyway (so no functional change).

Signed-off-by: Gerd Hoffmann &lt;kraxel@redhat.com&gt;
Reviewed-by: David Hildenbrand &lt;david@redhat.com&gt;
Reviewed-by: Pankaj Gupta &lt;pankaj.gupta@amd.com&gt;
Tested-by: Pankaj Gupta &lt;pankaj.gupta@amd.com&gt;
Message-Id: &lt;20221004112100.301935-4-kraxel@redhat.com&gt;
</content>
</entry>
<entry>
<title>pci-ids: drop PCI_DEVICE_ID_VIRTIO_MEM</title>
<updated>2022-10-12T10:01:11+00:00</updated>
<author>
<name>Gerd Hoffmann</name>
</author>
<published>2022-10-04T11:20:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=58de96e2ebc4977e3d0a042946a70a3e4bdde4ba'/>
<id>urn:sha1:58de96e2ebc4977e3d0a042946a70a3e4bdde4ba</id>
<content type='text'>
Not needed for a virtio 1.0 device.  virtio_pci_device_plugged()
overrides them anyway (so no functional change).

Signed-off-by: Gerd Hoffmann &lt;kraxel@redhat.com&gt;
Reviewed-by: David Hildenbrand &lt;david@redhat.com&gt;
Message-Id: &lt;20221004112100.301935-3-kraxel@redhat.com&gt;
</content>
</entry>
<entry>
<title>pci-ids: drop PCI_DEVICE_ID_VIRTIO_IOMMU</title>
<updated>2022-10-12T10:01:11+00:00</updated>
<author>
<name>Gerd Hoffmann</name>
</author>
<published>2022-10-04T11:20:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=c82190fa1ba738b66513cf8869f25d45b1061ac6'/>
<id>urn:sha1:c82190fa1ba738b66513cf8869f25d45b1061ac6</id>
<content type='text'>
Not needed for a virtio 1.0 device.  virtio_pci_device_plugged()
overrides them anyway (so no functional change).

Signed-off-by: Gerd Hoffmann &lt;kraxel@redhat.com&gt;
Reviewed-by: Eric Auger &lt;eric.auger@redhat.com&gt;
Tested-by: Eric Auger &lt;eric.auger@redhat.com&gt;
Message-Id: &lt;20221004112100.301935-2-kraxel@redhat.com&gt;
</content>
</entry>
<entry>
<title>pci: Sanity check mask argument to pci_set_*_by_mask()</title>
<updated>2022-10-09T20:38:45+00:00</updated>
<author>
<name>Peter Maydell</name>
</author>
<published>2022-08-18T13:54:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=775cc426a986742fb252dd3aa865763c10cdb438'/>
<id>urn:sha1:775cc426a986742fb252dd3aa865763c10cdb438</id>
<content type='text'>
Coverity complains that in functions like pci_set_word_by_mask()
we might end up shifting by more than 31 bits. This is true,
but only if the caller passes in a zero mask. Help Coverity out
by asserting that the mask argument is valid.

Fixes: CID 1487168

Reviewed-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
Signed-off-by: Peter Maydell &lt;peter.maydell@linaro.org&gt;
Message-Id: &lt;20220818135421.2515257-3-peter.maydell@linaro.org&gt;
Reviewed-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Signed-off-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Reviewed-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
</content>
</entry>
<entry>
<title>pci: Remove unused pci_get_*_by_mask() functions</title>
<updated>2022-10-09T20:38:45+00:00</updated>
<author>
<name>Peter Maydell</name>
</author>
<published>2022-08-18T13:54:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=31e039e76d60fab708d49444ba40effc3037670d'/>
<id>urn:sha1:31e039e76d60fab708d49444ba40effc3037670d</id>
<content type='text'>
The helper functions pci_get_{byte,word,long,quad}_by_mask()
were added in 2012 in commit c9f50cea70a1596. In the decade
since we have never added a single use of them.

The helpers clearly aren't that helpful, so drop them
rather than carrying around dead code.

Reviewed-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
Signed-off-by: Peter Maydell &lt;peter.maydell@linaro.org&gt;
Message-Id: &lt;20220818135421.2515257-2-peter.maydell@linaro.org&gt;
Reviewed-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Signed-off-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Reviewed-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
</content>
</entry>
</feed>
