]> Git Repo - qemu.git/commitdiff
vfio-ccw: allow non-prefetch ORBs
authorJared Rossi <[email protected]>
Tue, 12 May 2020 18:15:35 +0000 (14:15 -0400)
committerCornelia Huck <[email protected]>
Fri, 5 Jun 2020 15:13:11 +0000 (17:13 +0200)
Remove the explicit prefetch check when using vfio-ccw devices.
This check does not trigger in practice as all Linux channel programs
are intended to use prefetch.

Newer Linux kernel versions do not require to force the PFCH flag with
vfio-ccw devices anymore.

Signed-off-by: Jared Rossi <[email protected]>
Reviewed-by: Eric Farman <[email protected]>
Message-Id: <20200512181535[email protected]>
Signed-off-by: Cornelia Huck <[email protected]>
hw/vfio/ccw.c

index c8624943c1778ec744a636fef56e84681e912f85..63406184d22619bae0ad1013703382dd39083814 100644 (file)
@@ -74,16 +74,9 @@ static IOInstEnding vfio_ccw_handle_request(SubchDev *sch)
     struct ccw_io_region *region = vcdev->io_region;
     int ret;
 
-    if (!(sch->orb.ctrl0 & ORB_CTRL0_MASK_PFCH)) {
-        if (!(vcdev->force_orb_pfch)) {
-            warn_once_pfch(vcdev, sch, "requires PFCH flag set");
-            sch_gen_unit_exception(sch);
-            css_inject_io_interrupt(sch);
-            return IOINST_CC_EXPECTED;
-        } else {
-            sch->orb.ctrl0 |= ORB_CTRL0_MASK_PFCH;
-            warn_once_pfch(vcdev, sch, "PFCH flag forced");
-        }
+    if (!(sch->orb.ctrl0 & ORB_CTRL0_MASK_PFCH) && vcdev->force_orb_pfch) {
+        sch->orb.ctrl0 |= ORB_CTRL0_MASK_PFCH;
+        warn_once_pfch(vcdev, sch, "PFCH flag forced");
     }
 
     QEMU_BUILD_BUG_ON(sizeof(region->orb_area) != sizeof(ORB));
This page took 0.028204 seconds and 4 git commands to generate.