Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
linux-davinci
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
linux
linux-davinci
Commits
91e01382
Commit
91e01382
authored
Mar 08, 2010
by
Russell King
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' into for-linus
parents
988addf8
8d2b09f5
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
34 additions
and
33 deletions
+34
-33
arch/arm/boot/compressed/head.S
arch/arm/boot/compressed/head.S
+23
-27
arch/arm/boot/compressed/vmlinux.lds.in
arch/arm/boot/compressed/vmlinux.lds.in
+3
-0
arch/arm/kernel/unwind.c
arch/arm/kernel/unwind.c
+3
-1
arch/arm/mach-ux500/include/mach/hardware.h
arch/arm/mach-ux500/include/mach/hardware.h
+4
-4
drivers/mtd/maps/pismo.c
drivers/mtd/maps/pismo.c
+1
-1
No files found.
arch/arm/boot/compressed/head.S
View file @
91e01382
...
@@ -170,8 +170,8 @@ not_angel:
...
@@ -170,8 +170,8 @@ not_angel:
.
text
.
text
adr
r0
,
LC0
adr
r0
,
LC0
ARM
(
ldmia
r0
,
{
r1
,
r2
,
r3
,
r4
,
r5
,
r6
,
ip
,
sp
}
)
ARM
(
ldmia
r0
,
{
r1
,
r2
,
r3
,
r4
,
r5
,
r6
,
r11
,
ip
,
sp
}
)
THUMB
(
ldmia
r0
,
{
r1
,
r2
,
r3
,
r4
,
r5
,
r6
,
ip
}
)
THUMB
(
ldmia
r0
,
{
r1
,
r2
,
r3
,
r4
,
r5
,
r6
,
r11
,
ip
}
)
THUMB
(
ldr
sp
,
[
r0
,
#
28
]
)
THUMB
(
ldr
sp
,
[
r0
,
#
28
]
)
subs
r0
,
r0
,
r1
@
calculate
the
delta
offset
subs
r0
,
r0
,
r1
@
calculate
the
delta
offset
...
@@ -182,12 +182,13 @@ not_angel:
...
@@ -182,12 +182,13 @@ not_angel:
/
*
/
*
*
We
're running at a different address. We need to fix
*
We
're running at a different address. We need to fix
*
up
various
pointers
:
*
up
various
pointers
:
*
r5
-
zImage
base
address
*
r5
-
zImage
base
address
(
_start
)
*
r6
-
GOT
start
*
r6
-
size
of
decompressed
image
*
r11
-
GOT
start
*
ip
-
GOT
end
*
ip
-
GOT
end
*/
*/
add
r5
,
r5
,
r0
add
r5
,
r5
,
r0
add
r
6
,
r6
,
r0
add
r
11
,
r11
,
r0
add
ip
,
ip
,
r0
add
ip
,
ip
,
r0
#ifndef CONFIG_ZBOOT_ROM
#ifndef CONFIG_ZBOOT_ROM
...
@@ -205,10 +206,10 @@ not_angel:
...
@@ -205,10 +206,10 @@ not_angel:
/
*
/
*
*
Relocate
all
entries
in
the
GOT
table
.
*
Relocate
all
entries
in
the
GOT
table
.
*/
*/
1
:
ldr
r1
,
[
r
6
,
#
0
]
@
relocate
entries
in
the
GOT
1
:
ldr
r1
,
[
r
11
,
#
0
]
@
relocate
entries
in
the
GOT
add
r1
,
r1
,
r0
@
table
.
This
fixes
up
the
add
r1
,
r1
,
r0
@
table
.
This
fixes
up
the
str
r1
,
[
r
6
],
#
4
@
C
references
.
str
r1
,
[
r
11
],
#
4
@
C
references
.
cmp
r
6
,
ip
cmp
r
11
,
ip
blo
1
b
blo
1
b
#else
#else
...
@@ -216,12 +217,12 @@ not_angel:
...
@@ -216,12 +217,12 @@ not_angel:
*
Relocate
entries
in
the
GOT
table
.
We
only
relocate
*
Relocate
entries
in
the
GOT
table
.
We
only
relocate
*
the
entries
that
are
outside
the
(
relocated
)
BSS
region
.
*
the
entries
that
are
outside
the
(
relocated
)
BSS
region
.
*/
*/
1
:
ldr
r1
,
[
r
6
,
#
0
]
@
relocate
entries
in
the
GOT
1
:
ldr
r1
,
[
r
11
,
#
0
]
@
relocate
entries
in
the
GOT
cmp
r1
,
r2
@
entry
<
bss_start
||
cmp
r1
,
r2
@
entry
<
bss_start
||
cmphs
r3
,
r1
@
_end
<
entry
cmphs
r3
,
r1
@
_end
<
entry
addlo
r1
,
r1
,
r0
@
table
.
This
fixes
up
the
addlo
r1
,
r1
,
r0
@
table
.
This
fixes
up
the
str
r1
,
[
r
6
],
#
4
@
C
references
.
str
r1
,
[
r
11
],
#
4
@
C
references
.
cmp
r
6
,
ip
cmp
r
11
,
ip
blo
1
b
blo
1
b
#endif
#endif
...
@@ -247,6 +248,7 @@ not_relocated: mov r0, #0
...
@@ -247,6 +248,7 @@ not_relocated: mov r0, #0
*
Check
to
see
if
we
will
overwrite
ourselves
.
*
Check
to
see
if
we
will
overwrite
ourselves
.
*
r4
=
final
kernel
address
*
r4
=
final
kernel
address
*
r5
=
start
of
this
image
*
r5
=
start
of
this
image
*
r6
=
size
of
decompressed
image
*
r2
=
end
of
malloc
space
(
and
therefore
this
image
)
*
r2
=
end
of
malloc
space
(
and
therefore
this
image
)
*
We
basically
want
:
*
We
basically
want
:
*
r4
>=
r2
->
OK
*
r4
>=
r2
->
OK
...
@@ -254,8 +256,7 @@ not_relocated: mov r0, #0
...
@@ -254,8 +256,7 @@ not_relocated: mov r0, #0
*/
*/
cmp
r4
,
r2
cmp
r4
,
r2
bhs
wont_overwrite
bhs
wont_overwrite
sub
r3
,
sp
,
r5
@
>
compressed
kernel
size
add
r0
,
r4
,
r6
add
r0
,
r4
,
r3
,
lsl
#
2
@
allow
for
4
x
expansion
cmp
r0
,
r5
cmp
r0
,
r5
bls
wont_overwrite
bls
wont_overwrite
...
@@ -271,7 +272,6 @@ not_relocated: mov r0, #0
...
@@ -271,7 +272,6 @@ not_relocated: mov r0, #0
*
r1
-
r3
=
unused
*
r1
-
r3
=
unused
*
r4
=
kernel
execution
address
*
r4
=
kernel
execution
address
*
r5
=
decompressed
kernel
start
*
r5
=
decompressed
kernel
start
*
r6
=
processor
ID
*
r7
=
architecture
ID
*
r7
=
architecture
ID
*
r8
=
atags
pointer
*
r8
=
atags
pointer
*
r9
-
r12
,
r14
=
corrupted
*
r9
-
r12
,
r14
=
corrupted
...
@@ -312,7 +312,8 @@ LC0: .word LC0 @ r1
...
@@ -312,7 +312,8 @@ LC0: .word LC0 @ r1
.
word
_end
@
r3
.
word
_end
@
r3
.
word
zreladdr
@
r4
.
word
zreladdr
@
r4
.
word
_start
@
r5
.
word
_start
@
r5
.
word
_got_start
@
r6
.
word
_image_size
@
r6
.
word
_got_start
@
r11
.
word
_got_end
@
ip
.
word
_got_end
@
ip
.
word
user_stack
+
4096
@
sp
.
word
user_stack
+
4096
@
sp
LC1
:
.
word
reloc_end
-
reloc_start
LC1
:
.
word
reloc_end
-
reloc_start
...
@@ -336,7 +337,6 @@ params: ldr r0, =params_phys
...
@@ -336,7 +337,6 @@ params: ldr r0, =params_phys
*
*
*
On
entry
,
*
On
entry
,
*
r4
=
kernel
execution
address
*
r4
=
kernel
execution
address
*
r6
=
processor
ID
*
r7
=
architecture
number
*
r7
=
architecture
number
*
r8
=
atags
pointer
*
r8
=
atags
pointer
*
r9
=
run
-
time
address
of
"start"
(???)
*
r9
=
run
-
time
address
of
"start"
(???)
...
@@ -542,7 +542,6 @@ __common_mmu_cache_on:
...
@@ -542,7 +542,6 @@ __common_mmu_cache_on:
*
r1
-
r3
=
unused
*
r1
-
r3
=
unused
*
r4
=
kernel
execution
address
*
r4
=
kernel
execution
address
*
r5
=
decompressed
kernel
start
*
r5
=
decompressed
kernel
start
*
r6
=
processor
ID
*
r7
=
architecture
ID
*
r7
=
architecture
ID
*
r8
=
atags
pointer
*
r8
=
atags
pointer
*
r9
-
r12
,
r14
=
corrupted
*
r9
-
r12
,
r14
=
corrupted
...
@@ -581,19 +580,19 @@ call_kernel: bl cache_clean_flush
...
@@ -581,19 +580,19 @@ call_kernel: bl cache_clean_flush
*
r1
=
corrupted
*
r1
=
corrupted
*
r2
=
corrupted
*
r2
=
corrupted
*
r3
=
block
offset
*
r3
=
block
offset
*
r
6
=
corrupted
*
r
9
=
corrupted
*
r12
=
corrupted
*
r12
=
corrupted
*/
*/
call_cache_fn
:
adr
r12
,
proc_types
call_cache_fn
:
adr
r12
,
proc_types
#ifdef CONFIG_CPU_CP15
#ifdef CONFIG_CPU_CP15
mrc
p15
,
0
,
r
6
,
c0
,
c0
@
get
processor
ID
mrc
p15
,
0
,
r
9
,
c0
,
c0
@
get
processor
ID
#else
#else
ldr
r
6
,
=
CONFIG_PROCESSOR_ID
ldr
r
9
,
=
CONFIG_PROCESSOR_ID
#endif
#endif
1
:
ldr
r1
,
[
r12
,
#
0
]
@
get
value
1
:
ldr
r1
,
[
r12
,
#
0
]
@
get
value
ldr
r2
,
[
r12
,
#
4
]
@
get
mask
ldr
r2
,
[
r12
,
#
4
]
@
get
mask
eor
r1
,
r1
,
r
6
@
(
real
^
match
)
eor
r1
,
r1
,
r
9
@
(
real
^
match
)
tst
r1
,
r2
@
&
mask
tst
r1
,
r2
@
&
mask
ARM
(
addeq
pc
,
r12
,
r3
)
@
call
cache
function
ARM
(
addeq
pc
,
r12
,
r3
)
@
call
cache
function
THUMB
(
addeq
r12
,
r3
)
THUMB
(
addeq
r12
,
r3
)
...
@@ -778,8 +777,7 @@ proc_types:
...
@@ -778,8 +777,7 @@ proc_types:
*
Turn
off
the
Cache
and
MMU
.
ARMv3
does
not
support
*
Turn
off
the
Cache
and
MMU
.
ARMv3
does
not
support
*
reading
the
control
register
,
but
ARMv4
does
.
*
reading
the
control
register
,
but
ARMv4
does
.
*
*
*
On
entry
,
r6
=
processor
ID
*
On
exit
,
r0
,
r1
,
r2
,
r3
,
r9
,
r12
corrupted
*
On
exit
,
r0
,
r1
,
r2
,
r3
,
r12
corrupted
*
This
routine
must
preserve
:
r4
,
r6
,
r7
*
This
routine
must
preserve
:
r4
,
r6
,
r7
*/
*/
.
align
5
.
align
5
...
@@ -852,10 +850,8 @@ __armv3_mmu_cache_off:
...
@@ -852,10 +850,8 @@ __armv3_mmu_cache_off:
/*
/*
*
Clean
and
flush
the
cache
to
maintain
consistency
.
*
Clean
and
flush
the
cache
to
maintain
consistency
.
*
*
*
On
entry
,
*
r6
=
processor
ID
*
On
exit
,
*
On
exit
,
*
r1
,
r2
,
r3
,
r11
,
r12
corrupted
*
r1
,
r2
,
r3
,
r
9
,
r
11
,
r12
corrupted
*
This
routine
must
preserve
:
*
This
routine
must
preserve
:
*
r0
,
r4
,
r5
,
r6
,
r7
*
r0
,
r4
,
r5
,
r6
,
r7
*/
*/
...
@@ -967,7 +963,7 @@ __armv4_mmu_cache_flush:
...
@@ -967,7 +963,7 @@ __armv4_mmu_cache_flush:
mov
r2
,
#
64
*
1024
@
default
:
32
K
dcache
size
(*
2
)
mov
r2
,
#
64
*
1024
@
default
:
32
K
dcache
size
(*
2
)
mov
r11
,
#
32
@
default
:
32
byte
line
size
mov
r11
,
#
32
@
default
:
32
byte
line
size
mrc
p15
,
0
,
r3
,
c0
,
c0
,
1
@
read
cache
type
mrc
p15
,
0
,
r3
,
c0
,
c0
,
1
@
read
cache
type
teq
r3
,
r
6
@
cache
ID
register
present
?
teq
r3
,
r
9
@
cache
ID
register
present
?
beq
no_cache_id
beq
no_cache_id
mov
r1
,
r3
,
lsr
#
18
mov
r1
,
r3
,
lsr
#
18
and
r1
,
r1
,
#
7
and
r1
,
r1
,
#
7
...
...
arch/arm/boot/compressed/vmlinux.lds.in
View file @
91e01382
...
@@ -43,6 +43,9 @@ SECTIONS
...
@@ -43,6 +43,9 @@ SECTIONS
_etext = .;
_etext = .;
/* Assume size of decompressed image is 4x the compressed image */
_image_size = (_etext - _text) * 4;
_got_start = .;
_got_start = .;
.got : { *(.got) }
.got : { *(.got) }
_got_end = .;
_got_end = .;
...
...
arch/arm/kernel/unwind.c
View file @
91e01382
...
@@ -359,7 +359,9 @@ void unwind_backtrace(struct pt_regs *regs, struct task_struct *tsk)
...
@@ -359,7 +359,9 @@ void unwind_backtrace(struct pt_regs *regs, struct task_struct *tsk)
frame
.
fp
=
regs
->
ARM_fp
;
frame
.
fp
=
regs
->
ARM_fp
;
frame
.
sp
=
regs
->
ARM_sp
;
frame
.
sp
=
regs
->
ARM_sp
;
frame
.
lr
=
regs
->
ARM_lr
;
frame
.
lr
=
regs
->
ARM_lr
;
frame
.
pc
=
regs
->
ARM_pc
;
/* PC might be corrupted, use LR in that case. */
frame
.
pc
=
kernel_text_address
(
regs
->
ARM_pc
)
?
regs
->
ARM_pc
:
regs
->
ARM_lr
;
}
else
if
(
tsk
==
current
)
{
}
else
if
(
tsk
==
current
)
{
frame
.
fp
=
(
unsigned
long
)
__builtin_frame_address
(
0
);
frame
.
fp
=
(
unsigned
long
)
__builtin_frame_address
(
0
);
frame
.
sp
=
current_sp
;
frame
.
sp
=
current_sp
;
...
...
arch/arm/mach-ux500/include/mach/hardware.h
View file @
91e01382
...
@@ -68,12 +68,12 @@
...
@@ -68,12 +68,12 @@
#define U8500_PKAM_BASE (U8500_PER6_BASE + 0x2000)
#define U8500_PKAM_BASE (U8500_PER6_BASE + 0x2000)
#define U8500_CRYPTO0_BASE (U8500_PER6_BASE + 0xa000)
#define U8500_CRYPTO0_BASE (U8500_PER6_BASE + 0xa000)
#define U8500_CRYPTO1_BASE (U8500_PER6_BASE + 0xb000)
#define U8500_CRYPTO1_BASE (U8500_PER6_BASE + 0xb000)
#define U8500_CLKRST6_BASE (U8500_PER
7
_BASE + 0xf000)
#define U8500_CLKRST6_BASE (U8500_PER
6
_BASE + 0xf000)
/* per5 base addressess */
/* per5 base addressess */
#define U8500_USBOTG_BASE (U8500_PER5_BASE + 0x00000)
#define U8500_USBOTG_BASE (U8500_PER5_BASE + 0x00000)
#define U8500_GPIO5_BASE (U8500_PER5_BASE + 0x1e000)
#define U8500_GPIO5_BASE (U8500_PER5_BASE + 0x1e000)
#define U8500_CLKRST5_BASE (U8500_PER
7
_BASE + 0x1f000)
#define U8500_CLKRST5_BASE (U8500_PER
5
_BASE + 0x1f000)
/* per4 base addressess */
/* per4 base addressess */
#define U8500_BACKUPRAM0_BASE (U8500_PER4_BASE + 0x0000)
#define U8500_BACKUPRAM0_BASE (U8500_PER4_BASE + 0x0000)
...
@@ -95,7 +95,7 @@
...
@@ -95,7 +95,7 @@
#define U8500_UART2_BASE (U8500_PER3_BASE + 0x7000)
#define U8500_UART2_BASE (U8500_PER3_BASE + 0x7000)
#define U8500_SDI5_BASE (U8500_PER3_BASE + 0x8000)
#define U8500_SDI5_BASE (U8500_PER3_BASE + 0x8000)
#define U8500_GPIO3_BASE (U8500_PER3_BASE + 0xe000)
#define U8500_GPIO3_BASE (U8500_PER3_BASE + 0xe000)
#define U8500_CLKRST3_BASE (U8500_PER
7
_BASE + 0xf000)
#define U8500_CLKRST3_BASE (U8500_PER
3
_BASE + 0xf000)
/* per2 base addressess */
/* per2 base addressess */
#define U8500_I2C3_BASE (U8500_PER2_BASE + 0x0000)
#define U8500_I2C3_BASE (U8500_PER2_BASE + 0x0000)
...
@@ -123,7 +123,7 @@
...
@@ -123,7 +123,7 @@
#define U8500_SPI3_BASE (U8500_PER1_BASE + 0x9000)
#define U8500_SPI3_BASE (U8500_PER1_BASE + 0x9000)
#define U8500_SLIM0_BASE (U8500_PER1_BASE + 0xa000)
#define U8500_SLIM0_BASE (U8500_PER1_BASE + 0xa000)
#define U8500_GPIO1_BASE (U8500_PER1_BASE + 0xe000)
#define U8500_GPIO1_BASE (U8500_PER1_BASE + 0xe000)
#define U8500_CLKRST1_BASE (U8500_PER
2
_BASE + 0xf000)
#define U8500_CLKRST1_BASE (U8500_PER
1
_BASE + 0xf000)
/* ST-Ericsson modified pl022 id */
/* ST-Ericsson modified pl022 id */
#define SSP_PER_ID 0x01080022
#define SSP_PER_ID 0x01080022
...
...
drivers/mtd/maps/pismo.c
View file @
91e01382
...
@@ -118,7 +118,7 @@ static int __devinit pismo_add_device(struct pismo_data *pismo, int i,
...
@@ -118,7 +118,7 @@ static int __devinit pismo_add_device(struct pismo_data *pismo, int i,
{
{
struct
platform_device
*
dev
;
struct
platform_device
*
dev
;
struct
resource
res
=
{
};
struct
resource
res
=
{
};
phys_addr_t
base
=
region
.
base
;
phys_addr_t
base
=
region
->
base
;
int
ret
;
int
ret
;
if
(
base
==
~
0
)
if
(
base
==
~
0
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment