Thread (28 messages) 28 messages, 3 authors, 2021-08-09

Re: [PATCH v3 01/14] KVM: s390: pv: add macros for UVC CC values

From: Claudio Imbrenda <imbrenda@linux.ibm.com>
Date: 2021-08-06 09:35:15
Also in: linux-s390, lkml

On Fri, 6 Aug 2021 09:26:11 +0200
David Hildenbrand [off-list ref] wrote:
On 04.08.21 17:40, Claudio Imbrenda wrote:
quoted
Add macros to describe the 4 possible CC values returned by the UVC
instruction.

Signed-off-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
---
  arch/s390/include/asm/uv.h | 5 +++++
  1 file changed, 5 insertions(+)
diff --git a/arch/s390/include/asm/uv.h b/arch/s390/include/asm/uv.h
index 12c5f006c136..b35add51b967 100644
--- a/arch/s390/include/asm/uv.h
+++ b/arch/s390/include/asm/uv.h
@@ -18,6 +18,11 @@
  #include <asm/page.h>
  #include <asm/gmap.h>
  
+#define UVC_CC_OK	0
+#define UVC_CC_ERROR	1
+#define UVC_CC_BUSY 	2
+#define UVC_CC_PARTIAL	3
+
  #define UVC_RC_EXECUTED		0x0001
  #define UVC_RC_INV_CMD		0x0002
  #define UVC_RC_INV_STATE	0x0003
  
Do we have any users we could directly fix up? AFAIKs, most users
don't really care about the cc value, only about cc vs !cc.
maybe there will be in the future.

I wanted to split away this generic change from the patch that uses it,
to improve readability
quoted hunk ↗ jump to hunk
The only instances I was able to spot quickly:

diff --git a/arch/s390/include/asm/uv.h b/arch/s390/include/asm/uv.h
index 12c5f006c136..dd72d325f9e8 100644
--- a/arch/s390/include/asm/uv.h
+++ b/arch/s390/include/asm/uv.h
@@ -233,7 +233,7 @@ static inline int uv_call(unsigned long r1,
unsigned long r2)

         do {
                 cc = __uv_call(r1, r2);
-       } while (cc > 1);
+       } while (cc >= UVC_CC_BUSY);
         return cc;
  }
@@ -245,7 +245,7 @@ static inline int uv_call_sched(unsigned long r1, 
unsigned long r2)
         do {
                 cc = __uv_call(r1, r2);
                 cond_resched();
-       } while (cc > 1);
+       } while (cc >= UVC_CC_BUSY);
         return cc;
  }


Of course, we could replace all checks for cc vs !cc with "cc != 
UVC_CC_OK" vs "cc == UVC_CC_OK".
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help