2009-06-12 22:01:00 +08:00
/ *
* arch/ s c o r e / k e r n e l / v m l i n u x . l d s . S
*
* Score P r o c e s s o r v e r s i o n .
*
* Copyright ( C ) 2 0 0 9 S u n p l u s C o r e T e c h n o l o g y C o . , L t d .
* Chen L i q i n < l i q i n . c h e n @sunplusct.com>
* Lennox W u < l e n n o x . w u @sunplusct.com>
*
* This p r o g r a m i s f r e e s o f t w a r e ; you can redistribute it and/or modify
* it u n d e r t h e t e r m s o f t h e G N U G e n e r a l P u b l i c L i c e n s e a s p u b l i s h e d b y
* the F r e e S o f t w a r e F o u n d a t i o n ; either version 2 of the License, or
* ( at y o u r o p t i o n ) a n y l a t e r v e r s i o n .
*
* This p r o g r a m i s d i s t r i b u t e d i n t h e h o p e t h a t i t w i l l b e u s e f u l ,
* but W I T H O U T A N Y W A R R A N T Y ; without even the implied warranty of
* MERCHANTABILITY o r F I T N E S S F O R A P A R T I C U L A R P U R P O S E . S e e t h e
* GNU G e n e r a l P u b l i c L i c e n s e f o r m o r e d e t a i l s .
*
* You s h o u l d h a v e r e c e i v e d a c o p y o f t h e G N U G e n e r a l P u b l i c L i c e n s e
* along w i t h t h i s p r o g r a m ; if not, see the file COPYING, or write
* to t h e F r e e S o f t w a r e F o u n d a t i o n , I n c . ,
* 5 1 Franklin S t , F i f t h F l o o r , B o s t o n , M A 0 2 1 1 0 - 1 3 0 1 U S A
* /
# include < a s m - g e n e r i c / v m l i n u x . l d s . h >
2009-09-23 11:38:42 +08:00
# include < a s m / t h r e a d _ i n f o . h >
# include < a s m / p a g e . h >
2009-06-12 22:01:00 +08:00
OUTPUT_ A R C H ( s c o r e )
ENTRY( _ s t e x t )
jiffies = j i f f i e s _ 6 4 ;
SECTIONS
{
. = CONFIG_ M E M O R Y _ S T A R T + 0 x20 0 0 ;
/* read-only */
.text : {
_ text = . ; /* Text and read-only data */
TEXT_ T E X T
SCHED_ T E X T
LOCK_ T E X T
KPROBES_ T E X T
* ( .text . * )
* ( .fixup )
. = ALIGN ( 4 ) ;
_ etext = . ; /* End of text section */
}
. = ALIGN( 1 6 ) ;
RODATA
2009-09-23 11:38:42 +08:00
EXCEPTION_ T A B L E ( 1 6 )
2009-06-12 22:01:00 +08:00
2009-09-23 11:38:42 +08:00
RW_ D A T A _ S E C T I O N ( 3 2 , P A G E _ S I Z E , T H R E A D _ S I Z E )
2009-06-12 22:01:00 +08:00
/ * We w a n t t h e s m a l l d a t a s e c t i o n s t o g e t h e r , s o s i n g l e - i n s t r u c t i o n o f f s e t s
can a c c e s s t h e m a l l , a n d i n i t i a l i z e d d a t a a l l b e f o r e u n i n i t i a l i z e d , s o
we c a n s h o r t e n t h e o n - d i s k s e g m e n t s i z e . * /
. = ALIGN( 8 ) ;
.sdata : {
* ( .sdata )
}
_ edata = . ; /* End of data section */
/* will be freed after init */
2009-09-23 11:38:42 +08:00
. = ALIGN( P A G E _ S I Z E ) ; /* Init code and data */
2009-06-12 22:01:00 +08:00
_ _ init_ b e g i n = . ;
2009-09-23 11:38:42 +08:00
INIT_ T E X T _ S E C T I O N ( P A G E _ S I Z E )
INIT_ D A T A _ S E C T I O N ( 1 6 )
2009-06-12 22:01:00 +08:00
/ * .exit .text is discarded a t r u n t i m e , n o t l i n k t i m e , t o d e a l w i t h
* references f r o m . r o d a t a
* /
.exit .text : {
EXIT_ T E X T
}
.exit .data : {
EXIT_ D A T A
}
2009-09-23 11:38:42 +08:00
. = ALIGN( P A G E _ S I Z E ) ;
2009-06-12 22:01:00 +08:00
_ _ init_ e n d = . ;
/* freed after init ends here */
2009-09-23 11:38:42 +08:00
BSS_ S E C T I O N ( 0 , 0 , 0 )
2009-06-12 22:01:00 +08:00
_ end = . ;
}