KVM: s390: pv: Add dump support definitions
authorJanosch Frank <frankja@linux.ibm.com>
Tue, 17 May 2022 16:36:22 +0000 (16:36 +0000)
committerChristian Borntraeger <borntraeger@linux.ibm.com>
Wed, 1 Jun 2022 14:57:14 +0000 (16:57 +0200)
Let's add the constants and structure definitions needed for the dump
support.

Signed-off-by: Janosch Frank <frankja@linux.ibm.com>
Reviewed-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
Reviewed-by: Steffen Eiden <seiden@linux.ibm.com>
Link: https://lore.kernel.org/r/20220517163629.3443-5-frankja@linux.ibm.com
Message-Id: <20220517163629.3443-5-frankja@linux.ibm.com>
Signed-off-by: Christian Borntraeger <borntraeger@linux.ibm.com>
arch/s390/include/asm/uv.h

index e8257a2..3e597bb 100644 (file)
 #define UVC_CMD_SET_UNSHARE_ALL                0x0340
 #define UVC_CMD_PIN_PAGE_SHARED                0x0341
 #define UVC_CMD_UNPIN_PAGE_SHARED      0x0342
+#define UVC_CMD_DUMP_INIT              0x0400
+#define UVC_CMD_DUMP_CONF_STOR_STATE   0x0401
+#define UVC_CMD_DUMP_CPU               0x0402
+#define UVC_CMD_DUMP_COMPLETE          0x0403
 #define UVC_CMD_SET_SHARED_ACCESS      0x1000
 #define UVC_CMD_REMOVE_SHARED_ACCESS   0x1001
 #define UVC_CMD_RETR_ATTEST            0x1020
@@ -77,6 +81,10 @@ enum uv_cmds_inst {
        BIT_UVC_CMD_UNSHARE_ALL = 20,
        BIT_UVC_CMD_PIN_PAGE_SHARED = 21,
        BIT_UVC_CMD_UNPIN_PAGE_SHARED = 22,
+       BIT_UVC_CMD_DUMP_INIT = 24,
+       BIT_UVC_CMD_DUMP_CONFIG_STOR_STATE = 25,
+       BIT_UVC_CMD_DUMP_CPU = 26,
+       BIT_UVC_CMD_DUMP_COMPLETE = 27,
        BIT_UVC_CMD_RETR_ATTEST = 28,
 };
 
@@ -246,6 +254,31 @@ struct uv_cb_attest {
        u64 reserved168[4];             /* 0x0168 */
 } __packed __aligned(8);
 
+struct uv_cb_dump_cpu {
+       struct uv_cb_header header;
+       u64 reserved08[2];
+       u64 cpu_handle;
+       u64 dump_area_origin;
+       u64 reserved28[5];
+} __packed __aligned(8);
+
+struct uv_cb_dump_stor_state {
+       struct uv_cb_header header;
+       u64 reserved08[2];
+       u64 config_handle;
+       u64 dump_area_origin;
+       u64 gaddr;
+       u64 reserved28[4];
+} __packed __aligned(8);
+
+struct uv_cb_dump_complete {
+       struct uv_cb_header header;
+       u64 reserved08[2];
+       u64 config_handle;
+       u64 dump_area_origin;
+       u64 reserved30[5];
+} __packed __aligned(8);
+
 static inline int __uv_call(unsigned long r1, unsigned long r2)
 {
        int cc;