]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - include/asm-s390/ipl.h
Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
[linux-2.6-omap-h63xx.git] / include / asm-s390 / ipl.h
index 15bb0b529551fb605ad41a9d1f8df7e4c9d76eae..2c40fd3a137f304afd985a58c8155abadd7dcf70 100644 (file)
@@ -8,6 +8,8 @@
 #define _ASM_S390_IPL_H
 
 #include <asm/types.h>
+#include <asm/cio.h>
+#include <asm/setup.h>
 
 #define IPL_PARMBLOCK_ORIGIN   0x2000
 
@@ -77,8 +79,9 @@ struct ipl_parameter_block {
  * IPL validity flags
  */
 extern u32 ipl_flags;
-
 extern u32 dump_prefix_page;
+extern unsigned int zfcpdump_prefix_array[];
+
 extern void do_reipl(void);
 extern void ipl_save_parameters(void);
 
@@ -88,6 +91,35 @@ enum {
        IPL_NSS_VALID           = 4,
 };
 
+enum ipl_type {
+       IPL_TYPE_UNKNOWN        = 1,
+       IPL_TYPE_CCW            = 2,
+       IPL_TYPE_FCP            = 4,
+       IPL_TYPE_FCP_DUMP       = 8,
+       IPL_TYPE_NSS            = 16,
+};
+
+struct ipl_info
+{
+       enum ipl_type type;
+       union {
+               struct {
+                       struct ccw_dev_id dev_id;
+               } ccw;
+               struct {
+                       struct ccw_dev_id dev_id;
+                       u64 wwpn;
+                       u64 lun;
+               } fcp;
+               struct {
+                       char name[NSS_NAME_SIZE + 1];
+               } nss;
+       } data;
+};
+
+extern struct ipl_info ipl_info;
+extern void setup_ipl_info(void);
+
 /*
  * DIAG 308 support
  */