 1da177e4c3
			
		
	
	
	1da177e4c3
	
	
	
		
			
			Initial git repository build. I'm not bothering with the full history, even though we have it. We can create a separate "historical" git archive of that later if we want to, and in the meantime it's about 3.2GB when imported into git - space that would just make the early git days unnecessarily complicated, when we don't have a lot of good infrastructure for it. Let it rip!
		
			
				
	
	
		
			59 lines
		
	
	
	
		
			1.6 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			59 lines
		
	
	
	
		
			1.6 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  * 1. load vmlinuz
 | |
|  *
 | |
|  * CONFIG_MEMORY_START  	+-----------------------+
 | |
|  *				|        vmlinuz	|
 | |
|  *				+-----------------------+
 | |
|  * 2. decompressed
 | |
|  *
 | |
|  * CONFIG_MEMORY_START  	+-----------------------+
 | |
|  *				|        vmlinuz	|
 | |
|  *				+-----------------------+
 | |
|  *				|			|
 | |
|  * BOOT_RELOC_ADDR		+-----------------------+
 | |
|  *				|		 	|
 | |
|  * KERNEL_DECOMPRESS_ADDR 	+-----------------------+
 | |
|  *				|  	vmlinux		|
 | |
|  *				+-----------------------+
 | |
|  *
 | |
|  * 3. relocate copy & jump code
 | |
|  *
 | |
|  * CONFIG_MEMORY_START  	+-----------------------+
 | |
|  *				|        vmlinuz	|
 | |
|  *				+-----------------------+
 | |
|  *				|			|
 | |
|  * BOOT_RELOC_ADDR		+-----------------------+
 | |
|  *				|    boot(copy&jump)	|
 | |
|  * KERNEL_DECOMPRESS_ADDR 	+-----------------------+
 | |
|  *				|  	vmlinux		|
 | |
|  *				+-----------------------+
 | |
|  *
 | |
|  * 4. relocate decompressed kernel
 | |
|  *
 | |
|  * CONFIG_MEMORY_START  	+-----------------------+
 | |
|  *				|        vmlinux	|
 | |
|  *				+-----------------------+
 | |
|  *				|			|
 | |
|  * BOOT_RELOC_ADDR		+-----------------------+
 | |
|  *				|     boot(copy&jump) 	|
 | |
|  * KERNEL_DECOMPRESS_ADDR 	+-----------------------+
 | |
|  *				|  			|
 | |
|  *				+-----------------------+
 | |
|  *
 | |
|  */
 | |
| #ifdef __ASSEMBLY__
 | |
| #define __val(x)	x
 | |
| #else
 | |
| #define __val(x)	(x)
 | |
| #endif
 | |
| 
 | |
| #define DECOMPRESS_OFFSET_BASE	__val(0x00900000)
 | |
| #define BOOT_RELOC_SIZE		__val(0x00001000)
 | |
| 
 | |
| #define KERNEL_EXEC_ADDR	__val(CONFIG_MEMORY_START)
 | |
| #define KERNEL_DECOMPRESS_ADDR	__val(CONFIG_MEMORY_START + \
 | |
| 				      DECOMPRESS_OFFSET_BASE + BOOT_RELOC_SIZE)
 | |
| #define KERNEL_ENTRY		__val(CONFIG_MEMORY_START + 0x1000)
 | |
| 
 | |
| #define BOOT_EXEC_ADDR		__val(CONFIG_MEMORY_START)
 | |
| #define BOOT_RELOC_ADDR		__val(CONFIG_MEMORY_START + DECOMPRESS_OFFSET_BASE)
 |