]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - include/asm-s390/ipl.h
[S390] include/asm-s390/: Spelling fixes
[linux-2.6-omap-h63xx.git] / include / asm-s390 / ipl.h
index 0eb64083480a82146ce755206a0e09dff3aabea8..c1b2e50392bb095dcba90a0b797133eb4583e2c1 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
 
@@ -74,13 +76,15 @@ struct ipl_parameter_block {
 } __attribute__((packed));
 
 /*
- * IPL validity flags and parameters as detected in head.S
+ * IPL validity flags
  */
 extern u32 ipl_flags;
-extern u16 ipl_devno;
-
 extern u32 dump_prefix_page;
+extern unsigned int zfcpdump_prefix_array[];
+
 extern void do_reipl(void);
+extern void do_halt(void);
+extern void do_poff(void);
 extern void ipl_save_parameters(void);
 
 enum {
@@ -89,6 +93,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(void);
+
 /*
  * DIAG 308 support
  */
@@ -110,6 +143,10 @@ enum diag308_opt {
        DIAG308_IPL_OPT_DUMP    = 0x20,
 };
 
+enum diag308_flags {
+       DIAG308_FLAGS_LP_VALID  = 0x80,
+};
+
 enum diag308_rc {
        DIAG308_RC_OK   = 1,
 };