pc, virtio: fixes
A couple of fixes to amd iommu, and a fix to virtio iommu. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> -----BEGIN PGP SIGNATURE----- iQEcBAABAgAGBQJbND4FAAoJECgfDbjSjVRpPfMH/20ND3U1FM65HtH0DNg62ABl qGcgyQvwSTBG74IEBoDAvZPXJ7s2OPDSdcKGoHgGMGLWYU/Xno6GR6G8dKW0U9Jk /FOfhGEITFBCBsvzXM40+HqHhL2iNkw2PGt3aJqtx8BHJEnPzBmCKEIl6NmYHi9d dp9iMerYaJtXWDyPGwk0vEFZTsjQomRz33KyRF2jGM/8QJH5X50UuYaDGQHTA6OH 5LSIfOf39hcXxssTAR+nZjJQIbNcJ5vXHXgGWWlA0TBF0/0eoJLsFehEEVKlLjUy 1bzM/90SgrTFFbJWULm1Y/0phAl02v/4NSKWg2x2hlJDRbttHrskVg4Y5p5wmvo= =y+sn -----END PGP SIGNATURE----- Merge remote-tracking branch 'remotes/mst/tags/for_upstream' into staging pc, virtio: fixes A couple of fixes to amd iommu, and a fix to virtio iommu. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> # gpg: Signature made Thu 28 Jun 2018 02:46:45 BST # gpg: using RSA key 281F0DB8D28D5469 # gpg: Good signature from "Michael S. Tsirkin <mst@kernel.org>" # gpg: aka "Michael S. Tsirkin <mst@redhat.com>" # 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 * remotes/mst/tags/for_upstream: virtio-rng: process pending requests on DRIVER_OK hw/i386: Fix AMDVI GATS and HATS encodings hw/i386: Fix IVHD entry length for AMD IOMMU Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
commit
46d0885adf
@ -2537,7 +2537,7 @@ build_amd_iommu(GArray *table_data, BIOSLinker *linker)
|
||||
(1UL << 7), /* PPRSup */
|
||||
1);
|
||||
/* IVHD length */
|
||||
build_append_int_noprefix(table_data, 0x24, 2);
|
||||
build_append_int_noprefix(table_data, 28, 2);
|
||||
/* DeviceID */
|
||||
build_append_int_noprefix(table_data, s->devid, 2);
|
||||
/* Capability offset */
|
||||
|
@ -165,8 +165,8 @@
|
||||
#define AMDVI_DTE_UPPER_QUAD_RESERVED 0x08f0000000000000
|
||||
|
||||
/* AMDVI paging mode */
|
||||
#define AMDVI_GATS_MODE (6ULL << 12)
|
||||
#define AMDVI_HATS_MODE (6ULL << 10)
|
||||
#define AMDVI_GATS_MODE (2ULL << 12)
|
||||
#define AMDVI_HATS_MODE (2ULL << 10)
|
||||
|
||||
/* IOTLB */
|
||||
#define AMDVI_IOTLB_MAX_SIZE 1024
|
||||
|
@ -156,6 +156,19 @@ static void check_rate_limit(void *opaque)
|
||||
vrng->activate_timer = true;
|
||||
}
|
||||
|
||||
static void virtio_rng_set_status(VirtIODevice *vdev, uint8_t status)
|
||||
{
|
||||
VirtIORNG *vrng = VIRTIO_RNG(vdev);
|
||||
|
||||
if (!vdev->vm_running) {
|
||||
return;
|
||||
}
|
||||
vdev->status = status;
|
||||
|
||||
/* Something changed, try to process buffers */
|
||||
virtio_rng_process(vrng);
|
||||
}
|
||||
|
||||
static void virtio_rng_device_realize(DeviceState *dev, Error **errp)
|
||||
{
|
||||
VirtIODevice *vdev = VIRTIO_DEVICE(dev);
|
||||
@ -261,6 +274,7 @@ static void virtio_rng_class_init(ObjectClass *klass, void *data)
|
||||
vdc->realize = virtio_rng_device_realize;
|
||||
vdc->unrealize = virtio_rng_device_unrealize;
|
||||
vdc->get_features = get_features;
|
||||
vdc->set_status = virtio_rng_set_status;
|
||||
}
|
||||
|
||||
static const TypeInfo virtio_rng_info = {
|
||||
|
Loading…
Reference in New Issue
Block a user