]> git.proxmox.com Git - mirror_edk2.git/blobdiff - OvmfPkg/VirtioBlkDxe/VirtioBlk.c
OvmfPkg: VirtioBlkDxe: don't clear non-negotiable feature bits
[mirror_edk2.git] / OvmfPkg / VirtioBlkDxe / VirtioBlk.c
index daccc7a5d06b48ebcbe8cb4ed28ceaba647c9344..8257effac22d829df8407f98b12680c22a2f0487 100644 (file)
@@ -737,12 +737,11 @@ VirtioBlkInit (
 \r
 \r
   //\r
-  // step 5 -- Report understood features. There are no virtio-blk specific\r
-  // features to negotiate in virtio-0.9.5, plus we do not want any of the\r
-  // device-independent (known or unknown) VIRTIO_F_* capabilities (see\r
-  // Appendix B).\r
+  // step 5 -- Report understood features.\r
   //\r
-  Status = Dev->VirtIo->SetGuestFeatures (Dev->VirtIo, 0);\r
+  Features &= VIRTIO_BLK_F_BLK_SIZE | VIRTIO_BLK_F_TOPOLOGY | VIRTIO_BLK_F_RO |\r
+              VIRTIO_BLK_F_FLUSH;\r
+  Status = Dev->VirtIo->SetGuestFeatures (Dev->VirtIo, Features);\r
   if (EFI_ERROR (Status)) {\r
     goto ReleaseQueue;\r
   }\r