33 lines
		
	
	
		
			607 B
		
	
	
	
		
			ArmAsm
		
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			607 B
		
	
	
	
		
			ArmAsm
		
	
	
	
| /*
 | |
|  * QEMU Boot sector to launch a preloaded Linux kernel
 | |
|  * Copyright (c) 2004 Fabrice Bellard
 | |
|  */
 | |
| 
 | |
| #define LOAD_SEG 0x9000
 | |
|         
 | |
| .code16	
 | |
| .text
 | |
| 	.globl	linux_boot_start
 | |
| 	.globl	linux_boot_end
 | |
| 
 | |
| linux_boot_start:
 | |
|         cli
 | |
|         cld
 | |
|         mov $LOAD_SEG, %ax
 | |
|         mov %ax, %ds
 | |
|         mov %ax, %es
 | |
|         mov %ax, %fs
 | |
|         mov %ax, %gs
 | |
|         mov %ax, %ss
 | |
|         mov $0x8ffe, %sp
 | |
|         ljmp $LOAD_SEG + 0x20, $0
 | |
| 
 | |
| 1:              
 | |
|         .fill 510 - (1b - linux_boot_start), 1, 0
 | |
| 
 | |
|         /* boot sector signature */
 | |
|         .byte 0x55
 | |
|         .byte 0xaa
 | |
|                 
 | |
| linux_boot_end:
 |