hc
2024-02-20 102a0743326a03cd1a1202ceda21e175b7d3575c
kernel/arch/s390/include/asm/diag.h
....@@ -32,6 +32,7 @@
3232 DIAG_STAT_X2FC,
3333 DIAG_STAT_X304,
3434 DIAG_STAT_X308,
35
+ DIAG_STAT_X318,
3536 DIAG_STAT_X500,
3637 NR_DIAG_STAT
3738 };
....@@ -293,7 +294,29 @@
293294 u8 res[2];
294295 } __aligned(8);
295296
297
+#define CPNC_LINUX 0x4
298
+union diag318_info {
299
+ unsigned long val;
300
+ struct {
301
+ unsigned long cpnc : 8;
302
+ unsigned long cpvc : 56;
303
+ };
304
+};
305
+
296306 int diag204(unsigned long subcode, unsigned long size, void *addr);
297307 int diag224(void *ptr);
298308 int diag26c(void *req, void *resp, enum diag26c_sc subcode);
309
+
310
+struct hypfs_diag0c_entry;
311
+
312
+struct diag_ops {
313
+ int (*diag210)(struct diag210 *addr);
314
+ int (*diag26c)(void *req, void *resp, enum diag26c_sc subcode);
315
+ int (*diag14)(unsigned long rx, unsigned long ry1, unsigned long subcode);
316
+ void (*diag0c)(struct hypfs_diag0c_entry *entry);
317
+ void (*diag308_reset)(void);
318
+};
319
+
320
+extern struct diag_ops diag_dma_ops;
321
+extern struct diag210 *__diag210_tmp_dma;
299322 #endif /* _ASM_S390_DIAG_H */