2005-04-17 02:20:36 +04:00
# define V M L I N U X _ S Y M B O L ( _ s y m _ ) _ ## _ s y m _
# include < a s m - g e n e r i c / v m l i n u x . l d s . h >
/* target memory map */
# ifdef C O N F I G _ H 8 3 0 0 H _ G E N E R I C
# define R O M T O P 0 x00 0 0 0 0
# define R O M S I Z E 0 x40 0 0 0 0
# define R A M T O P 0 x40 0 0 0 0
# define R A M S I Z E 0 x40 0 0 0 0
# endif
# ifdef C O N F I G _ H 8 3 0 0 H _ A K I 3 0 6 8 N E T
# define R O M T O P 0 x00 0 0 0 0
# define R O M S I Z E 0 x08 0 0 0 0
# define R A M T O P 0 x40 0 0 0 0
# define R A M S I Z E 0 x20 0 0 0 0
# endif
# ifdef C O N F I G _ H 8 3 0 0 H _ H 8 M A X
# define R O M T O P 0 x00 0 0 0 0
# define R O M S I Z E 0 x08 0 0 0 0
# define R A M T O P 0 x40 0 0 0 0
# define R A M S I Z E 0 x20 0 0 0 0
# endif
# ifdef C O N F I G _ H 8 3 0 0 H _ S I M
# define R O M T O P 0 x00 0 0 0 0
# define R O M S I Z E 0 x40 0 0 0 0
# define R A M T O P 0 x40 0 0 0 0
# define R A M S I Z E 0 x40 0 0 0 0
# endif
# ifdef C O N F I G _ H 8 S _ S I M
# define R O M T O P 0 x00 0 0 0 0
# define R O M S I Z E 0 x40 0 0 0 0
# define R A M T O P 0 x40 0 0 0 0
# define R A M S I Z E 0 x80 0 0 0 0
# endif
# ifdef C O N F I G _ H 8 S _ E D O S K 2 6 7 4
# define R O M T O P 0 x00 0 0 0 0
# define R O M S I Z E 0 x40 0 0 0 0
# define R A M T O P 0 x40 0 0 0 0
# define R A M S I Z E 0 x80 0 0 0 0
# endif
# if d e f i n e d ( C O N F I G _ H 8 3 0 0 H _ S I M ) | | d e f i n e d ( C O N F I G _ H 8 S _ S I M )
INPUT( r o m f s . o )
# endif
_ jiffies = _ j i f f i e s _ 6 4 + 4 ;
ENTRY( _ _ s t a r t )
SECTIONS
{
# if d e f i n e d ( C O N F I G _ R O M K E R N E L )
. = ROMTOP;
.vectors :
{
_ _ vector = . ;
* ( .vectors * )
}
# else
. = RAMTOP;
.bootvec :
{
* ( .bootvec )
}
# endif
.text :
{
2006-12-07 04:14:04 +03:00
_ text = . ;
2005-04-17 02:20:36 +04:00
# if d e f i n e d ( C O N F I G _ R O M K E R N E L )
* ( .int_redirect )
# endif
_ _ stext = . ;
2007-05-13 02:31:33 +04:00
TEXT_ T E X T
2005-04-17 02:20:36 +04:00
SCHED_ T E X T
LOCK_ T E X T
_ _ etext = . ;
. = ALIGN( 1 6 ) ; /* Exception table */
_ _ _ start_ _ _ e x _ t a b l e = . ;
* ( _ _ ex_ t a b l e )
_ _ _ stop_ _ _ e x _ t a b l e = . ;
}
RODATA
# if d e f i n e d ( C O N F I G _ R O M K E R N E L )
SECURITY_ I N I T
# endif
ROEND = . ;
# if d e f i n e d ( C O N F I G _ R O M K E R N E L )
. = RAMTOP;
.data : AT( R O E N D )
# else
.data :
# endif
{
_ _ sdata = . ;
_ _ _ data_ s t a r t = . ;
. = ALIGN( 0 x20 0 0 ) ;
* ( .data .init_task )
. = ALIGN( 0 x4 ) ;
2007-05-17 15:38:44 +04:00
DATA_ D A T A
2005-04-17 02:20:36 +04:00
. = ALIGN( 0 x4 ) ;
* ( .data . * )
. = ALIGN( 0 x4 ) ;
_ _ _ init_ b e g i n = . ;
_ _ sinittext = . ;
2008-01-20 16:15:03 +03:00
INIT_ T E X T
2005-04-17 02:20:36 +04:00
_ _ einittext = . ;
2008-01-20 16:15:03 +03:00
INIT_ D A T A
2005-04-17 02:20:36 +04:00
. = ALIGN( 0 x4 ) ;
_ _ _ setup_ s t a r t = . ;
* ( .init .setup )
. = ALIGN( 0 x4 ) ;
_ _ _ setup_ e n d = . ;
_ _ _ initcall_ s t a r t = . ;
2006-10-27 22:41:44 +04:00
INITCALLS
2005-04-17 02:20:36 +04:00
_ _ _ initcall_ e n d = . ;
_ _ _ con_ i n i t c a l l _ s t a r t = . ;
* ( .con_initcall .init )
_ _ _ con_ i n i t c a l l _ e n d = . ;
2008-01-20 16:15:03 +03:00
EXIT_ T E X T
EXIT_ D A T A
2007-02-10 12:44:44 +03:00
# if d e f i n e d ( C O N F I G _ B L K _ D E V _ I N I T R D )
2005-04-17 02:20:36 +04:00
. = ALIGN( 4 ) ;
_ _ _ initramfs_ s t a r t = . ;
* ( .init .ramfs )
_ _ _ initramfs_ e n d = . ;
2007-02-10 12:44:44 +03:00
# endif
2005-04-17 02:20:36 +04:00
. = ALIGN( 0 x4 ) ;
_ _ _ init_ e n d = . ;
_ _ edata = . ;
}
# if d e f i n e d ( C O N F I G _ R A M K E R N E L )
SECURITY_ I N I T
# endif
_ _ begin_ d a t a = L O A D A D D R ( . d a t a ) ;
.bss :
{
. = ALIGN( 0 x4 ) ;
_ _ sbss = . ;
* ( .bss * )
. = ALIGN( 0 x4 ) ;
* ( COMMON)
. = ALIGN( 0 x4 ) ;
_ _ ebss = . ;
_ _ end = . ;
_ _ ramstart = . ;
}
/ DISCARD/ : {
* ( .exitcall .exit )
}
.romfs :
{
* ( .romfs * )
}
. = RAMTOP+ R A M S I Z E ;
.dummy :
{
COMMAND_ S T A R T = . - 0 x20 0 ;
_ _ ramend = . ;
}
}