diff options
Diffstat (limited to 'arch/s390/include')
-rw-r--r-- | arch/s390/include/asm/ipl.h | 1 | ||||
-rw-r--r-- | arch/s390/include/asm/kexec.h | 3 | ||||
-rw-r--r-- | arch/s390/include/asm/reset.h | 2 | ||||
-rw-r--r-- | arch/s390/include/asm/setup.h | 13 |
4 files changed, 18 insertions, 1 deletions
diff --git a/arch/s390/include/asm/ipl.h b/arch/s390/include/asm/ipl.h index 97cc4403fabf..6940abfbe1d9 100644 --- a/arch/s390/include/asm/ipl.h +++ b/arch/s390/include/asm/ipl.h | |||
@@ -168,5 +168,6 @@ enum diag308_rc { | |||
168 | 168 | ||
169 | extern int diag308(unsigned long subcode, void *addr); | 169 | extern int diag308(unsigned long subcode, void *addr); |
170 | extern void diag308_reset(void); | 170 | extern void diag308_reset(void); |
171 | extern void store_status(void); | ||
171 | 172 | ||
172 | #endif /* _ASM_S390_IPL_H */ | 173 | #endif /* _ASM_S390_IPL_H */ |
diff --git a/arch/s390/include/asm/kexec.h b/arch/s390/include/asm/kexec.h index bb729b84a21e..fb1c96fa348c 100644 --- a/arch/s390/include/asm/kexec.h +++ b/arch/s390/include/asm/kexec.h | |||
@@ -30,6 +30,9 @@ | |||
30 | /* Not more than 2GB */ | 30 | /* Not more than 2GB */ |
31 | #define KEXEC_CONTROL_MEMORY_LIMIT (1UL<<31) | 31 | #define KEXEC_CONTROL_MEMORY_LIMIT (1UL<<31) |
32 | 32 | ||
33 | /* Maximum address we can use for the crash control pages */ | ||
34 | #define KEXEC_CRASH_CONTROL_MEMORY_LIMIT (-1UL) | ||
35 | |||
33 | /* Allocate one page for the pdp and the second for the code */ | 36 | /* Allocate one page for the pdp and the second for the code */ |
34 | #define KEXEC_CONTROL_PAGE_SIZE 4096 | 37 | #define KEXEC_CONTROL_PAGE_SIZE 4096 |
35 | 38 | ||
diff --git a/arch/s390/include/asm/reset.h b/arch/s390/include/asm/reset.h index f584f4a52581..3d6ad4ad2a3f 100644 --- a/arch/s390/include/asm/reset.h +++ b/arch/s390/include/asm/reset.h | |||
@@ -17,5 +17,5 @@ struct reset_call { | |||
17 | 17 | ||
18 | extern void register_reset_call(struct reset_call *reset); | 18 | extern void register_reset_call(struct reset_call *reset); |
19 | extern void unregister_reset_call(struct reset_call *reset); | 19 | extern void unregister_reset_call(struct reset_call *reset); |
20 | extern void s390_reset_system(void); | 20 | extern void s390_reset_system(void (*func)(void *), void *data); |
21 | #endif /* _ASM_S390_RESET_H */ | 21 | #endif /* _ASM_S390_RESET_H */ |
diff --git a/arch/s390/include/asm/setup.h b/arch/s390/include/asm/setup.h index d5e2ef10537d..5a099714df04 100644 --- a/arch/s390/include/asm/setup.h +++ b/arch/s390/include/asm/setup.h | |||
@@ -26,15 +26,21 @@ | |||
26 | #define IPL_DEVICE (*(unsigned long *) (0x10404)) | 26 | #define IPL_DEVICE (*(unsigned long *) (0x10404)) |
27 | #define INITRD_START (*(unsigned long *) (0x1040C)) | 27 | #define INITRD_START (*(unsigned long *) (0x1040C)) |
28 | #define INITRD_SIZE (*(unsigned long *) (0x10414)) | 28 | #define INITRD_SIZE (*(unsigned long *) (0x10414)) |
29 | #define OLDMEM_BASE (*(unsigned long *) (0x1041C)) | ||
30 | #define OLDMEM_SIZE (*(unsigned long *) (0x10424)) | ||
29 | #else /* __s390x__ */ | 31 | #else /* __s390x__ */ |
30 | #define IPL_DEVICE (*(unsigned long *) (0x10400)) | 32 | #define IPL_DEVICE (*(unsigned long *) (0x10400)) |
31 | #define INITRD_START (*(unsigned long *) (0x10408)) | 33 | #define INITRD_START (*(unsigned long *) (0x10408)) |
32 | #define INITRD_SIZE (*(unsigned long *) (0x10410)) | 34 | #define INITRD_SIZE (*(unsigned long *) (0x10410)) |
35 | #define OLDMEM_BASE (*(unsigned long *) (0x10418)) | ||
36 | #define OLDMEM_SIZE (*(unsigned long *) (0x10420)) | ||
33 | #endif /* __s390x__ */ | 37 | #endif /* __s390x__ */ |
34 | #define COMMAND_LINE ((char *) (0x10480)) | 38 | #define COMMAND_LINE ((char *) (0x10480)) |
35 | 39 | ||
36 | #define CHUNK_READ_WRITE 0 | 40 | #define CHUNK_READ_WRITE 0 |
37 | #define CHUNK_READ_ONLY 1 | 41 | #define CHUNK_READ_ONLY 1 |
42 | #define CHUNK_OLDMEM 4 | ||
43 | #define CHUNK_CRASHK 5 | ||
38 | 44 | ||
39 | struct mem_chunk { | 45 | struct mem_chunk { |
40 | unsigned long addr; | 46 | unsigned long addr; |
@@ -48,6 +54,8 @@ extern int memory_end_set; | |||
48 | extern unsigned long memory_end; | 54 | extern unsigned long memory_end; |
49 | 55 | ||
50 | void detect_memory_layout(struct mem_chunk chunk[]); | 56 | void detect_memory_layout(struct mem_chunk chunk[]); |
57 | void create_mem_hole(struct mem_chunk memory_chunk[], unsigned long addr, | ||
58 | unsigned long size, int type); | ||
51 | 59 | ||
52 | #define PRIMARY_SPACE_MODE 0 | 60 | #define PRIMARY_SPACE_MODE 0 |
53 | #define ACCESS_REGISTER_MODE 1 | 61 | #define ACCESS_REGISTER_MODE 1 |
@@ -106,6 +114,7 @@ extern unsigned int user_mode; | |||
106 | #endif /* __s390x__ */ | 114 | #endif /* __s390x__ */ |
107 | 115 | ||
108 | #define ZFCPDUMP_HSA_SIZE (32UL<<20) | 116 | #define ZFCPDUMP_HSA_SIZE (32UL<<20) |
117 | #define ZFCPDUMP_HSA_SIZE_MAX (64UL<<20) | ||
109 | 118 | ||
110 | /* | 119 | /* |
111 | * Console mode. Override with conmode= | 120 | * Console mode. Override with conmode= |
@@ -134,10 +143,14 @@ extern char kernel_nss_name[]; | |||
134 | #define IPL_DEVICE 0x10404 | 143 | #define IPL_DEVICE 0x10404 |
135 | #define INITRD_START 0x1040C | 144 | #define INITRD_START 0x1040C |
136 | #define INITRD_SIZE 0x10414 | 145 | #define INITRD_SIZE 0x10414 |
146 | #define OLDMEM_BASE 0x1041C | ||
147 | #define OLDMEM_SIZE 0x10424 | ||
137 | #else /* __s390x__ */ | 148 | #else /* __s390x__ */ |
138 | #define IPL_DEVICE 0x10400 | 149 | #define IPL_DEVICE 0x10400 |
139 | #define INITRD_START 0x10408 | 150 | #define INITRD_START 0x10408 |
140 | #define INITRD_SIZE 0x10410 | 151 | #define INITRD_SIZE 0x10410 |
152 | #define OLDMEM_BASE 0x10418 | ||
153 | #define OLDMEM_SIZE 0x10420 | ||
141 | #endif /* __s390x__ */ | 154 | #endif /* __s390x__ */ |
142 | #define COMMAND_LINE 0x10480 | 155 | #define COMMAND_LINE 0x10480 |
143 | 156 | ||