mirror of
				https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
				synced 2025-10-31 02:59:34 +00:00 
			
		
		
		
	 9b09c6d909
			
		
	
	
		9b09c6d909
		
	
	
	
	
		
			
			Currently we set the start of the .text section to be 4Mb for pSeries. In situations where the zImage is > 8Mb we'll fail to boot (due to overlapping with OF). Move .text in a zImage from 4MB to 64MB (well past OF). We still will not be able to load large zImage unless we also move OF, to that end, add a note to the zImage ELF to move OF to 32Mb. If this is the very first kernel booted then we'll need to move OF manually by setting real-base. Signed-off-by: Tony Breeds <tony@bakeyournoodle.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
		
			
				
	
	
		
			52 lines
		
	
	
		
			763 B
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			763 B
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
| OUTPUT_ARCH(powerpc:common)
 | |
| ENTRY(_zimage_start)
 | |
| EXTERN(_zimage_start)
 | |
| SECTIONS
 | |
| {
 | |
|   _start = .;
 | |
|   .text      :
 | |
|   {
 | |
|     *(.text)
 | |
|     *(.fixup)
 | |
|   }
 | |
|   _etext = .;
 | |
|   . = ALIGN(4096);
 | |
|   .data    :
 | |
|   {
 | |
|     *(.rodata*)
 | |
|     *(.data*)
 | |
|     *(.sdata*)
 | |
|     __got2_start = .;
 | |
|     *(.got2)
 | |
|     __got2_end = .;
 | |
|   }
 | |
| 
 | |
|   . = ALIGN(8);
 | |
|   _dtb_start = .;
 | |
|   .kernel:dtb : { *(.kernel:dtb) }
 | |
|   _dtb_end = .;
 | |
| 
 | |
|   . = ALIGN(4096);
 | |
|   _vmlinux_start =  .;
 | |
|   .kernel:vmlinux.strip : { *(.kernel:vmlinux.strip) }
 | |
|   _vmlinux_end =  .;
 | |
| 
 | |
|   . = ALIGN(4096);
 | |
|   _initrd_start =  .;
 | |
|   .kernel:initrd : { *(.kernel:initrd) }
 | |
|   _initrd_end =  .;
 | |
| 
 | |
|   . = ALIGN(4096);
 | |
|   _edata  =  .;
 | |
| 
 | |
|   . = ALIGN(4096);
 | |
|   __bss_start = .;
 | |
|   .bss       :
 | |
|   {
 | |
|    *(.sbss)
 | |
|    *(.bss)
 | |
|   }
 | |
|   . = ALIGN(4096);
 | |
|   _end = . ;
 | |
| }
 |