.. | .. |
---|
32 | 32 | DIAG_STAT_X2FC, |
---|
33 | 33 | DIAG_STAT_X304, |
---|
34 | 34 | DIAG_STAT_X308, |
---|
| 35 | + DIAG_STAT_X318, |
---|
35 | 36 | DIAG_STAT_X500, |
---|
36 | 37 | NR_DIAG_STAT |
---|
37 | 38 | }; |
---|
.. | .. |
---|
293 | 294 | u8 res[2]; |
---|
294 | 295 | } __aligned(8); |
---|
295 | 296 | |
---|
| 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 | + |
---|
296 | 306 | int diag204(unsigned long subcode, unsigned long size, void *addr); |
---|
297 | 307 | int diag224(void *ptr); |
---|
298 | 308 | 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; |
---|
299 | 322 | #endif /* _ASM_S390_DIAG_H */ |
---|