On 11/22/2018 11:54 AM, Cornelia Huck wrote:
diff --git a/drivers/s390/cio/vfio_ccw_private.h b/drivers/s390/cio/vfio_ccw_private.h
index 078e46f9623d..a6f9f84526e2 100644
--- a/drivers/s390/cio/vfio_ccw_private.h
+++ b/drivers/s390/cio/vfio_ccw_private.h
@@ -3,9 +3,11 @@
* Private stuff for vfio_ccw driver
*
* Copyright IBM Corp. 2017
+ * Copyright Red Hat, Inc. 2018
*
* Author(s): Dong Jia Shi<bjsdjshi@xxxxxxxxxxxxxxxxxx>
* Xiao Feng Ren<renxiaof@xxxxxxxxxxxxxxxxxx>
+ * Cornelia Huck<cohuck@xxxxxxxxxx>
*/
#ifndef_VFIO_CCW_PRIVATE_H_
@@ -19,6 +21,38 @@
#include "css.h"
#include "vfio_ccw_cp.h"
+#define VFIO_CCW_OFFSET_SHIFT 40
+#define VFIO_CCW_OFFSET_TO_INDEX(off) (off >> VFIO_CCW_OFFSET_SHIFT)
+#define VFIO_CCW_INDEX_TO_OFFSET(index) ((u64)(index) << VFIO_CCW_OFFSET_SHIFT)
+#define VFIO_CCW_OFFSET_MASK (((u64)(1) << VFIO_CCW_OFFSET_SHIFT) - 1)
+
Why is the offset shift 40? I know vfio-pci is also using the same
offset shift, but I am curious about the reasoning behind why we are
using this? :)