| 
									
										
										
										
											2012-05-08 21:22:25 +03:00
										 |  |  | /* | 
					
						
							|  |  |  |  * Real-mode blob header; this should match realmode.h and be
 | 
					
						
							|  |  |  |  * readonly; for mutable data instead add pointers into the .data
 | 
					
						
							|  |  |  |  * or .bss sections as appropriate. | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #include <linux/linkage.h> | 
					
						
							|  |  |  | #include <asm/page_types.h> | 
					
						
							| 
									
										
										
										
											2012-06-16 21:47:37 -07:00
										 |  |  | #include <asm/segment.h> | 
					
						
							| 
									
										
										
										
											2012-05-08 21:22:25 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-05-21 00:02:45 -07:00
										 |  |  | #include "realmode.h" | 
					
						
							|  |  |  | 	 | 
					
						
							| 
									
										
										
										
											2012-05-08 21:22:43 +03:00
										 |  |  | 	.section ".header", "a" | 
					
						
							| 
									
										
										
										
											2012-05-08 21:22:25 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-05-08 21:22:46 +03:00
										 |  |  | 	.balign	16
 | 
					
						
							| 
									
										
										
										
											2012-05-08 21:22:40 +03:00
										 |  |  | GLOBAL(real_mode_header) | 
					
						
							| 
									
										
										
										
											2012-05-08 21:22:43 +03:00
										 |  |  | 	.long	pa_text_start
 | 
					
						
							|  |  |  | 	.long	pa_ro_end
 | 
					
						
							|  |  |  | 	/* SMP trampoline */ | 
					
						
							|  |  |  | 	.long	pa_trampoline_start
 | 
					
						
							|  |  |  | 	.long	pa_trampoline_status
 | 
					
						
							|  |  |  | 	.long	pa_trampoline_header
 | 
					
						
							|  |  |  | #ifdef CONFIG_X86_64 | 
					
						
							|  |  |  | 	.long	pa_trampoline_pgd;
 | 
					
						
							| 
									
										
										
										
											2012-05-08 21:22:29 +03:00
										 |  |  | #endif | 
					
						
							| 
									
										
										
										
											2012-05-08 21:22:43 +03:00
										 |  |  | 	/* ACPI S3 wakeup */ | 
					
						
							| 
									
										
										
										
											2012-05-08 21:22:29 +03:00
										 |  |  | #ifdef CONFIG_ACPI_SLEEP | 
					
						
							| 
									
										
										
										
											2012-05-08 21:22:43 +03:00
										 |  |  | 	.long	pa_wakeup_start
 | 
					
						
							|  |  |  | 	.long	pa_wakeup_header
 | 
					
						
							|  |  |  | #endif | 
					
						
							|  |  |  | 	/* APM/BIOS reboot */ | 
					
						
							|  |  |  | 	.long	pa_machine_real_restart_asm
 | 
					
						
							| 
									
										
										
										
											2012-06-16 21:47:37 -07:00
										 |  |  | #ifdef CONFIG_X86_64 | 
					
						
							|  |  |  | 	.long	__KERNEL32_CS
 | 
					
						
							| 
									
										
										
										
											2012-05-08 21:22:27 +03:00
										 |  |  | #endif | 
					
						
							| 
									
										
										
										
											2012-05-08 21:22:25 +03:00
										 |  |  | END(real_mode_header) | 
					
						
							| 
									
										
										
										
											2012-05-21 00:02:45 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	/* End signature, used to verify integrity */ | 
					
						
							|  |  |  | 	.section ".signature","a" | 
					
						
							|  |  |  | 	.balign 4
 | 
					
						
							|  |  |  | GLOBAL(end_signature) | 
					
						
							|  |  |  | 	.long	REALMODE_END_SIGNATURE
 | 
					
						
							|  |  |  | END(end_signature) |