Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
U
uboot-i9100
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
onny
uboot-i9100
Commits
5ab877b6
Commit
5ab877b6
authored
14 years ago
by
Marek Vasut
Browse files
Options
Downloads
Patches
Plain Diff
PXA: Add OneNAND booting support to start.S
Signed-off-by:
Marek Vasut
<
marek.vasut@gmail.com
>
parent
8c77f232
No related branches found
Branches containing commit
No related tags found
Tags containing commit
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
arch/arm/cpu/pxa/start.S
+43
-5
43 additions, 5 deletions
arch/arm/cpu/pxa/start.S
with
43 additions
and
5 deletions
arch/arm/cpu/pxa/start.S
+
43
−
5
View file @
5ab877b6
...
...
@@ -34,6 +34,25 @@
.
globl
_start
_start
:
b
reset
#ifdef CONFIG_PRELOADER
ldr
pc
,
_hang
ldr
pc
,
_hang
ldr
pc
,
_hang
ldr
pc
,
_hang
ldr
pc
,
_hang
ldr
pc
,
_hang
ldr
pc
,
_hang
_hang
:
.
word
do_hang
.
word
0x12345678
.
word
0x12345678
.
word
0x12345678
.
word
0x12345678
.
word
0x12345678
.
word
0x12345678
.
word
0x12345678
/*
now
16
*
4
=
64
*/
#else
ldr
pc
,
_undefined_instruction
ldr
pc
,
_software_interrupt
ldr
pc
,
_prefetch_abort
...
...
@@ -49,6 +68,7 @@ _data_abort: .word data_abort
_not_used
:
.
word
not_used
_irq
:
.
word
irq
_fiq
:
.
word
fiq
#endif /* CONFIG_PRELOADER */
.
balignl
16
,
0xdeadbeef
...
...
@@ -117,8 +137,10 @@ reset:
relocate
:
/
*
relocate
U
-
Boot
to
RAM
*/
adr
r0
,
_start
/*
r0
<-
current
position
of
code
*/
ldr
r1
,
_TEXT_BASE
/*
test
if
we
run
from
flash
or
RAM
*/
#ifndef CONFIG_PRELOADER
cmp
r0
,
r1
/*
don
't reloc during debug */
beq
stack_setup
#endif
ldr
r2
,
_armboot_start
ldr
r3
,
_bss_start
...
...
@@ -135,28 +157,37 @@ copy_loop:
/
*
Set
up
the
stack
*/
stack_setup
:
ldr
r0
,
_TEXT_BASE
/*
upper
128
KiB
:
relocated
uboot
*/
sub
r0
,
r0
,
#
CONFIG_SYS_MALLOC_LEN
/*
malloc
area
*/
sub
r0
,
r0
,
#
CONFIG_SYS_GBL_DATA_SIZE
/*
bdinfo
*/
#ifdef CONFIG_PRELOADER
sub
sp
,
r0
,
#
128
/*
leave
32
words
for
abort
-
stack
*/
#else
sub
r0
,
r0
,
#
CONFIG_SYS_MALLOC_LEN
/*
malloc
area
*/
sub
r0
,
r0
,
#
CONFIG_SYS_GBL_DATA_SIZE
/*
bdinfo
*/
#ifdef CONFIG_USE_IRQ
sub
r0
,
r0
,
#(
CONFIG_STACKSIZE_IRQ
+
CONFIG_STACKSIZE_FIQ
)
#endif /* CONFIG_USE_IRQ */
sub
sp
,
r0
,
#
12
/*
leave
3
words
for
abort
-
stack
*/
bic
sp
,
sp
,
#
7
/*
8
-
byte
alignment
for
ABI
compliance
*/
#endif
clear_bss
:
ldr
r0
,
_bss_start
/*
find
start
of
bss
segment
*/
ldr
r1
,
_bss_end
/*
stop
here
*/
mov
r2
,
#
0x00000000
/*
clear
*/
#ifndef CONFIG_PRELOADER
clbss_l
:
str
r2
,
[
r0
]
/*
clear
loop
...
*/
add
r0
,
r0
,
#
4
cmp
r0
,
r1
ble
clbss_l
#endif
ldr
pc
,
_start_armboot
#ifdef CONFIG_ONENAND_IPL
_start_armboot
:
.
word
start_oneboot
#else
_start_armboot
:
.
word
start_armboot
#endif
/****************************************************************************/
/*
*/
...
...
@@ -296,7 +327,7 @@ setspeed_done:
*/
mov
pc
,
lr
#ifndef CONFIG_PRELOADER
/****************************************************************************/
/*
*/
/*
Interrupt
handling
*/
...
...
@@ -394,6 +425,7 @@ setspeed_done:
.
macro
get_fiq_stack
@
setup
FIQ
stack
ldr
sp
,
FIQ_STACK_START
.
endm
#endif /* CONFIG_PRELOADER */
/****************************************************************************/
...
...
@@ -402,6 +434,12 @@ setspeed_done:
/*
*/
/****************************************************************************/
#ifdef CONFIG_PRELOADER
.
align
5
do_hang
:
ldr
sp
,
_TEXT_BASE
/*
use
32
words
abort
stack
*/
bl
hang
/*
hang
and
never
return
*/
#else /* !CONFIG_PRELOADER */
.
align
5
undefined_instruction
:
get_bad_stack
...
...
@@ -461,7 +499,7 @@ fiq:
get_bad_stack
bad_save_user_regs
bl
do_fiq
#endif /* CONFIG_PRELOADER */
#endif /* CONFIG_USE_IRQ */
/****************************************************************************/
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment