157 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
			
		
		
	
	
			157 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
| #define VMLINUX_SYMBOL(_sym_) _##_sym_
 | |
| #include <asm-generic/vmlinux.lds.h>
 | |
| #include <asm/page.h>
 | |
| 
 | |
| /* target memory map */
 | |
| #ifdef CONFIG_H8300H_GENERIC
 | |
| #define ROMTOP  0x000000
 | |
| #define ROMSIZE 0x400000
 | |
| #define RAMTOP  0x400000
 | |
| #define RAMSIZE 0x400000
 | |
| #endif
 | |
| 
 | |
| #ifdef CONFIG_H8300H_AKI3068NET
 | |
| #define ROMTOP  0x000000
 | |
| #define ROMSIZE 0x080000
 | |
| #define RAMTOP  0x400000
 | |
| #define RAMSIZE 0x200000
 | |
| #endif
 | |
| 
 | |
| #ifdef CONFIG_H8300H_H8MAX
 | |
| #define ROMTOP  0x000000
 | |
| #define ROMSIZE 0x080000
 | |
| #define RAMTOP  0x400000
 | |
| #define RAMSIZE 0x200000
 | |
| #endif
 | |
| 
 | |
| #ifdef CONFIG_H8300H_SIM
 | |
| #define ROMTOP  0x000000
 | |
| #define ROMSIZE 0x400000
 | |
| #define RAMTOP  0x400000
 | |
| #define RAMSIZE 0x400000
 | |
| #endif
 | |
| 
 | |
| #ifdef CONFIG_H8S_SIM
 | |
| #define ROMTOP  0x000000
 | |
| #define ROMSIZE 0x400000
 | |
| #define RAMTOP  0x400000
 | |
| #define RAMSIZE 0x800000
 | |
| #endif
 | |
| 
 | |
| #ifdef CONFIG_H8S_EDOSK2674
 | |
| #define ROMTOP  0x000000
 | |
| #define ROMSIZE 0x400000
 | |
| #define RAMTOP  0x400000
 | |
| #define RAMSIZE 0x800000
 | |
| #endif
 | |
| 
 | |
| #if defined(CONFIG_H8300H_SIM) || defined(CONFIG_H8S_SIM)
 | |
| INPUT(romfs.o)
 | |
| #endif
 | |
| 
 | |
| _jiffies = _jiffies_64 + 4;
 | |
| 
 | |
| ENTRY(__start)
 | |
| 
 | |
| SECTIONS
 | |
| {
 | |
| #if defined(CONFIG_ROMKERNEL)
 | |
| 	. = ROMTOP; 
 | |
| 	.vectors :
 | |
| 	{
 | |
| 	__vector = . ;
 | |
| 		*(.vectors*)
 | |
| 	}
 | |
| #else
 | |
| 	. = RAMTOP; 
 | |
| 	.bootvec :	
 | |
| 	{
 | |
| 		*(.bootvec)
 | |
| 	}
 | |
| #endif
 | |
|         .text :
 | |
| 	{
 | |
| 	_text = .;
 | |
| #if defined(CONFIG_ROMKERNEL)
 | |
| 	*(.int_redirect)
 | |
| #endif
 | |
| 	__stext = . ;
 | |
| 	TEXT_TEXT
 | |
| 	SCHED_TEXT
 | |
| 	LOCK_TEXT
 | |
| 	__etext = . ;
 | |
| 	}
 | |
| 	EXCEPTION_TABLE(16)
 | |
| 
 | |
| 	RODATA
 | |
| #if defined(CONFIG_ROMKERNEL)
 | |
| 	SECURITY_INIT
 | |
| #endif
 | |
| 	ROEND = .; 
 | |
| #if defined(CONFIG_ROMKERNEL)
 | |
| 	. = RAMTOP;
 | |
| 	.data :	AT(ROEND)
 | |
| #else
 | |
| 	.data :	
 | |
| #endif
 | |
| 	{
 | |
| 	__sdata = . ;
 | |
| 	___data_start = . ;
 | |
| 
 | |
| 	INIT_TASK_DATA(0x2000)
 | |
| 	. = ALIGN(0x4) ;
 | |
| 		DATA_DATA
 | |
| 	. = ALIGN(0x4) ;
 | |
| 		*(.data.*)	
 | |
| 
 | |
| 	. = ALIGN(0x4) ;
 | |
| 	___init_begin = .;
 | |
| 	__sinittext = .; 
 | |
| 		INIT_TEXT
 | |
| 	__einittext = .; 
 | |
| 		INIT_DATA
 | |
| 	. = ALIGN(0x4) ;
 | |
| 	INIT_SETUP(0x4)
 | |
| 	___setup_start = .;
 | |
| 		*(.init.setup)
 | |
| 	. = ALIGN(0x4) ;
 | |
| 	___setup_end = .;
 | |
| 	INIT_CALLS
 | |
| 	CON_INITCALL
 | |
| 		EXIT_TEXT
 | |
| 		EXIT_DATA
 | |
| 	INIT_RAM_FS
 | |
| 	. = ALIGN(0x4) ;
 | |
| 	___init_end = .;
 | |
| 	__edata = . ;
 | |
| 	}
 | |
| #if defined(CONFIG_RAMKERNEL)
 | |
| 	SECURITY_INIT
 | |
| #endif
 | |
| 	__begin_data = LOADADDR(.data);
 | |
|         .bss : 
 | |
|         {
 | |
| 	. = ALIGN(0x4) ;
 | |
| 	__sbss = . ;
 | |
| 		*(.bss*)
 | |
| 	. = ALIGN(0x4) ;
 | |
| 		*(COMMON)
 | |
| 	. = ALIGN(0x4) ;
 | |
| 	__ebss = . ;
 | |
| 	__end = . ;
 | |
| 	__ramstart = .;
 | |
| 	}
 | |
|         .romfs :	
 | |
| 	{
 | |
| 		*(.romfs*)
 | |
| 	}
 | |
| 	. = RAMTOP+RAMSIZE;
 | |
|         .dummy :
 | |
|         {
 | |
| 	COMMAND_START = . - 0x200 ;
 | |
| 	__ramend = . ;
 | |
| 	}
 | |
| 
 | |
| 	DISCARDS
 | |
| }
 |