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
757daad0
Commit
757daad0
authored
Dec 04, 2004
by
Linus Torvalds
Browse files
Options
Browse Files
Download
Plain Diff
Merge
bk://kernel.bkbits.net/davem/sparc-2.6
into ppc970.osdl.org:/home/torvalds/v2.6/linux
parents
fc4bc01e
31431fe7
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
84 additions
and
10 deletions
+84
-10
arch/sparc64/kernel/smp.c
arch/sparc64/kernel/smp.c
+0
-9
arch/sparc64/kernel/trampoline.S
arch/sparc64/kernel/trampoline.S
+84
-1
No files found.
arch/sparc64/kernel/smp.c
View file @
757daad0
...
@@ -103,15 +103,6 @@ extern void inherit_locked_prom_mappings(int save_p);
...
@@ -103,15 +103,6 @@ extern void inherit_locked_prom_mappings(int save_p);
void
__init
smp_callin
(
void
)
void
__init
smp_callin
(
void
)
{
{
int
cpuid
=
hard_smp_processor_id
();
int
cpuid
=
hard_smp_processor_id
();
extern
int
bigkernel
;
extern
unsigned
long
kern_locked_tte_data
;
if
(
bigkernel
)
{
prom_dtlb_load
(
sparc64_highest_locked_tlbent
()
-
1
,
kern_locked_tte_data
+
0x400000
,
KERNBASE
+
0x400000
);
prom_itlb_load
(
sparc64_highest_locked_tlbent
()
-
1
,
kern_locked_tte_data
+
0x400000
,
KERNBASE
+
0x400000
);
}
inherit_locked_prom_mappings
(
0
);
inherit_locked_prom_mappings
(
0
);
...
...
arch/sparc64/kernel/trampoline.S
View file @
757daad0
...
@@ -90,7 +90,9 @@ startup_continue:
...
@@ -90,7 +90,9 @@ startup_continue:
sllx
%
g2
,
32
,
%
g2
sllx
%
g2
,
32
,
%
g2
wr
%
g2
,
0
,
%
tick_cmpr
wr
%
g2
,
0
,
%
tick_cmpr
/
*
Call
OBP
by
hand
to
lock
KERNBASE
into
i
/
d
tlbs
.
*/
/
*
Call
OBP
by
hand
to
lock
KERNBASE
into
i
/
d
tlbs
.
*
We
lock
2
consequetive
entries
if
we
are
'bigkernel'
.
*/
mov
%
o0
,
%
l0
mov
%
o0
,
%
l0
sethi
%
hi
(
prom_entry_lock
),
%
g2
sethi
%
hi
(
prom_entry_lock
),
%
g2
...
@@ -136,6 +138,46 @@ startup_continue:
...
@@ -136,6 +138,46 @@ startup_continue:
call
%
o1
call
%
o1
add
%
sp
,
(
2047
+
128
),
%
o0
add
%
sp
,
(
2047
+
128
),
%
o0
sethi
%
hi
(
bigkernel
),
%
g2
lduw
[%
g2
+
%
lo
(
bigkernel
)],
%
g2
cmp
%
g2
,
0
be
,
pt
%
icc
,
do_dtlb
nop
sethi
%
hi
(
call_method
),
%
g2
or
%
g2
,
%
lo
(
call_method
),
%
g2
stx
%
g2
,
[%
sp
+
2047
+
128
+
0x00
]
mov
5
,
%
g2
stx
%
g2
,
[%
sp
+
2047
+
128
+
0x08
]
mov
1
,
%
g2
stx
%
g2
,
[%
sp
+
2047
+
128
+
0x10
]
sethi
%
hi
(
itlb_load
),
%
g2
or
%
g2
,
%
lo
(
itlb_load
),
%
g2
stx
%
g2
,
[%
sp
+
2047
+
128
+
0x18
]
sethi
%
hi
(
mmu_ihandle_cache
),
%
g2
lduw
[%
g2
+
%
lo
(
mmu_ihandle_cache
)],
%
g2
stx
%
g2
,
[%
sp
+
2047
+
128
+
0x20
]
sethi
%
hi
(
KERNBASE
+
0x400000
),
%
g2
stx
%
g2
,
[%
sp
+
2047
+
128
+
0x28
]
sethi
%
hi
(
kern_locked_tte_data
),
%
g2
ldx
[%
g2
+
%
lo
(
kern_locked_tte_data
)],
%
g2
sethi
%
hi
(
0x400000
),
%
g1
add
%
g2
,
%
g1
,
%
g2
stx
%
g2
,
[%
sp
+
2047
+
128
+
0x30
]
mov
14
,
%
g2
BRANCH_IF_ANY_CHEETAH
(
g1
,
g5
,1
f
)
mov
62
,
%
g2
1
:
stx
%
g2
,
[%
sp
+
2047
+
128
+
0x38
]
sethi
%
hi
(
p1275buf
),
%
g2
or
%
g2
,
%
lo
(
p1275buf
),
%
g2
ldx
[%
g2
+
0x08
],
%
o1
call
%
o1
add
%
sp
,
(
2047
+
128
),
%
o0
do_dtlb
:
sethi
%
hi
(
call_method
),
%
g2
sethi
%
hi
(
call_method
),
%
g2
or
%
g2
,
%
lo
(
call_method
),
%
g2
or
%
g2
,
%
lo
(
call_method
),
%
g2
stx
%
g2
,
[%
sp
+
2047
+
128
+
0x00
]
stx
%
g2
,
[%
sp
+
2047
+
128
+
0x00
]
...
@@ -168,6 +210,47 @@ startup_continue:
...
@@ -168,6 +210,47 @@ startup_continue:
call
%
o1
call
%
o1
add
%
sp
,
(
2047
+
128
),
%
o0
add
%
sp
,
(
2047
+
128
),
%
o0
sethi
%
hi
(
bigkernel
),
%
g2
lduw
[%
g2
+
%
lo
(
bigkernel
)],
%
g2
cmp
%
g2
,
0
be
,
pt
%
icc
,
do_unlock
nop
sethi
%
hi
(
call_method
),
%
g2
or
%
g2
,
%
lo
(
call_method
),
%
g2
stx
%
g2
,
[%
sp
+
2047
+
128
+
0x00
]
mov
5
,
%
g2
stx
%
g2
,
[%
sp
+
2047
+
128
+
0x08
]
mov
1
,
%
g2
stx
%
g2
,
[%
sp
+
2047
+
128
+
0x10
]
sethi
%
hi
(
dtlb_load
),
%
g2
or
%
g2
,
%
lo
(
dtlb_load
),
%
g2
stx
%
g2
,
[%
sp
+
2047
+
128
+
0x18
]
sethi
%
hi
(
mmu_ihandle_cache
),
%
g2
lduw
[%
g2
+
%
lo
(
mmu_ihandle_cache
)],
%
g2
stx
%
g2
,
[%
sp
+
2047
+
128
+
0x20
]
sethi
%
hi
(
KERNBASE
+
0x400000
),
%
g2
stx
%
g2
,
[%
sp
+
2047
+
128
+
0x28
]
sethi
%
hi
(
kern_locked_tte_data
),
%
g2
ldx
[%
g2
+
%
lo
(
kern_locked_tte_data
)],
%
g2
sethi
%
hi
(
0x400000
),
%
g1
add
%
g2
,
%
g1
,
%
g2
stx
%
g2
,
[%
sp
+
2047
+
128
+
0x30
]
mov
14
,
%
g2
BRANCH_IF_ANY_CHEETAH
(
g1
,
g5
,1
f
)
mov
62
,
%
g2
1
:
stx
%
g2
,
[%
sp
+
2047
+
128
+
0x38
]
sethi
%
hi
(
p1275buf
),
%
g2
or
%
g2
,
%
lo
(
p1275buf
),
%
g2
ldx
[%
g2
+
0x08
],
%
o1
call
%
o1
add
%
sp
,
(
2047
+
128
),
%
o0
do_unlock
:
sethi
%
hi
(
prom_entry_lock
),
%
g2
sethi
%
hi
(
prom_entry_lock
),
%
g2
stb
%
g0
,
[%
g2
+
%
lo
(
prom_entry_lock
)]
stb
%
g0
,
[%
g2
+
%
lo
(
prom_entry_lock
)]
membar
#
StoreStore
|
#
StoreLoad
membar
#
StoreStore
|
#
StoreLoad
...
...
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