0727d3
From f3125f6379cbc070e9acaf58d0ec37972992744b Mon Sep 17 00:00:00 2001
0727d3
From: Thomas Huth <thuth@redhat.com>
0727d3
Date: Wed, 6 Apr 2022 10:56:26 +0200
0727d3
Subject: [PATCH 4/5] s390x/css: fix PMCW invalid mask
0727d3
0727d3
RH-Author: Thomas Huth <thuth@redhat.com>
0727d3
RH-MergeRequest: 145: s390x/css: fix PMCW invalid mask
0727d3
RH-Commit: [1/1] fbf192f651aa668af56ca5c77455595fcdb19508
0727d3
RH-Bugzilla: 2071070
0727d3
RH-Acked-by: Jon Maloy <jmaloy@redhat.com>
0727d3
RH-Acked-by: David Hildenbrand <david@redhat.com>
0727d3
RH-Acked-by: Cornelia Huck <cohuck@redhat.com>
0727d3
0727d3
Bugzilla: http://bugzilla.redhat.com/2071070
0727d3
0727d3
commit 2df59b73e0864f021f6179f32f7ed364f6d4f38d
0727d3
Author: Nico Boehr <nrb@linux.ibm.com>
0727d3
Date:   Thu Dec 16 14:16:57 2021 +0100
0727d3
0727d3
    s390x/css: fix PMCW invalid mask
0727d3
0727d3
    Previously, we required bits 5, 6 and 7 to be zero (0x07 == 0b111). But,
0727d3
    as per the principles of operation, bit 5 is ignored in MSCH and bits 0,
0727d3
    1, 6 and 7 need to be zero.
0727d3
0727d3
    As both PMCW_FLAGS_MASK_INVALID and ioinst_schib_valid() are only used
0727d3
    by ioinst_handle_msch(), adjust the mask accordingly.
0727d3
0727d3
    Fixes: db1c8f53bfb1 ("s390: Channel I/O basic definitions.")
0727d3
    Signed-off-by: Nico Boehr <nrb@linux.ibm.com>
0727d3
    Reviewed-by: Pierre Morel <pmorel@linux.ibm.com>
0727d3
    Reviewed-by: Halil Pasic <pasic@linux.ibm.com>
0727d3
    Reviewed-by: Janosch Frank <frankja@linux.ibm.com>
0727d3
    Reviewed-by: Cornelia Huck <cohuck@redhat.com>
0727d3
    Message-Id: <20211216131657.1057978-1-nrb@linux.ibm.com>
0727d3
    Signed-off-by: Thomas Huth <thuth@redhat.com>
0727d3
0727d3
Signed-off-by: Thomas Huth <thuth@redhat.com>
0727d3
---
0727d3
 include/hw/s390x/ioinst.h | 2 +-
0727d3
 1 file changed, 1 insertion(+), 1 deletion(-)
0727d3
0727d3
diff --git a/include/hw/s390x/ioinst.h b/include/hw/s390x/ioinst.h
0727d3
index 3771fff9d4..ea8d0f2444 100644
0727d3
--- a/include/hw/s390x/ioinst.h
0727d3
+++ b/include/hw/s390x/ioinst.h
0727d3
@@ -107,7 +107,7 @@ QEMU_BUILD_BUG_MSG(sizeof(PMCW) != 28, "size of PMCW is wrong");
0727d3
 #define PMCW_FLAGS_MASK_MP 0x0004
0727d3
 #define PMCW_FLAGS_MASK_TF 0x0002
0727d3
 #define PMCW_FLAGS_MASK_DNV 0x0001
0727d3
-#define PMCW_FLAGS_MASK_INVALID 0x0700
0727d3
+#define PMCW_FLAGS_MASK_INVALID 0xc300
0727d3
 
0727d3
 #define PMCW_CHARS_MASK_ST 0x00e00000
0727d3
 #define PMCW_CHARS_MASK_MBFC 0x00000004
0727d3
-- 
0727d3
2.27.0
0727d3