| 
									
										
										
										
											2005-12-04 18:39:37 +11:00
										 |  |  | #ifndef _PPC64_KDUMP_H
 | 
					
						
							|  |  |  | #define _PPC64_KDUMP_H
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-12-17 10:09:26 +00:00
										 |  |  | #include <asm/page.h>
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2006-05-17 18:00:49 +10:00
										 |  |  | #define KDUMP_KERNELBASE	0x2000000
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2005-12-04 18:39:37 +11:00
										 |  |  | /* How many bytes to reserve at zero for kdump. The reserve limit should
 | 
					
						
							| 
									
										
										
										
											2006-05-17 18:00:49 +10:00
										 |  |  |  * be greater or equal to the trampoline's end address. | 
					
						
							|  |  |  |  * Reserve to the end of the FWNMI area, see head_64.S */ | 
					
						
							| 
									
										
										
										
											2006-09-08 07:59:52 +05:30
										 |  |  | #define KDUMP_RESERVE_LIMIT	0x10000 /* 64K */
 | 
					
						
							| 
									
										
										
										
											2005-12-04 18:39:37 +11:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2006-05-17 18:00:49 +10:00
										 |  |  | #ifdef CONFIG_CRASH_DUMP
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-12-17 10:09:26 +00:00
										 |  |  | /*
 | 
					
						
							|  |  |  |  * On PPC64 translation is disabled during trampoline setup, so we use | 
					
						
							|  |  |  |  * physical addresses. Though on PPC32 translation is already enabled, | 
					
						
							|  |  |  |  * so we can't do the same. Luckily create_trampoline() creates relative | 
					
						
							|  |  |  |  * branches, so we can just add the PAGE_OFFSET and don't worry about it. | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | #ifdef __powerpc64__
 | 
					
						
							| 
									
										
										
										
											2005-12-04 18:39:37 +11:00
										 |  |  | #define KDUMP_TRAMPOLINE_START	0x0100
 | 
					
						
							|  |  |  | #define KDUMP_TRAMPOLINE_END	0x3000
 | 
					
						
							| 
									
										
										
										
											2008-12-17 10:09:26 +00:00
										 |  |  | #else
 | 
					
						
							|  |  |  | #define KDUMP_TRAMPOLINE_START	(0x0100 + PAGE_OFFSET)
 | 
					
						
							|  |  |  | #define KDUMP_TRAMPOLINE_END	(0x3000 + PAGE_OFFSET)
 | 
					
						
							|  |  |  | #endif /* __powerpc64__ */
 | 
					
						
							| 
									
										
										
										
											2005-12-04 18:39:37 +11:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2006-06-22 23:35:10 -07:00
										 |  |  | #define KDUMP_MIN_TCE_ENTRIES	2048
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2006-05-17 18:00:49 +10:00
										 |  |  | #endif /* CONFIG_CRASH_DUMP */
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #ifndef __ASSEMBLY__
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-12-14 22:57:15 +00:00
										 |  |  | #if defined(CONFIG_CRASH_DUMP) && !defined(CONFIG_NONSTATIC_KERNEL)
 | 
					
						
							| 
									
										
										
										
											2006-05-17 18:00:49 +10:00
										 |  |  | extern void reserve_kdump_trampoline(void); | 
					
						
							|  |  |  | extern void setup_kdump_trampoline(void); | 
					
						
							| 
									
										
										
										
											2008-10-21 17:38:10 +00:00
										 |  |  | #else
 | 
					
						
							| 
									
										
										
										
											2011-12-14 22:57:15 +00:00
										 |  |  | /* !CRASH_DUMP || !NONSTATIC_KERNEL */ | 
					
						
							| 
									
										
										
										
											2006-05-17 18:00:49 +10:00
										 |  |  | static inline void reserve_kdump_trampoline(void) { ; } | 
					
						
							|  |  |  | static inline void setup_kdump_trampoline(void) { ; } | 
					
						
							| 
									
										
										
										
											2008-10-21 17:38:10 +00:00
										 |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2006-05-17 18:00:49 +10:00
										 |  |  | 
 | 
					
						
							|  |  |  | #endif /* __ASSEMBLY__ */
 | 
					
						
							| 
									
										
										
										
											2005-12-04 18:39:37 +11:00
										 |  |  | 
 | 
					
						
							|  |  |  | #endif /* __PPC64_KDUMP_H */
 |