[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-commits] [qemu/qemu] 638b75: pci-bridge/cxl_upstream: Add a CXL sw
From: |
Richard Henderson |
Subject: |
[Qemu-commits] [qemu/qemu] 638b75: pci-bridge/cxl_upstream: Add a CXL switch upstream... |
Date: |
Thu, 16 Jun 2022 13:45:38 -0700 |
Branch: refs/heads/master
Home: https://github.com/qemu/qemu
Commit: 638b752da30a9daffb0c92166937a0cb777f9e23
https://github.com/qemu/qemu/commit/638b752da30a9daffb0c92166937a0cb777f9e23
Author: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Date: 2022-06-16 (Thu, 16 Jun 2022)
Changed paths:
A hw/pci-bridge/cxl_upstream.c
M hw/pci-bridge/meson.build
M include/hw/cxl/cxl.h
Log Message:
-----------
pci-bridge/cxl_upstream: Add a CXL switch upstream port
An initial simple upstream port emulation to allow the creation
of CXL switches. The Device ID has been allocated for this use.
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Message-Id: <20220616145126.8002-2-Jonathan.Cameron@huawei.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 18cef1c6a5a37710a2e5876fed2445849f31e321
https://github.com/qemu/qemu/commit/18cef1c6a5a37710a2e5876fed2445849f31e321
Author: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Date: 2022-06-16 (Thu, 16 Jun 2022)
Changed paths:
M hw/cxl/cxl-host.c
A hw/pci-bridge/cxl_downstream.c
M hw/pci-bridge/meson.build
Log Message:
-----------
pci-bridge/cxl_downstream: Add a CXL switch downstream port
Emulation of a simple CXL Switch downstream port.
The Device ID has been allocated for this use.
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Message-Id: <20220616145126.8002-3-Jonathan.Cameron@huawei.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 3afcbb7b8e3358501d8cd2cfa37ad8e696519032
https://github.com/qemu/qemu/commit/3afcbb7b8e3358501d8cd2cfa37ad8e696519032
Author: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Date: 2022-06-16 (Thu, 16 Jun 2022)
Changed paths:
M docs/system/devices/cxl.rst
Log Message:
-----------
docs/cxl: Add switch documentation
Switches were already introduced, but now we support them update
the documentation to provide an example in diagram and
qemu command line parameter forms.
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Message-Id: <20220616145126.8002-4-Jonathan.Cameron@huawei.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: b595d6272e9219bf70a9baf6d37f64045907f03b
https://github.com/qemu/qemu/commit/b595d6272e9219bf70a9baf6d37f64045907f03b
Author: Yajun Wu <yajunw@nvidia.com>
Date: 2022-06-16 (Thu, 16 Jun 2022)
Changed paths:
M hw/virtio/vhost-user.c
Log Message:
-----------
virtio/vhost-user: Fix wrong vhost notifier GPtrArray size
In fetch_or_create_notifier, idx begins with 0. So the GPtrArray size
should be idx + 1 and g_ptr_array_set_size should be called with idx + 1.
This wrong GPtrArray size causes fetch_or_create_notifier return an invalid
address. Passing this invalid pointer to vhost_user_host_notifier_remove
causes assert fail:
qemu/include/qemu/int128.h:27: int128_get64: Assertion `r == a' failed.
shutting down, reason=crashed
Backends like dpdk-vdpa which sends out vhost notifier requests almost always
hit qemu crash.
Fixes: 503e355465 ("virtio/vhost-user: dynamically assign
VhostUserHostNotifiers")
Signed-off-by: Yajun Wu <yajunw@nvidia.com>
Acked-by: Parav Pandit <parav@nvidia.com>
Change-Id: I87e0f7591ca9a59d210879b260704a2d9e9d6bcd
Message-Id: <20220526034851.683258-1-yajunw@nvidia.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Eddie Dong <eddie.dong@intel.com>
Commit: 90519b90539b16258d1d52b908b199f44877dc18
https://github.com/qemu/qemu/commit/90519b90539b16258d1d52b908b199f44877dc18
Author: Zhenzhong Duan <zhenzhong.duan@intel.com>
Date: 2022-06-16 (Thu, 16 Jun 2022)
Changed paths:
M hw/virtio/trace-events
M hw/virtio/virtio-iommu.c
M include/hw/virtio/virtio-iommu.h
Log Message:
-----------
virtio-iommu: Add bypass mode support to assigned device
Currently assigned devices can not work in virtio-iommu bypass mode.
Guest driver fails to probe the device due to DMA failure. And the
reason is because of lacking GPA -> HPA mappings when VM is created.
Add a root container memory region to hold both bypass memory region
and iommu memory region, so the switch between them is supported
just like the implementation in virtual VT-d.
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Message-Id: <20220613061010.2674054-2-zhenzhong.duan@intel.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 08f2030a2e46f1e93d186b3a683e5caef1df562b
https://github.com/qemu/qemu/commit/08f2030a2e46f1e93d186b3a683e5caef1df562b
Author: Zhenzhong Duan <zhenzhong.duan@intel.com>
Date: 2022-06-16 (Thu, 16 Jun 2022)
Changed paths:
M hw/virtio/virtio-iommu.c
M include/hw/virtio/virtio-iommu.h
Log Message:
-----------
virtio-iommu: Use recursive lock to avoid deadlock
When switching address space with mutex lock hold, mapping will be
replayed for assigned device. This will trigger relock deadlock.
Also release the mutex resource in unrealize routine.
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Message-Id: <20220613061010.2674054-3-zhenzhong.duan@intel.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 23b5f0ff6d923d3bca11cf44eed3daf7a0a836a8
https://github.com/qemu/qemu/commit/23b5f0ff6d923d3bca11cf44eed3daf7a0a836a8
Author: Zhenzhong Duan <zhenzhong.duan@intel.com>
Date: 2022-06-16 (Thu, 16 Jun 2022)
Changed paths:
M hw/virtio/virtio-iommu.c
Log Message:
-----------
virtio-iommu: Add an assert check in translate routine
With address space switch supported, dma access translation only
happen after endpoint is attached to a non-bypass domain.
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Message-Id: <20220613061010.2674054-4-zhenzhong.duan@intel.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 0e660a6f90abf8b517d7317595bcc8e8da31f2a1
https://github.com/qemu/qemu/commit/0e660a6f90abf8b517d7317595bcc8e8da31f2a1
Author: zhenwei pi <pizhenwei@bytedance.com>
Date: 2022-06-16 (Thu, 16 Jun 2022)
Changed paths:
M backends/cryptodev-builtin.c
M backends/cryptodev-vhost-user.c
M backends/cryptodev.c
M hw/virtio/virtio-crypto.c
M include/hw/virtio/virtio-crypto.h
M include/sysemu/cryptodev.h
Log Message:
-----------
crypto: Introduce RSA algorithm
There are two parts in this patch:
1, support akcipher service by cryptodev-builtin driver
2, virtio-crypto driver supports akcipher service
In principle, we should separate this into two patches, to avoid
compiling error, merge them into one.
Then virtio-crypto gets request from guest side, and forwards the
request to builtin driver to handle it.
Test with a guest linux:
1, The self-test framework of crypto layer works fine in guest kernel
2, Test with Linux guest(with asym support), the following script
test(note that pkey_XXX is supported only in a newer version of keyutils):
- both public key & private key
- create/close session
- encrypt/decrypt/sign/verify basic driver operation
- also test with kernel crypto layer(pkey add/query)
All the cases work fine.
Run script in guest:
rm -rf *.der *.pem *.pfx
modprobe pkcs8_key_parser # if CONFIG_PKCS8_PRIVATE_KEY_PARSER=m
rm -rf /tmp/data
dd if=/dev/random of=/tmp/data count=1 bs=20
openssl req -nodes -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -subj
"/C=CN/ST=BJ/L=HD/O=qemu/OU=dev/CN=qemu/emailAddress=qemu@qemu.org"
openssl pkcs8 -in key.pem -topk8 -nocrypt -outform DER -out key.der
openssl x509 -in cert.pem -inform PEM -outform DER -out cert.der
PRIV_KEY_ID=`cat key.der | keyctl padd asymmetric test_priv_key @s`
echo "priv key id = "$PRIV_KEY_ID
PUB_KEY_ID=`cat cert.der | keyctl padd asymmetric test_pub_key @s`
echo "pub key id = "$PUB_KEY_ID
keyctl pkey_query $PRIV_KEY_ID 0
keyctl pkey_query $PUB_KEY_ID 0
echo "Enc with priv key..."
keyctl pkey_encrypt $PRIV_KEY_ID 0 /tmp/data enc=pkcs1 >/tmp/enc.priv
echo "Dec with pub key..."
keyctl pkey_decrypt $PRIV_KEY_ID 0 /tmp/enc.priv enc=pkcs1 >/tmp/dec
cmp /tmp/data /tmp/dec
echo "Sign with priv key..."
keyctl pkey_sign $PRIV_KEY_ID 0 /tmp/data enc=pkcs1 hash=sha1 > /tmp/sig
echo "Verify with pub key..."
keyctl pkey_verify $PRIV_KEY_ID 0 /tmp/data /tmp/sig enc=pkcs1 hash=sha1
echo "Enc with pub key..."
keyctl pkey_encrypt $PUB_KEY_ID 0 /tmp/data enc=pkcs1 >/tmp/enc.pub
echo "Dec with priv key..."
keyctl pkey_decrypt $PRIV_KEY_ID 0 /tmp/enc.pub enc=pkcs1 >/tmp/dec
cmp /tmp/data /tmp/dec
echo "Verify with pub key..."
keyctl pkey_verify $PUB_KEY_ID 0 /tmp/data /tmp/sig enc=pkcs1 hash=sha1
Reviewed-by: Gonglei <arei.gonglei@huawei.com>
Signed-off-by: lei he <helei.sig11@bytedance.com
Signed-off-by: zhenwei pi <pizhenwei@bytedance.com>
Message-Id: <20220611064243.24535-2-pizhenwei@bytedance.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 9ce305c8beb9ba7edacd0585139cce56a195c1da
https://github.com/qemu/qemu/commit/9ce305c8beb9ba7edacd0585139cce56a195c1da
Author: Ni Xun <richardni@tencent.com>
Date: 2022-06-16 (Thu, 16 Jun 2022)
Changed paths:
M hw/virtio/vhost.c
Log Message:
-----------
vhost: also check queue state in the vhost_dev_set_log error routine
When check queue state in the vhost_dev_set_log routine, it miss the error
routine check, this patch also check queue state in error case.
Fixes: 1e5a050f5798 ("check queue state in the vhost_dev_set_log routine")
Signed-off-by: Ni Xun <richardni@tencent.com>
Reviewed-by: Zhigang Lu <tonnylu@tencent.com>
Message-Id:
<OS0PR01MB57139163F3F3955960675B52EAA79@OS0PR01MB5713.jpnprd01.prod.outlook.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 8c97e4deeca9ad791ab369d3879ebfb0267b24ca
https://github.com/qemu/qemu/commit/8c97e4deeca9ad791ab369d3879ebfb0267b24ca
Author: Ani Sinha <ani@anisinha.ca>
Date: 2022-06-16 (Thu, 16 Jun 2022)
Changed paths:
M hw/acpi/erst.c
Log Message:
-----------
acpi/erst: fix fallthrough code upon validation failure
At any step when any validation fail in check_erst_backend_storage(), there is
no need to continue further through other validation checks. Further, by
continuing even when record_size is 0, we run the risk of triggering a divide
by zero error if we continued with other validation checks. Hence, we should
simply return from this function upon validation failure.
CC: Peter Maydell <peter.maydell@linaro.org>
CC: Eric DeVolder <eric.devolder@oracle.com>
Signed-off-by: Ani Sinha <ani@anisinha.ca>
Message-Id: <20220513141005.1929422-1-ani@anisinha.ca>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Reviewed-by: Eric DeVolder <eric.devolder@oracle.com>
Commit: a28498b1f9591e12dcbfdf06dc8f54e15926760e
https://github.com/qemu/qemu/commit/a28498b1f9591e12dcbfdf06dc8f54e15926760e
Author: Richard Henderson <richard.henderson@linaro.org>
Date: 2022-06-16 (Thu, 16 Jun 2022)
Changed paths:
M backends/cryptodev-builtin.c
M backends/cryptodev-vhost-user.c
M backends/cryptodev.c
M docs/system/devices/cxl.rst
M hw/acpi/erst.c
M hw/cxl/cxl-host.c
A hw/pci-bridge/cxl_downstream.c
A hw/pci-bridge/cxl_upstream.c
M hw/pci-bridge/meson.build
M hw/virtio/trace-events
M hw/virtio/vhost-user.c
M hw/virtio/vhost.c
M hw/virtio/virtio-crypto.c
M hw/virtio/virtio-iommu.c
M include/hw/cxl/cxl.h
M include/hw/virtio/virtio-crypto.h
M include/hw/virtio/virtio-iommu.h
M include/sysemu/cryptodev.h
Log Message:
-----------
Merge tag 'for_upstream' of git://git.kernel.org/pub/scm/virt/kvm/mst/qemu
into staging
virtio,pc,pci: fixes,cleanups,features
more CXL patches
RSA support for crypto
fixes, cleanups all over the place
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
# -----BEGIN PGP SIGNATURE-----
#
# iQFDBAABCAAtFiEEXQn9CHHI+FuUyooNKB8NuNKNVGkFAmKrYLMPHG1zdEByZWRo
# YXQuY29tAAoJECgfDbjSjVRpwpwH/2IS+V7wS3q/XXPz1HndJLpUP/z+mkeu9W6+
# X1U9CJ+66Ag4eD5T/jzoN0JEjiTeET/3xM+PY5NYZCh6QTAmA7EfFZv99oNWpGd1
# +nyxOdaMDPSscOKjLfDziVTi/QYIZBtU6TeixL9whkipYCqmgbs5gXV8ynltmKyF
# bIJVeaXm5yQLcCTGzKzdXf+HmTErpEGDCDHFjzrLVjICRDdekElGVwYTn+ycl7p7
# oLsWWVDgqo0p86BITlrHUXUrxTXF3wyg2B59cT7Ilbb3o+Fa2GsP+o9IXMuVoNNp
# A+zrq1QZ49UO3XwkS03xDDioUQ1T/V0L4w9dEfaGvpY4Horv0HI=
# =PvmT
# -----END PGP SIGNATURE-----
# gpg: Signature made Thu 16 Jun 2022 09:56:19 AM PDT
# gpg: using RSA key 5D09FD0871C8F85B94CA8A0D281F0DB8D28D5469
# gpg: issuer "mst@redhat.com"
# gpg: Good signature from "Michael S. Tsirkin <mst@kernel.org>" [undefined]
# gpg: aka "Michael S. Tsirkin <mst@redhat.com>" [undefined]
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg: There is no indication that the signature belongs to the owner.
# Primary key fingerprint: 0270 606B 6F3C DF3D 0B17 0970 C350 3912 AFBE 8E67
# Subkey fingerprint: 5D09 FD08 71C8 F85B 94CA 8A0D 281F 0DB8 D28D 5469
* tag 'for_upstream' of git://git.kernel.org/pub/scm/virt/kvm/mst/qemu:
acpi/erst: fix fallthrough code upon validation failure
vhost: also check queue state in the vhost_dev_set_log error routine
crypto: Introduce RSA algorithm
virtio-iommu: Add an assert check in translate routine
virtio-iommu: Use recursive lock to avoid deadlock
virtio-iommu: Add bypass mode support to assigned device
virtio/vhost-user: Fix wrong vhost notifier GPtrArray size
docs/cxl: Add switch documentation
pci-bridge/cxl_downstream: Add a CXL switch downstream port
pci-bridge/cxl_upstream: Add a CXL switch upstream port
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Compare: https://github.com/qemu/qemu/compare/213fda642dd5...a28498b1f959