@ -44,6 +44,15 @@
# undef M S R _ K E R N E L
# define M S R _ K E R N E L ( M S R _ M E ) / * M a c h i n e C h e c k * /
# if d e f i n e d ( C O N F I G _ N A N D _ S P L ) | | \
( defined( C O N F I G _ S P L _ B U I L D ) & & d e f i n e d ( C O N F I G _ S P L _ I N I T _ M I N I M A L ) )
# define M I N I M A L _ S P L
# endif
# if ! d e f i n e d ( C O N F I G _ S P L ) & & ! d e f i n e d ( C O N F I G _ S Y S _ R A M B O O T ) & & ! d e f i n e d ( C O N F I G _ S E C U R E _ B O O T )
# define N O R _ B O O T
# endif
/ *
* Set u p G O T : G l o b a l O f f s e t T a b l e
*
@ -53,7 +62,7 @@
GOT_ E N T R Y ( _ G O T 2 _ T A B L E _ )
GOT_ E N T R Y ( _ F I X U P _ T A B L E _ )
# ifndef C O N F I G _ N A N D _ S P L
# ifndef M I N I M A L _ S P L
GOT_ E N T R Y ( _ s t a r t )
GOT_ E N T R Y ( _ s t a r t _ o f _ v e c t o r s )
GOT_ E N T R Y ( _ e n d _ o f _ v e c t o r s )
@ -282,11 +291,8 @@ l2_disabled:
isync
.endm
/ *
* Ne n e e d t o s e t u p i n t e r r u p t v e c t o r f o r N A N D S P L
* because N A N D S P L n e v e r c o m p i l e s i t .
* /
# if ! d e f i n e d ( C O N F I G _ N A N D _ S P L )
/* Interrupt vectors do not fit in minimal SPL. */
# if ! d e f i n e d ( M I N I M A L _ S P L )
/* Setup interrupt vectors */
lis r1 ,C O N F I G _ S Y S _ M O N I T O R _ B A S E @h
mtspr I V P R ,r1
@ -518,7 +524,7 @@ nexti: mflr r1 /* R1 = our PC */
* in A S 1 .
* /
# if ! d e f i n e d ( C O N F I G _ S Y S _ R A M B O O T ) & & ! d e f i n e d ( C O N F I G _ S E C U R E _ B O O T )
# ifde f N O R _ B O O T
/ *
* TLB e n t r y i s c r e a t e d f o r I V P R + I V O R 1 5 t o m a p o n v a l i d O P c o d e a d d r e s s
* bacause f l a s h ' s v i r t u a l a d d r e s s m a p s t o 0 x f f80 0 0 0 0 - 0 x f f f f f f f f .
@ -1032,7 +1038,7 @@ create_init_ram_area:
lis r6 ,F S L _ B O O K E _ M A S 0 ( 1 , 1 5 , 0 ) @h
ori r6 ,r6 ,F S L _ B O O K E _ M A S 0 ( 1 , 1 5 , 0 ) @l
# if ! d e f i n e d ( C O N F I G _ S Y S _ R A M B O O T ) & & ! d e f i n e d ( C O N F I G _ S E C U R E _ B O O T )
# ifde f N O R _ B O O T
/* create a temp mapping in AS=1 to the 4M boot window */
create_ t l b1 _ e n t r y 1 5 , \
1 , BOOKE_ P A G E S Z _ 4 M , \
@ -1107,7 +1113,8 @@ switch_as:
bdnz 1 b
/* Jump out the last 4K page and continue to 'normal' start */
# ifdef C O N F I G _ S Y S _ R A M B O O T
# if d e f i n e d ( C O N F I G _ S Y S _ R A M B O O T ) | | d e f i n e d ( C O N F I G _ S P L )
/* We assume that we're already running at the address we're linked at */
b _ s t a r t _ c o n t
# else
/* Calculate absolute address in FLASH and jump there */
@ -1153,7 +1160,7 @@ _start_cont:
/* NOTREACHED - board_init_f() does not return */
# ifndef C O N F I G _ N A N D _ S P L
# ifndef M I N I M A L _ S P L
. = EXC_ O F F _ S Y S _ R E S E T
.globl _start_of_vectors
_start_of_vectors :
@ -1597,7 +1604,7 @@ in32:
in32r :
lwbrx r3 ,r0 ,r3
blr
# endif / * ! C O N F I G _ N A N D _ S P L * /
# endif / * ! M I N I M A L _ S P L * /
/*------------------------------------------------------------------------------*/
@ -1794,7 +1801,7 @@ clear_bss:
mr r4 ,r10 / * D e s t i n a t i o n A d d r e s s * /
bl b o a r d _ i n i t _ r
# ifndef C O N F I G _ N A N D _ S P L
# ifndef M I N I M A L _ S P L
/ *
* Copy e x c e p t i o n v e c t o r c o d e t o l o w m e m o r y
*
@ -1967,4 +1974,4 @@ setup_ivors:
# include " f i x e d _ i v o r . S "
blr
# endif / * ! C O N F I G _ N A N D _ S P L * /
# endif / * ! M I N I M A L _ S P L * /