Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
linux
Commits
c84f2c3f
Commit
c84f2c3f
authored
Jan 09, 2005
by
Russell King
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[ARM] Move common CPU initialisation into head.S
parent
a359e554
Changes
15
Hide whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
285 additions
and
340 deletions
+285
-340
arch/arm/kernel/head.S
arch/arm/kernel/head.S
+19
-1
arch/arm/mm/proc-arm1020.S
arch/arm/mm/proc-arm1020.S
+17
-28
arch/arm/mm/proc-arm1020e.S
arch/arm/mm/proc-arm1020e.S
+17
-29
arch/arm/mm/proc-arm1022.S
arch/arm/mm/proc-arm1022.S
+17
-27
arch/arm/mm/proc-arm1026.S
arch/arm/mm/proc-arm1026.S
+18
-27
arch/arm/mm/proc-arm6_7.S
arch/arm/mm/proc-arm6_7.S
+0
-12
arch/arm/mm/proc-arm720.S
arch/arm/mm/proc-arm720.S
+53
-38
arch/arm/mm/proc-arm920.S
arch/arm/mm/proc-arm920.S
+17
-27
arch/arm/mm/proc-arm922.S
arch/arm/mm/proc-arm922.S
+17
-27
arch/arm/mm/proc-arm925.S
arch/arm/mm/proc-arm925.S
+17
-30
arch/arm/mm/proc-arm926.S
arch/arm/mm/proc-arm926.S
+17
-27
arch/arm/mm/proc-sa110.S
arch/arm/mm/proc-sa110.S
+18
-12
arch/arm/mm/proc-sa1100.S
arch/arm/mm/proc-sa1100.S
+21
-15
arch/arm/mm/proc-v6.S
arch/arm/mm/proc-v6.S
+20
-27
arch/arm/mm/proc-xscale.S
arch/arm/mm/proc-xscale.S
+17
-13
No files found.
arch/arm/kernel/head.S
View file @
c84f2c3f
...
...
@@ -14,6 +14,7 @@
#include <linux/init.h>
#include <asm/assembler.h>
#include <asm/domain.h>
#include <asm/mach-types.h>
#include <asm/procinfo.h>
#include <asm/ptrace.h>
...
...
@@ -166,7 +167,9 @@ __mmap_switched:
/*
*
Setup
common
bits
before
finally
enabling
the
MMU
.
*
Setup
common
bits
before
finally
enabling
the
MMU
.
Essentially
*
this
is
just
loading
the
page
table
pointer
and
domain
access
*
registers
.
*/
.
type
__enable_mmu
,
%
function
__enable_mmu
:
...
...
@@ -175,6 +178,21 @@ __enable_mmu:
#else
bic
r0
,
r0
,
#
CR_A
#endif
#ifdef CONFIG_CPU_DCACHE_DISABLE
bic
r0
,
r0
,
#
CR_C
#endif
#ifdef CONFIG_CPU_BPREDICT_DISABLE
bic
r0
,
r0
,
#
CR_Z
#endif
#ifdef CONFIG_CPU_ICACHE_DISABLE
bic
r0
,
r0
,
#
CR_I
#endif
mov
r5
,
#(
domain_val
(
DOMAIN_USER
,
DOMAIN_MANAGER
)
|
\
domain_val
(
DOMAIN_KERNEL
,
DOMAIN_MANAGER
)
|
\
domain_val
(
DOMAIN_TABLE
,
DOMAIN_MANAGER
)
|
\
domain_val
(
DOMAIN_IO
,
DOMAIN_CLIENT
))
mcr
p15
,
0
,
r5
,
c3
,
c0
,
0
@
load
domain
access
register
mcr
p15
,
0
,
r4
,
c2
,
c0
,
0
@
load
page
table
pointer
b
__turn_mmu_on
/*
...
...
arch/arm/mm/proc-arm1020.S
View file @
c84f2c3f
...
...
@@ -30,7 +30,6 @@
#include <asm/assembler.h>
#include <asm/constants.h>
#include <asm/pgtable.h>
#include <asm/domain.h>
#include <asm/procinfo.h>
#include <asm/ptrace.h>
#include <asm/hardware.h>
...
...
@@ -432,39 +431,29 @@ __arm1020_setup:
mcr
p15
,
0
,
r0
,
c7
,
c7
@
invalidate
I
,
D
caches
on
v4
mcr
p15
,
0
,
r0
,
c7
,
c10
,
4
@
drain
write
buffer
on
v4
mcr
p15
,
0
,
r0
,
c8
,
c7
@
invalidate
I
,
D
TLBs
on
v4
mcr
p15
,
0
,
r4
,
c2
,
c0
@
load
page
table
pointer
mov
r0
,
#(
domain_val
(
DOMAIN_USER
,
DOMAIN_MANAGER
)
|
\
domain_val
(
DOMAIN_KERNEL
,
DOMAIN_MANAGER
)
|
\
domain_val
(
DOMAIN_TABLE
,
DOMAIN_MANAGER
)
|
\
domain_val
(
DOMAIN_IO
,
DOMAIN_CLIENT
))
mcr
p15
,
0
,
r0
,
c3
,
c0
@
load
domain
access
register
mrc
p15
,
0
,
r0
,
c1
,
c0
@
get
control
register
v4
/*
*
Clear
out
'unwanted'
bits
(
then
put
them
in
if
we
need
them
)
*/
bic
r0
,
r0
,
#
0x1e00
@
i
...
??
r
.........
bic
r0
,
r0
,
#
0x000e
@
............
wca
.
/*
*
Turn
on
what
we
want
*/
orr
r0
,
r0
,
#
0x0031
@
..........
DP
...
M
orr
r0
,
r0
,
#
0x0100
@
.......
S
........
ldr
r5
,
arm1020_cr1_clear
bic
r0
,
r0
,
r5
ldr
r5
,
arm1020_cr1_set
orr
r0
,
r0
,
r5
#ifdef CONFIG_CPU_CACHE_ROUND_ROBIN
orr
r0
,
r0
,
#
0x4000
@
.
R
..............
#endif
#ifndef CONFIG_CPU_BPREDICT_DISABLE
orr
r0
,
r0
,
#
0x0800
@
....
Z
...........
#endif
#ifndef CONFIG_CPU_DCACHE_DISABLE
orr
r0
,
r0
,
#
0x0004
@
Enable
D
cache
#endif
#ifndef CONFIG_CPU_ICACHE_DISABLE
orr
r0
,
r0
,
#
0x1000
@
I
Cache
on
orr
r0
,
r0
,
#
0x4000
@
.
R
..
....
....
....
#endif
mov
pc
,
lr
.
size
__arm1020_setup
,
.
-
__arm1020_setup
/
*
*
R
*
.
RVI
ZFRS
BLDP
WCAM
*
.0.1
1001
..11
0101
/*
FIXME
:
why
no
V
bit
?
*/
*/
.
type
arm1020_cr1_clear
,
#
object
.
type
arm1020_cr1_set
,
#
object
arm1020_cr1_clear
:
.
word
0x593f
arm1020_cr1_set
:
.
word
0x1935
__INITDATA
/*
...
...
arch/arm/mm/proc-arm1020e.S
View file @
c84f2c3f
...
...
@@ -30,7 +30,6 @@
#include <asm/assembler.h>
#include <asm/constants.h>
#include <asm/pgtable.h>
#include <asm/domain.h>
#include <asm/procinfo.h>
#include <asm/ptrace.h>
#include <asm/hardware.h>
...
...
@@ -414,40 +413,29 @@ __arm1020e_setup:
mcr
p15
,
0
,
r0
,
c7
,
c7
@
invalidate
I
,
D
caches
on
v4
mcr
p15
,
0
,
r0
,
c7
,
c10
,
4
@
drain
write
buffer
on
v4
mcr
p15
,
0
,
r0
,
c8
,
c7
@
invalidate
I
,
D
TLBs
on
v4
mcr
p15
,
0
,
r4
,
c2
,
c0
@
load
page
table
pointer
mov
r0
,
#(
domain_val
(
DOMAIN_USER
,
DOMAIN_MANAGER
)
|
\
domain_val
(
DOMAIN_KERNEL
,
DOMAIN_MANAGER
)
|
\
domain_val
(
DOMAIN_TABLE
,
DOMAIN_MANAGER
)
|
\
domain_val
(
DOMAIN_IO
,
DOMAIN_CLIENT
))
mcr
p15
,
0
,
r0
,
c3
,
c0
@
load
domain
access
register
mrc
p15
,
0
,
r0
,
c1
,
c0
@
get
control
register
v4
/*
*
Clear
out
'unwanted'
bits
(
then
put
them
in
if
we
need
them
)
*/
bic
r0
,
r0
,
#
0x1e00
@
i
...
??
r
.........
bic
r0
,
r0
,
#
0x000e
@
............
wca
.
/*
*
Turn
on
what
we
want
*/
orr
r0
,
r0
,
#
0x0031
@
..........
DP
...
M
orr
r0
,
r0
,
#
0x0100
@
.......
S
........
ldr
r5
,
arm1020e_cr1_clear
bic
r0
,
r0
,
r5
ldr
r5
,
arm1020e_cr1_set
orr
r0
,
r0
,
r5
#ifdef CONFIG_CPU_CACHE_ROUND_ROBIN
orr
r0
,
r0
,
#
0x4000
@
.
R
..............
#endif
#ifndef CONFIG_CPU_BPREDICT_DISABLE
orr
r0
,
r0
,
#
0x0800
@
....
Z
...........
#endif
#ifndef CONFIG_CPU_DCACHE_DISABLE
orr
r0
,
r0
,
#
0x0004
@
Enable
D
cache
#endif
#ifndef CONFIG_CPU_ICACHE_DISABLE
orr
r0
,
r0
,
#
0x1000
@
I
Cache
on
orr
r0
,
r0
,
#
0x4000
@
.
R
..
....
....
....
#endif
mov
pc
,
lr
.
size
__arm1020e_setup
,
.
-
__arm1020e_setup
/
*
*
R
*
.
RVI
ZFRS
BLDP
WCAM
*
.0.1
1001
..11
0101
/*
FIXME
:
why
no
V
bit
?
*/
*/
.
type
arm1020e_cr1_clear
,
#
object
.
type
arm1020e_cr1_set
,
#
object
arm1020e_cr1_clear
:
.
word
0x5f3f
arm1020e_cr1_set
:
.
word
0x1935
__INITDATA
/*
...
...
arch/arm/mm/proc-arm1022.S
View file @
c84f2c3f
...
...
@@ -19,7 +19,6 @@
#include <asm/assembler.h>
#include <asm/constants.h>
#include <asm/pgtable.h>
#include <asm/domain.h>
#include <asm/procinfo.h>
#include <asm/ptrace.h>
...
...
@@ -395,39 +394,30 @@ __arm1022_setup:
mcr
p15
,
0
,
r0
,
c7
,
c7
@
invalidate
I
,
D
caches
on
v4
mcr
p15
,
0
,
r0
,
c7
,
c10
,
4
@
drain
write
buffer
on
v4
mcr
p15
,
0
,
r0
,
c8
,
c7
@
invalidate
I
,
D
TLBs
on
v4
mcr
p15
,
0
,
r4
,
c2
,
c0
@
load
page
table
pointer
mov
r0
,
#(
domain_val
(
DOMAIN_USER
,
DOMAIN_MANAGER
)
|
\
domain_val
(
DOMAIN_KERNEL
,
DOMAIN_MANAGER
)
|
\
domain_val
(
DOMAIN_TABLE
,
DOMAIN_MANAGER
)
|
\
domain_val
(
DOMAIN_IO
,
DOMAIN_CLIENT
))
mcr
p15
,
0
,
r0
,
c3
,
c0
@
load
domain
access
register
mrc
p15
,
0
,
r0
,
c1
,
c0
@
get
control
register
v4
/*
*
Clear
out
'unwanted'
bits
(
then
put
them
in
if
we
need
them
)
*/
bic
r0
,
r0
,
#
0x1e00
@
...
i
??
r
.........
bic
r0
,
r0
,
#
0x000e
@
............
wca
.
/*
*
Turn
on
what
we
want
*/
orr
r0
,
r0
,
#
0x0031
@
..........
DP
...
M
orr
r0
,
r0
,
#
0x2100
@
..
V
....
S
........
ldr
r5
,
arm1022_cr1_clear
bic
r0
,
r0
,
r5
ldr
r5
,
arm1022_cr1_set
orr
r0
,
r0
,
r5
#ifdef CONFIG_CPU_CACHE_ROUND_ROBIN
orr
r0
,
r0
,
#
0x4000
@
.
R
..............
#endif
#ifndef CONFIG_CPU_BPREDICT_DISABLE
orr
r0
,
r0
,
#
0x0800
@
....
Z
...........
#endif
#ifndef CONFIG_CPU_DCACHE_DISABLE
orr
r0
,
r0
,
#
0x0004
@
.............
C
..
#endif
#ifndef CONFIG_CPU_ICACHE_DISABLE
orr
r0
,
r0
,
#
0x1000
@
...
I
............
#endif
mov
pc
,
lr
.
size
__arm1022_setup
,
.
-
__arm1022_setup
/
*
*
R
*
.
RVI
ZFRS
BLDP
WCAM
*
.011
1001
..11
0101
*
*/
.
type
arm1022_cr1_clear
,
#
object
.
type
arm1022_cr1_set
,
#
object
arm1022_cr1_clear
:
.
word
0x7f3f
arm1022_cr1_set
:
.
word
0x3935
__INITDATA
/*
...
...
arch/arm/mm/proc-arm1026.S
View file @
c84f2c3f
...
...
@@ -19,7 +19,6 @@
#include <asm/assembler.h>
#include <asm/constants.h>
#include <asm/pgtable.h>
#include <asm/domain.h>
#include <asm/procinfo.h>
#include <asm/ptrace.h>
...
...
@@ -390,38 +389,30 @@ __arm1026_setup:
mov
r0
,
#
4
@
explicitly
disable
writeback
mcr
p15
,
7
,
r0
,
c15
,
c0
,
0
#endif
mov
r0
,
#(
domain_val
(
DOMAIN_USER
,
DOMAIN_MANAGER
)
|
\
domain_val
(
DOMAIN_KERNEL
,
DOMAIN_MANAGER
)
|
\
domain_val
(
DOMAIN_TABLE
,
DOMAIN_MANAGER
)
|
\
domain_val
(
DOMAIN_IO
,
DOMAIN_CLIENT
))
mcr
p15
,
0
,
r0
,
c3
,
c0
@
load
domain
access
register
mrc
p15
,
0
,
r0
,
c1
,
c0
@
get
control
register
v4
/*
*
Clear
out
'unwanted'
bits
(
then
put
them
in
if
we
need
them
)
*/
bic
r0
,
r0
,
#
0x1e00
@
...
i
??
r
.........
bic
r0
,
r0
,
#
0x000e
@
............
wca
.
/*
*
Turn
on
what
we
want
*/
orr
r0
,
r0
,
#
0x0031
@
..........
DP
...
M
orr
r0
,
r0
,
#
0x2100
@
..
V
....
S
........
ldr
r5
,
arm1026_cr1_clear
bic
r0
,
r0
,
r5
ldr
r5
,
arm1026_cr1_set
orr
r0
,
r0
,
r5
#ifdef CONFIG_CPU_CACHE_ROUND_ROBIN
orr
r0
,
r0
,
#
0x4000
@
.
R
..............
#endif
#ifndef CONFIG_CPU_BPREDICT_DISABLE
orr
r0
,
r0
,
#
0x0800
@
....
Z
...........
#endif
#ifndef CONFIG_CPU_DCACHE_DISABLE
orr
r0
,
r0
,
#
0x0004
@
.............
C
..
#endif
#ifndef CONFIG_CPU_ICACHE_DISABLE
orr
r0
,
r0
,
#
0x1000
@
...
I
............
orr
r0
,
r0
,
#
0x4000
@
.
R
..
....
....
....
#endif
mov
pc
,
lr
.
size
__arm1026_setup
,
.
-
__arm1026_setup
/
*
*
R
*
.
RVI
ZFRS
BLDP
WCAM
*
.011
1001
..11
0101
*
*/
.
type
arm1026_cr1_clear
,
#
object
.
type
arm1026_cr1_set
,
#
object
arm1026_cr1_clear
:
.
word
0x7f3f
arm1026_cr1_set
:
.
word
0x3935
__INITDATA
/*
...
...
arch/arm/mm/proc-arm6_7.S
View file @
c84f2c3f
...
...
@@ -15,7 +15,6 @@
#include <asm/assembler.h>
#include <asm/constants.h>
#include <asm/pgtable.h>
#include <asm/domain.h>
#include <asm/procinfo.h>
#include <asm/ptrace.h>
...
...
@@ -254,12 +253,6 @@ ENTRY(cpu_arm7_reset)
__arm6_setup
:
mov
r0
,
#
0
mcr
p15
,
0
,
r0
,
c7
,
c0
@
flush
caches
on
v3
mcr
p15
,
0
,
r0
,
c5
,
c0
@
flush
TLBs
on
v3
mcr
p15
,
0
,
r4
,
c2
,
c0
@
load
page
table
pointer
mov
r0
,
#(
domain_val
(
DOMAIN_USER
,
DOMAIN_MANAGER
)
|
\
domain_val
(
DOMAIN_KERNEL
,
DOMAIN_MANAGER
)
|
\
domain_val
(
DOMAIN_TABLE
,
DOMAIN_MANAGER
)
|
\
domain_val
(
DOMAIN_IO
,
DOMAIN_CLIENT
))
mcr
p15
,
0
,
r0
,
c3
,
c0
@
load
domain
access
register
mov
r0
,
#
0x3d
@
.
..
RS
BLDP
WCAM
orr
r0
,
r0
,
#
0x100
@
.
..01
0011
1101
mov
pc
,
lr
...
...
@@ -269,11 +262,6 @@ __arm6_setup: mov r0, #0
__arm7_setup
:
mov
r0
,
#
0
mcr
p15
,
0
,
r0
,
c7
,
c0
@
flush
caches
on
v3
mcr
p15
,
0
,
r0
,
c5
,
c0
@
flush
TLBs
on
v3
mcr
p15
,
0
,
r4
,
c2
,
c0
@
load
page
table
pointer
mov
r0
,
#(
domain_val
(
DOMAIN_IO
,
DOMAIN_CLIENT
)
|
\
domain_val
(
DOMAIN_KERNEL
,
DOMAIN_MANAGER
)
|
\
domain_val
(
DOMAIN_TABLE
,
DOMAIN_MANAGER
)
|
\
domain_val
(
DOMAIN_USER
,
DOMAIN_MANAGER
))
mcr
p15
,
0
,
r0
,
c3
,
c0
@
load
domain
access
register
mov
r0
,
#
0x7d
@
.
..
RS
BLDP
WCAM
orr
r0
,
r0
,
#
0x100
@
.
..01
0111
1101
...
...
arch/arm/mm/proc-arm720.S
View file @
c84f2c3f
...
...
@@ -35,7 +35,6 @@
#include <asm/assembler.h>
#include <asm/constants.h>
#include <asm/pgtable.h>
#include <asm/domain.h>
#include <asm/procinfo.h>
#include <asm/ptrace.h>
#include <asm/hardware.h>
...
...
@@ -125,43 +124,59 @@ ENTRY(cpu_arm720_reset)
mcr
p15
,
0
,
ip
,
c1
,
c0
,
0
@
ctrl
register
mov
pc
,
r0
__INIT
.
type
__arm710_setup
,
#
function
__arm710_setup
:
mov
r0
,
#
0
mcr
p15
,
0
,
r0
,
c7
,
c7
,
0
@
invalidate
caches
mcr
p15
,
0
,
r0
,
c8
,
c7
,
0
@
flush
TLB
(
v4
)
mcr
p15
,
0
,
r4
,
c2
,
c0
@
load
page
table
pointer
mov
r0
,
#(
domain_val
(
DOMAIN_USER
,
DOMAIN_MANAGER
)
|
\
domain_val
(
DOMAIN_KERNEL
,
DOMAIN_MANAGER
)
|
\
domain_val
(
DOMAIN_TABLE
,
DOMAIN_MANAGER
)
|
\
domain_val
(
DOMAIN_IO
,
DOMAIN_CLIENT
))
mcr
p15
,
0
,
r0
,
c3
,
c0
@
load
domain
access
register
mrc
p15
,
0
,
r0
,
c1
,
c0
@
get
control
register
bic
r0
,
r0
,
#
0x0e00
@
..
V
.
..
RS
BLDP
WCAM
orr
r0
,
r0
,
#
0x0100
@
....
....
.111
....
(
old
)
orr
r0
,
r0
,
#
0x003d
@
....
..01
..11
1101
(
new
)
mov
pc
,
lr
@
__ret
(
head
.
S
)
.
size
__arm710_setup
,
.
-
__arm710_setup
.
type
__arm720_setup
,
#
function
__arm720_setup
:
mov
r0
,
#
0
mcr
p15
,
0
,
r0
,
c7
,
c7
,
0
@
invalidate
caches
mcr
p15
,
0
,
r0
,
c8
,
c7
,
0
@
flush
TLB
(
v4
)
mcr
p15
,
0
,
r4
,
c2
,
c0
@
load
page
table
pointer
mov
r0
,
#(
domain_val
(
DOMAIN_USER
,
DOMAIN_MANAGER
)
|
\
domain_val
(
DOMAIN_KERNEL
,
DOMAIN_MANAGER
)
|
\
domain_val
(
DOMAIN_TABLE
,
DOMAIN_MANAGER
)
|
\
domain_val
(
DOMAIN_IO
,
DOMAIN_CLIENT
))
mcr
p15
,
0
,
r0
,
c3
,
c0
@
load
domain
access
register
mrc
p15
,
0
,
r0
,
c1
,
c0
@
get
control
register
bic
r0
,
r0
,
#
0x0e00
@
..
V
.
..
RS
BLDP
WCAM
orr
r0
,
r0
,
#
0x2100
@
....
....
.111
....
(
old
)
orr
r0
,
r0
,
#
0x003d
@
..1.
..01
..11
1101
(
new
)
mov
pc
,
lr
@
__ret
(
head
.
S
)
.
size
__arm720_setup
,
.
-
__arm720_setup
__INIT
.
type
__arm710_setup
,
#
function
__arm710_setup
:
mov
r0
,
#
0
mcr
p15
,
0
,
r0
,
c7
,
c7
,
0
@
invalidate
caches
mcr
p15
,
0
,
r0
,
c8
,
c7
,
0
@
flush
TLB
(
v4
)
mrc
p15
,
0
,
r0
,
c1
,
c0
@
get
control
register
ldr
r5
,
arm710_cr1_clear
bic
r0
,
r0
,
r5
ldr
r5
,
arm710_cr1_set
orr
r0
,
r0
,
r5
mov
pc
,
lr
@
__ret
(
head
.
S
)
.
size
__arm710_setup
,
.
-
__arm710_setup
/
*
*
R
*
.
RVI
ZFRS
BLDP
WCAM
*
....
0001
..11
1101
*
*/
.
type
arm710_cr1_clear
,
#
object
.
type
arm710_cr1_set
,
#
object
arm710_cr1_clear
:
.
word
0x0f3f
arm710_cr1_set
:
.
word
0x013d
.
type
__arm720_setup
,
#
function
__arm720_setup
:
mov
r0
,
#
0
mcr
p15
,
0
,
r0
,
c7
,
c7
,
0
@
invalidate
caches
mcr
p15
,
0
,
r0
,
c8
,
c7
,
0
@
flush
TLB
(
v4
)
mrc
p15
,
0
,
r0
,
c1
,
c0
@
get
control
register
ldr
r5
,
arm720_cr1_clear
bic
r0
,
r0
,
r5
ldr
r5
,
arm720_cr1_set
orr
r0
,
r0
,
r5
mov
pc
,
lr
@
__ret
(
head
.
S
)
.
size
__arm720_setup
,
.
-
__arm720_setup
/
*
*
R
*
.
RVI
ZFRS
BLDP
WCAM
*
..1.
1001
..11
1101
*
*/
.
type
arm720_cr1_clear
,
#
object
.
type
arm720_cr1_set
,
#
object
arm720_cr1_clear
:
.
word
0x2f3f
arm720_cr1_set
:
.
word
0x213d
__INITDATA
...
...
arch/arm/mm/proc-arm920.S
View file @
c84f2c3f
...
...
@@ -29,7 +29,6 @@
#include <linux/init.h>
#include <asm/assembler.h>
#include <asm/pgtable.h>
#include <asm/domain.h>
#include <asm/procinfo.h>
#include <asm/hardware.h>
#include <asm/page.h>
...
...
@@ -383,36 +382,27 @@ __arm920_setup:
mcr
p15
,
0
,
r0
,
c7
,
c7
@
invalidate
I
,
D
caches
on
v4
mcr
p15
,
0
,
r0
,
c7
,
c10
,
4
@
drain
write
buffer
on
v4
mcr
p15
,
0
,
r0
,
c8
,
c7
@
invalidate
I
,
D
TLBs
on
v4
mcr
p15
,
0
,
r4
,
c2
,
c0
@
load
page
table
pointer
mov
r0
,
#(
domain_val
(
DOMAIN_USER
,
DOMAIN_MANAGER
)
|
\
domain_val
(
DOMAIN_KERNEL
,
DOMAIN_MANAGER
)
|
\
domain_val
(
DOMAIN_TABLE
,
DOMAIN_MANAGER
)
|
\
domain_val
(
DOMAIN_IO
,
DOMAIN_CLIENT
))
mcr
p15
,
0
,
r0
,
c3
,
c0
@
load
domain
access
register
mrc
p15
,
0
,
r0
,
c1
,
c0
@
get
control
register
v4
/*
*
Clear
out
'unwanted'
bits
(
then
put
them
in
if
we
need
them
)
*/
@
VI
ZFRS
BLDP
WCAM
bic
r0
,
r0
,
#
0x0e00
bic
r0
,
r0
,
#
0x0002
bic
r0
,
r0
,
#
0x000c
bic
r0
,
r0
,
#
0x1000
@
...0
000
.
....
000
.
/*
*
Turn
on
what
we
want
*/
orr
r0
,
r0
,
#
0x0031
orr
r0
,
r0
,
#
0x2100
@
..1.
...1
..11
...1
#ifndef CONFIG_CPU_DCACHE_DISABLE
orr
r0
,
r0
,
#
0x0004
@
....
....
....
.1..
#endif
#ifndef CONFIG_CPU_ICACHE_DISABLE
orr
r0
,
r0
,
#
0x1000
@
...1
....
....
....
#endif
ldr
r5
,
arm920_cr1_clear
bic
r0
,
r0
,
r5
ldr
r5
,
arm920_cr1_set
orr
r0
,
r0
,
r5
mov
pc
,
lr
.
size
__arm920_setup
,
.
-
__arm920_setup
/
*
*
R
*
.
RVI
ZFRS
BLDP
WCAM
*
..11
0001
..11
0101
*
*/
.
type
arm920_cr1_clear
,
#
object
.
type
arm920_cr1_set
,
#
object
arm920_cr1_clear
:
.
word
0x3f3f
arm920_cr1_set
:
.
word
0x3135
__INITDATA
/*
...
...
arch/arm/mm/proc-arm922.S
View file @
c84f2c3f
...
...
@@ -30,7 +30,6 @@
#include <linux/init.h>
#include <asm/assembler.h>
#include <asm/pgtable.h>
#include <asm/domain.h>
#include <asm/procinfo.h>
#include <asm/hardware.h>
#include <asm/page.h>
...
...
@@ -387,36 +386,27 @@ __arm922_setup:
mcr
p15
,
0
,
r0
,
c7
,
c7
@
invalidate
I
,
D
caches
on
v4
mcr
p15
,
0
,
r0
,
c7
,
c10
,
4
@
drain
write
buffer
on
v4
mcr
p15
,
0
,
r0
,
c8
,
c7
@
invalidate
I
,
D
TLBs
on
v4
mcr
p15
,
0
,
r4
,
c2
,
c0
@
load
page
table
pointer
mov
r0
,
#(
domain_val
(
DOMAIN_USER
,
DOMAIN_MANAGER
)
|
\
domain_val
(
DOMAIN_KERNEL
,
DOMAIN_MANAGER
)
|
\
domain_val
(
DOMAIN_TABLE
,
DOMAIN_MANAGER
)
|
\
domain_val
(
DOMAIN_IO
,
DOMAIN_CLIENT
))
mcr
p15
,
0
,
r0
,
c3
,
c0
@
load
domain
access
register
mrc
p15
,
0
,
r0
,
c1
,
c0
@
get
control
register
v4
/*
*
Clear
out
'unwanted'
bits
(
then
put
them
in
if
we
need
them
)
*/
@
VI
ZFRS
BLDP
WCAM
bic
r0
,
r0
,
#
0x0e00
bic
r0
,
r0
,
#
0x0002
bic
r0
,
r0
,
#
0x000c
bic
r0
,
r0
,
#
0x1000
@
...0
000
.
....
000
.
/*
*
Turn
on
what
we
want
*/
orr
r0
,
r0
,
#
0x0031
orr
r0
,
r0
,
#
0x2100
@
..1.
...1
..11
...1
#ifndef CONFIG_CPU_DCACHE_DISABLE
orr
r0
,
r0
,
#
0x0004
@
....
....
....
.1..
#endif
#ifndef CONFIG_CPU_ICACHE_DISABLE
orr
r0
,
r0
,
#
0x1000
@
...1
....
....
....
#endif
ldr
r5
,
arm922_cr1_clear
bic
r0
,
r0
,
r5
ldr
r5
,
arm922_cr1_set
orr
r0
,
r0
,
r5
mov
pc
,
lr
.
size
__arm922_setup
,
.
-
__arm922_setup
/
*
*
R
*
.
RVI
ZFRS
BLDP
WCAM
*
..11
0001
..11
0101
*
*/
.
type
arm922_cr1_clear
,
#
object
.
type
arm922_cr1_set
,
#
object
arm922_cr1_clear
:
.
word
0x3f3f
arm922_cr1_set
:
.
word
0x3135
__INITDATA
/*
...
...
arch/arm/mm/proc-arm925.S
View file @
c84f2c3f
...
...
@@ -52,7 +52,6 @@
#include <linux/init.h>
#include <asm/assembler.h>
#include <asm/pgtable.h>
#include <asm/domain.h>
#include <asm/procinfo.h>
#include <asm/hardware.h>
#include <asm/page.h>
...
...
@@ -440,48 +439,36 @@ __arm925_setup:
mcr
p15
,
0
,
r0
,
c7
,
c7
@
invalidate
I
,
D
caches
on
v4
mcr
p15
,
0
,
r0
,
c7
,
c10
,
4
@
drain
write
buffer
on
v4
mcr
p15
,
0
,
r0
,
c8
,
c7
@
invalidate
I
,
D
TLBs
on
v4
mcr
p15
,
0
,
r4
,
c2
,
c0
@
load
page
table
pointer
#ifdef CONFIG_CPU_DCACHE_WRITETHROUGH
mov
r0
,
#
4
@
disable
write
-
back
on
caches
explicitly
mcr
p15
,
7
,
r0
,
c15
,
c0
,
0
#endif
mov
r0
,
#(
domain_val
(
DOMAIN_USER
,
DOMAIN_MANAGER
)
|
\
domain_val
(
DOMAIN_KERNEL
,
DOMAIN_MANAGER
)
|
\
domain_val
(
DOMAIN_TABLE
,
DOMAIN_MANAGER
)
|
\
domain_val
(
DOMAIN_IO
,
DOMAIN_CLIENT
))
mcr
p15
,
0
,
r0
,
c3
,
c0
@
load
domain
access
register
mrc
p15
,
0
,
r0
,
c1
,
c0
@
get
control
register
v4
/*
*
Clear
out
'unwanted'
bits
(
then
put
them
in
if
we
need
them
)
*/
@
VI
ZFRS
BLDP
WCAM
bic
r0
,
r0
,
#
0x0e00
bic
r0
,
r0
,
#
0x0002
bic
r0
,
r0
,
#
0x000c
bic
r0
,
r0
,
#
0x1000
@
...0
000
.
....
000
.
/*
*
Turn
on
what
we
want
*/
orr
r0
,
r0
,
#
0x0031
orr
r0
,
r0
,
#
0x2100
@
..1.
...1
..11
...1
/
*
Writebuffer
on
*/
orr
r0
,
r0
,
#
0x0008
@
....
....
....
1
...
ldr
r5
,
arm925_cr1_clear
bic
r0
,
r0
,
r5
ldr
r5
,
arm925_cr1_set
orr
r0
,
r0
,
r5
#ifdef CONFIG_CPU_CACHE_ROUND_ROBIN
orr
r0
,
r0
,
#
0x4000
@
.1..
....
....
....
#endif
#ifndef CONFIG_CPU_DCACHE_DISABLE
orr
r0
,
r0
,
#
0x0004
@
....
....
....
.1..
#endif
#ifndef CONFIG_CPU_ICACHE_DISABLE
orr
r0
,
r0
,
#
0x1000
@
...1
....
....
....
#endif
mov
pc
,
lr
.
size
__arm925_setup
,
.
-
__arm925_setup
/
*
*
R
*
.
RVI
ZFRS
BLDP
WCAM
*
.011
0001
..11
1101
*
*/
.
type
arm925_cr1_clear
,
#
object
.
type
arm925_cr1_set
,
#
object
arm925_cr1_clear
:
.
word
0x7f3f
arm925_cr1_set
:
.
word
0x313d
__INITDATA
/*
...
...
arch/arm/mm/proc-arm926.S
View file @
c84f2c3f
...
...
@@ -29,7 +29,6 @@
#include <linux/init.h>
#include <asm/assembler.h>
#include <asm/pgtable.h>
#include <asm/domain.h>
#include <asm/procinfo.h>
#include <asm/hardware.h>
#include <asm/page.h>
...
...
@@ -389,7 +388,6 @@ __arm926_setup:
mcr
p15
,
0
,
r0
,
c7
,
c7
@
invalidate
I
,
D
caches
on
v4
mcr
p15
,
0
,
r0
,
c7
,
c10
,
4
@
drain
write
buffer
on
v4
mcr
p15
,
0
,
r0
,
c8
,
c7
@
invalidate
I
,
D
TLBs
on
v4
mcr
p15
,
0
,
r4
,
c2
,
c0
@
load
page
table
pointer
#ifdef CONFIG_CPU_DCACHE_WRITETHROUGH
...
...
@@ -397,38 +395,30 @@ __arm926_setup:
mcr
p15
,
7
,
r0
,
c15
,
c0
,
0
#endif
mov
r0
,
#(
domain_val
(
DOMAIN_USER
,
DOMAIN_MANAGER
)
|
\
domain_val
(
DOMAIN_KERNEL
,
DOMAIN_MANAGER
)
|
\
domain_val
(
DOMAIN_TABLE
,
DOMAIN_MANAGER
)
|
\
domain_val
(
DOMAIN_IO
,
DOMAIN_CLIENT
))
mcr
p15
,
0
,
r0
,
c3
,
c0
@
load
domain
access
register
mrc
p15
,
0
,
r0
,
c1
,
c0
@
get
control
register
v4
/*
*
Clear
out
'unwanted'
bits
(
then
put
them
in
if
we
need
them
)
*/
@
VI
ZFRS
BLDP
WCAM
bic
r0
,
r0
,
#
0x0e00
bic
r0
,
r0
,
#
0x0002
bic
r0
,
r0
,
#
0x000c
bic
r0
,
r0
,
#
0x1000
@
...0
000
.
....
000
.
/*
*
Turn
on
what
we
want
*/
orr
r0
,
r0
,
#
0x0031
orr
r0
,
r0
,
#
0x2100
@
..1.
...1
..11
...1
ldr
r5
,
arm926_cr1_clear
bic
r0
,
r0
,
r5
ldr
r5
,
arm926_cr1_set
orr
r0
,
r0
,
r5
#ifdef CONFIG_CPU_CACHE_ROUND_ROBIN
orr
r0
,
r0
,
#
0x4000
@
.1..
....
....
....
#endif
#ifndef CONFIG_CPU_DCACHE_DISABLE
orr
r0
,
r0
,
#
0x0004
@
....
....
....
.1..
#endif
#ifndef CONFIG_CPU_ICACHE_DISABLE
orr
r0
,
r0
,
#
0x1000
@
...1
....
....
....
#endif
mov
pc
,
lr
.
size
__arm926_setup
,
.
-
__arm926_setup
/
*
*
R
*
.
RVI
ZFRS
BLDP
WCAM
*
.011
0001
..11
0101
*
*/
.
type
arm926_cr1_clear
,
#
object
.
type
arm926_cr1_set
,
#
object
arm926_cr1_clear
:
.
word
0x7f3f
arm926_cr1_set
:
.
word
0x3135
__INITDATA
/*
...
...
arch/arm/mm/proc-sa110.S
View file @
c84f2c3f
...
...
@@ -19,7 +19,6 @@
#include <asm/procinfo.h>
#include <asm/hardware.h>
#include <asm/pgtable.h>
#include <asm/domain.h>
#include <asm/ptrace.h>
/*
...
...
@@ -187,24 +186,31 @@ ENTRY(cpu_sa110_set_pte)
.
type
__sa110_setup
,
#
function
__sa110_setup
:
mrc
p15
,
0
,
r0
,
c1
,
c0
@
get
control
register
v4
bic
r0
,
r0
,
#
0x2e00
@
..
VI
ZFRS
BLDP
WCAM
bic
r0
,
r0
,
#
0x0002
@
..0.
000
.
....
..0.
orr
r0
,
r0
,
#
0x003d
orr
r0
,
r0
,
#
0x1100
@
...1
...1
..11
11
.1
mov
r10
,
#
0
mcr
p15
,
0
,
r10
,
c7
,
c7
@
invalidate
I
,
D
caches
on
v4
mcr
p15
,
0
,
r10
,
c7
,
c10
,
4
@
drain
write
buffer
on
v4
mcr
p15
,
0
,
r10
,
c8
,
c7
@
invalidate
I
,
D
TLBs
on
v4
mcr
p15
,
0
,
r4
,
c2
,
c0
@
load
page
table
pointer
mov
r10
,
#(
domain_val
(
DOMAIN_USER
,
DOMAIN_MANAGER
)
|
\
domain_val
(
DOMAIN_KERNEL
,
DOMAIN_MANAGER
)
|
\
domain_val
(
DOMAIN_TABLE
,
DOMAIN_MANAGER
)
|
\
domain_val
(
DOMAIN_IO
,
DOMAIN_CLIENT
))
mcr
p15
,
0
,
r10
,
c3
,
c0
@
load
domain
access
register
mrc
p15
,
0
,
r0
,
c1
,
c0
@
get
control
register
v4
ldr
r5
,
sa110_cr1_clear
bic
r0
,
r0
,
r5
ldr
r5
,
sa110_cr1_set
orr
r0
,
r0
,
r5
mov
pc
,
lr
.
size
__sa110_setup
,
.
-
__sa110_setup
/
*
*
R
*
.
RVI
ZFRS
BLDP
WCAM
*
..01
0001
..11
1101
*
*/
.
type
sa110_cr1_clear
,
#
object
.
type
sa110_cr1_set
,
#
object
sa110_cr1_clear
:
.
word
0x3f3f
sa110_cr1_set
:
.
word
0x113d
__INITDATA
/*
...
...
arch/arm/mm/proc-sa1100.S
View file @
c84f2c3f
...
...
@@ -20,7 +20,6 @@
#include <linux/linkage.h>
#include <linux/init.h>
#include <asm/assembler.h>
#include <asm/domain.h>
#include <asm/constants.h>
#include <asm/procinfo.h>
#include <asm/hardware.h>
...
...
@@ -210,24 +209,31 @@ ENTRY(cpu_sa1100_set_pte)
.
type
__sa1100_setup
,
#
function
__sa1100_setup
:
mov
r10
,
#
0
mcr
p15
,
0
,
r10
,
c7
,
c7
@
invalidate
I
,
D
caches
on
v4
mcr
p15
,
0
,
r10
,
c7
,
c10
,
4
@
drain
write
buffer
on
v4
mcr
p15
,
0
,
r10
,
c8
,
c7
@
invalidate
I
,
D
TLBs
on
v4
mov
r0
,
#(
domain_val
(
DOMAIN_USER
,
DOMAIN_MANAGER
)
|
\
domain_val
(
DOMAIN_KERNEL
,
DOMAIN_MANAGER
)
|
\
domain_val
(
DOMAIN_TABLE
,
DOMAIN_MANAGER
)
|
\
domain_val
(
DOMAIN_IO
,
DOMAIN_CLIENT
))
mcr
p15
,
0
,
r0
,
c3
,
c0
@
load
domain
access
register
mcr
p15
,
0
,
r4
,
c2
,
c0
@
load
page
table
pointer
mov
r0
,
#
0
mcr
p15
,
0
,
r0
,
c7
,
c7
@
invalidate
I
,
D
caches
on
v4
mcr
p15
,
0
,
r0
,
c7
,
c10
,
4
@
drain
write
buffer
on
v4
mcr
p15
,
0
,
r0
,
c8
,
c7
@
invalidate
I
,
D
TLBs
on
v4
mrc
p15
,
0
,
r0
,
c1
,
c0
@
get
control
register
v4
bic
r0
,
r0
,
#
0x0e00
@
..
VI
ZFRS
BLDP
WCAM
bic
r0
,
r0
,
#
0x0002
@
....
000
.
....
..0.
orr
r0
,
r0
,
#
0x003d
orr
r0
,
r0
,
#
0x3100
@
..11
...1
..11
11
.1
ldr
r5
,
sa1100_cr1_clear
bic
r0
,
r0
,
r5
ldr
r5
,
sa1100_cr1_set
orr
r0
,
r0
,
r5
mov
pc
,
lr
.
size
__sa1100_setup
,
.
-
__sa1100_setup
/
*
*
R
*
.
RVI
ZFRS
BLDP
WCAM
*
..11
0001
..11
1101
*
*/
.
type
sa1100_cr1_clear
,
#
object
.
type
sa1100_cr1_set
,
#
object
sa1100_cr1_clear
:
.
word
0x3f3f
sa1100_cr1_set
:
.
word
0x313d
__INITDATA
/*
...
...
arch/arm/mm/proc-v6.S
View file @
c84f2c3f
...
...
@@ -14,7 +14,6 @@
#include <asm/constants.h>
#include <asm/procinfo.h>
#include <asm/pgtable.h>
#include <asm/domain.h>
#include "proc-macros.S"
...
...
@@ -190,30 +189,24 @@ cpu_v6_name:
*
-
cache
type
register
is
implemented
*/
__v6_setup
:
mov
r10
,
#
0
mcr
p15
,
0
,
r10
,
c7
,
c14
,
0
@
clean
+
invalidate
D
cache
mcr
p15
,
0
,
r10
,
c7
,
c5
,
0
@
invalidate
I
cache
mcr
p15
,
0
,
r10
,
c7
,
c15
,
0
@
clean
+
invalidate
cache
mcr
p15
,
0
,
r10
,
c7
,
c10
,
4
@
drain
write
buffer
mcr
p15
,
0
,
r10
,
c8
,
c7
,
0
@
invalidate
I
+
D
TLBs
mcr
p15
,
0
,
r10
,
c2
,
c0
,
2
@
TTB
control
register
mcr
p15
,
0
,
r4
,
c2
,
c0
,
0
@
load
TTB0
mov
r0
,
#
0
mcr
p15
,
0
,
r0
,
c7
,
c14
,
0
@
clean
+
invalidate
D
cache
mcr
p15
,
0
,
r0
,
c7
,
c5
,
0
@
invalidate
I
cache
mcr
p15
,
0
,
r0
,
c7
,
c15
,
0
@
clean
+
invalidate
cache
mcr
p15
,
0
,
r0
,
c7
,
c10
,
4
@
drain
write
buffer
mcr
p15
,
0
,
r0
,
c8
,
c7
,
0
@
invalidate
I
+
D
TLBs
mcr
p15
,
0
,
r0
,
c2
,
c0
,
2
@
TTB
control
register
mcr
p15
,
0
,
r4
,
c2
,
c0
,
1
@
load
TTB1
mov
r10
,
#(
domain_val
(
DOMAIN_USER
,
DOMAIN_MANAGER
)
|
\
domain_val
(
DOMAIN_KERNEL
,
DOMAIN_MANAGER
)
|
\
domain_val
(
DOMAIN_TABLE
,
DOMAIN_MANAGER
)
|
\
domain_val
(
DOMAIN_IO
,
DOMAIN_CLIENT
))
mcr
p15
,
0
,
r10
,
c3
,
c0
,
0
@
load
domain
access
register
mrc
p15
,
0
,
r0
,
c1
,
c0
,
0
@
read
control
register
#ifdef CONFIG_VFP
mrc
p15
,
0
,
r
1
0
,
c1
,
c0
,
2
orr
r
10
,
r1
0
,
#(
3
<<
20
)
mcr
p15
,
0
,
r
1
0
,
c1
,
c0
,
2
@
Enable
full
access
to
VFP
mrc
p15
,
0
,
r0
,
c1
,
c0
,
2
orr
r
0
,
r
0
,
#(
3
<<
20
)
mcr
p15
,
0
,
r0
,
c1
,
c0
,
2
@
Enable
full
access
to
VFP
#endif
ldr
r10
,
cr1_clear
@
get
mask
for
bits
to
clear
bic
r0
,
r0
,
r10
@
clear
bits
them
ldr
r10
,
cr1_set
@
get
mask
for
bits
to
set
orr
r0
,
r0
,
r10
@
set
them
mrc
p15
,
0
,
r0
,
c1
,
c0
,
0
@
read
control
register
ldr
r5
,
v6_cr1_clear
@
get
mask
for
bits
to
clear
bic
r0
,
r0
,
r5
@
clear
bits
them
ldr
r5
,
v6_cr1_set
@
get
mask
for
bits
to
set
orr
r0
,
r0
,
r5
@
set
them
mov
pc
,
lr
@
return
to
head
.
S
:
__ret
/
*
...
...
@@ -222,11 +215,11 @@ __v6_setup:
*
rrrr
rrrx
xxx0
0101
xxxx
xxxx
x111
xxxx
<
forced
*
0
110
0011
1
.00
.111
1101
<
we
want
*/
.
type
cr1_clear
,
#
object
.
type
cr1_set
,
#
object
cr1_clear
:
.
word
0x01
20c302
cr1_set
:
.
type
v6_
cr1_clear
,
#
object
.
type
v6_
cr1_set
,
#
object
v6_
cr1_clear
:
.
word
0x01
e0fb7f
v6_
cr1_set
:
.
word
0x00c0387d
.
type
v6_processor_functions
,
#
object
...
...
arch/arm/mm/proc-xscale.S
View file @
c84f2c3f
...
...
@@ -26,7 +26,6 @@
#include <asm/procinfo.h>
#include <asm/hardware.h>
#include <asm/pgtable.h>
#include <asm/domain.h>
#include <asm/page.h>
#include <asm/ptrace.h>
#include "proc-macros.S"
...
...
@@ -595,17 +594,9 @@ ENTRY(cpu_xscale_set_pte)
.
type
__xscale_setup
,
#
function
__xscale_setup
:
mov
r0
,
#
PSR_F_BIT|PSR_I_BIT|SVC_MODE
msr
cpsr_c
,
r0
mcr
p15
,
0
,
ip
,
c7
,
c7
,
0
@
invalidate
I
,
D
caches
&
BTB
mcr
p15
,
0
,
ip
,
c7
,
c10
,
4
@
Drain
Write
(&
Fill
)
Buffer
mcr
p15
,
0
,
ip
,
c8
,
c7
,
0
@
invalidate
I
,
D
TLBs
mcr
p15
,
0
,
r4
,
c2
,
c0
,
0
@
load
page
table
pointer
mov
r0
,
#(
domain_val
(
DOMAIN_USER
,
DOMAIN_MANAGER
)
|
\
domain_val
(
DOMAIN_KERNEL
,
DOMAIN_MANAGER
)
|
\
domain_val
(
DOMAIN_TABLE
,
DOMAIN_MANAGER
)
|
\
domain_val
(
DOMAIN_IO
,
DOMAIN_CLIENT
))
mcr
p15
,
0
,
r0
,
c3
,
c0
,
0
@
load
domain
access
register
#ifdef CONFIG_IWMMXT
mov
r0
,
#
0
@
initially
disallow
access
to
CP0
/
CP1
#else
...
...
@@ -615,13 +606,26 @@ __xscale_setup:
orr
r0
,
r0
,
#
1
<<
13
@
Its
undefined
whether
this
mcr
p15
,
0
,
r0
,
c15
,
c1
,
0
@
affects
USR
or
SVC
modes
mrc
p15
,
0
,
r0
,
c1
,
c0
,
0
@
get
control
register
bic
r0
,
r0
,
#
0x0200
@
....
..
R
.
....
....
bic
r0
,
r0
,
#
0x0002
@
....
....
....
..
A
.
orr
r0
,
r0
,
#
0x0005
@
....
....
....
.
C
.
M
orr
r0
,
r0
,
#
0x3900
@
..
VI
Z
..
S
....
....
ldr
r5
,
xscale_cr1_clear
bic
r0
,
r0
,
r5
ldr
r5
,
xscale_cr1_set
orr
r0
,
r0
,
r5
mov
pc
,
lr
.
size
__xscale_setup
,
.
-
__xscale_setup
/
*
*
R
*
.
RVI
ZFRS
BLDP
WCAM
*
..11
1
.01
....
.101
*
*/
.
type
xscale_cr1_clear
,
#
object
.
type
xscale_cr1_set
,
#
object
xscale_cr1_clear
:
.
word
0x3b07
xscale_cr1_set
:
.
word
0x3905
__INITDATA
/*
...
...
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