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
a85c711c
Commit
a85c711c
authored
Sep 11, 2003
by
David S. Miller
Browse files
Options
Browse Files
Download
Plain Diff
Merge davem@nuts.ninka.net:/disk1/davem/BK/sparc-2.5
into kernel.bkbits.net:/home/davem/sparc-2.5
parents
36f1b589
857ee469
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
239 additions
and
229 deletions
+239
-229
arch/sparc/boot/btfixupprep.c
arch/sparc/boot/btfixupprep.c
+2
-0
arch/sparc/lib/checksum.S
arch/sparc/lib/checksum.S
+44
-41
arch/sparc/lib/copy_user.S
arch/sparc/lib/copy_user.S
+45
-42
arch/sparc/lib/memset.S
arch/sparc/lib/memset.S
+17
-14
arch/sparc/math-emu/sfp-util.h
arch/sparc/math-emu/sfp-util.h
+68
-68
arch/sparc64/Kconfig
arch/sparc64/Kconfig
+4
-2
arch/sparc64/defconfig
arch/sparc64/defconfig
+33
-34
include/asm-sparc/sfp-machine.h
include/asm-sparc/sfp-machine.h
+20
-20
include/asm-sparc64/vga.h
include/asm-sparc64/vga.h
+6
-8
No files found.
arch/sparc/boot/btfixupprep.c
View file @
a85c711c
...
@@ -171,6 +171,8 @@ int main(int argc,char **argv)
...
@@ -171,6 +171,8 @@ int main(int argc,char **argv)
}
}
}
else
if
(
buffer
[
nbase
+
4
]
!=
'_'
)
}
else
if
(
buffer
[
nbase
+
4
]
!=
'_'
)
continue
;
continue
;
if
(
!
strcmp
(
sect
,
".text.exit"
))
continue
;
if
(
strcmp
(
sect
,
".text"
)
&&
if
(
strcmp
(
sect
,
".text"
)
&&
strcmp
(
sect
,
".init.text"
)
&&
strcmp
(
sect
,
".init.text"
)
&&
strcmp
(
sect
,
".fixup"
)
&&
strcmp
(
sect
,
".fixup"
)
&&
...
...
arch/sparc/lib/checksum.S
View file @
a85c711c
...
@@ -145,36 +145,39 @@ cpout: retl ! get outta here
...
@@ -145,36 +145,39 @@ cpout: retl ! get outta here
.
globl
C_LABEL
(
__csum_partial_copy_start
),
C_LABEL
(
__csum_partial_copy_end
)
.
globl
C_LABEL
(
__csum_partial_copy_start
),
C_LABEL
(
__csum_partial_copy_end
)
C_LABEL
(
__csum_partial_copy_start
):
C_LABEL
(
__csum_partial_copy_start
):
#define EX(x,y,a,b,z) \
/*
Work
around
cpp
-
rob
*/
#define ALLOC #alloc
#define EXECINSTR #execinstr
#define EX(x,y,a,b) \
98
:
x
,
y
; \
98
:
x
,
y
; \
.
section
.
fixup
,
z
##
alloc
,
z
##
execinstr
;
\
.
section
.
fixup
,
ALLOC
,
EXECINSTR
;
\
.
align
4
; \
.
align
4
; \
99
:
ba
30
f
; \
99
:
ba
30
f
; \
a
,
b
,
%
o3
; \
a
,
b
,
%
o3
; \
.
section
__ex_table
,
z
##
alloc
;
\
.
section
__ex_table
,
ALLOC
;
\
.
align
4
; \
.
align
4
; \
.
word
98
b
,
99
b
; \
.
word
98
b
,
99
b
; \
.
text
; \
.
text
; \
.
align
4
.
align
4
#define EX2(x,y
,z)
\
#define EX2(x,y
)
\
98
:
x
,
y
; \
98
:
x
,
y
; \
.
section
__ex_table
,
z
##
alloc
;
\
.
section
__ex_table
,
ALLOC
;
\
.
align
4
; \
.
align
4
; \
.
word
98
b
,
30
f
; \
.
word
98
b
,
30
f
; \
.
text
; \
.
text
; \
.
align
4
.
align
4
#define EX3(x,y
,z)
\
#define EX3(x,y
)
\
98
:
x
,
y
; \
98
:
x
,
y
; \
.
section
__ex_table
,
z
##
alloc
;
\
.
section
__ex_table
,
ALLOC
;
\
.
align
4
; \
.
align
4
; \
.
word
98
b
,
96
f
; \
.
word
98
b
,
96
f
; \
.
text
; \
.
text
; \
.
align
4
.
align
4
#define EXT(start,end,handler
,z)
\
#define EXT(start,end,handler
)
\
.
section
__ex_table
,
z
##
alloc
;
\
.
section
__ex_table
,
ALLOC
;
\
.
align
4
; \
.
align
4
; \
.
word
start
,
0
,
end
,
handler
; \
.
word
start
,
0
,
end
,
handler
; \
.
text
; \
.
text
; \
...
@@ -247,21 +250,21 @@ C_LABEL(__csum_partial_copy_start):
...
@@ -247,21 +250,21 @@ C_LABEL(__csum_partial_copy_start):
cc_end_cruft
:
cc_end_cruft
:
be
1
f
be
1
f
andcc
%
o3
,
4
,
%
g0
andcc
%
o3
,
4
,
%
g0
EX
(
ldd
[%
o0
+
0x00
],
%
g2
,
and
%
o3
,
0xf
,#
)
EX
(
ldd
[%
o0
+
0x00
],
%
g2
,
and
%
o3
,
0xf
)
add
%
o1
,
8
,
%
o1
add
%
o1
,
8
,
%
o1
addcc
%
g2
,
%
g7
,
%
g7
addcc
%
g2
,
%
g7
,
%
g7
add
%
o0
,
8
,
%
o0
add
%
o0
,
8
,
%
o0
addxcc
%
g3
,
%
g7
,
%
g7
addxcc
%
g3
,
%
g7
,
%
g7
EX2
(
st
%
g2
,
[%
o1
-
0x08
]
,#
)
EX2
(
st
%
g2
,
[%
o1
-
0x08
])
addx
%
g0
,
%
g7
,
%
g7
addx
%
g0
,
%
g7
,
%
g7
andcc
%
o3
,
4
,
%
g0
andcc
%
o3
,
4
,
%
g0
EX2
(
st
%
g3
,
[%
o1
-
0x04
]
,#
)
EX2
(
st
%
g3
,
[%
o1
-
0x04
])
1
:
be
1
f
1
:
be
1
f
andcc
%
o3
,
3
,
%
o3
andcc
%
o3
,
3
,
%
o3
EX
(
ld
[%
o0
+
0x00
],
%
g2
,
add
%
o3
,
4
,#
)
EX
(
ld
[%
o0
+
0x00
],
%
g2
,
add
%
o3
,
4
)
add
%
o1
,
4
,
%
o1
add
%
o1
,
4
,
%
o1
addcc
%
g2
,
%
g7
,
%
g7
addcc
%
g2
,
%
g7
,
%
g7
EX2
(
st
%
g2
,
[%
o1
-
0x04
]
,#
)
EX2
(
st
%
g2
,
[%
o1
-
0x04
])
addx
%
g0
,
%
g7
,
%
g7
addx
%
g0
,
%
g7
,
%
g7
andcc
%
o3
,
3
,
%
g0
andcc
%
o3
,
3
,
%
g0
add
%
o0
,
4
,
%
o0
add
%
o0
,
4
,
%
o0
...
@@ -271,14 +274,14 @@ cc_end_cruft:
...
@@ -271,14 +274,14 @@ cc_end_cruft:
subcc
%
o3
,
2
,
%
o3
subcc
%
o3
,
2
,
%
o3
b
4
f
b
4
f
or
%
g0
,
%
g0
,
%
o4
or
%
g0
,
%
g0
,
%
o4
2
:
EX
(
lduh
[%
o0
+
0x00
],
%
o4
,
add
%
o3
,
2
,#
)
2
:
EX
(
lduh
[%
o0
+
0x00
],
%
o4
,
add
%
o3
,
2
)
add
%
o0
,
2
,
%
o0
add
%
o0
,
2
,
%
o0
EX2
(
sth
%
o4
,
[%
o1
+
0x00
]
,#
)
EX2
(
sth
%
o4
,
[%
o1
+
0x00
])
be
6
f
be
6
f
add
%
o1
,
2
,
%
o1
add
%
o1
,
2
,
%
o1
sll
%
o4
,
16
,
%
o4
sll
%
o4
,
16
,
%
o4
4
:
EX
(
ldub
[%
o0
+
0x00
],
%
o5
,
add
%
g0
,
1
,#
)
4
:
EX
(
ldub
[%
o0
+
0x00
],
%
o5
,
add
%
g0
,
1
)
EX2
(
stb
%
o5
,
[%
o1
+
0x00
]
,#
)
EX2
(
stb
%
o5
,
[%
o1
+
0x00
])
sll
%
o5
,
8
,
%
o5
sll
%
o5
,
8
,
%
o5
or
%
o5
,
%
o4
,
%
o4
or
%
o5
,
%
o4
,
%
o4
6
:
addcc
%
o4
,
%
g7
,
%
g7
6
:
addcc
%
o4
,
%
g7
,
%
g7
...
@@ -295,9 +298,9 @@ cc_dword_align:
...
@@ -295,9 +298,9 @@ cc_dword_align:
andcc
%
o0
,
0x2
,
%
g0
andcc
%
o0
,
0x2
,
%
g0
be
1
f
be
1
f
andcc
%
o0
,
0x4
,
%
g0
andcc
%
o0
,
0x4
,
%
g0
EX
(
lduh
[%
o0
+
0x00
],
%
g4
,
add
%
g1
,
0
,#
)
EX
(
lduh
[%
o0
+
0x00
],
%
g4
,
add
%
g1
,
0
)
sub
%
g1
,
2
,
%
g1
sub
%
g1
,
2
,
%
g1
EX2
(
sth
%
g4
,
[%
o1
+
0x00
]
,#
)
EX2
(
sth
%
g4
,
[%
o1
+
0x00
])
add
%
o0
,
2
,
%
o0
add
%
o0
,
2
,
%
o0
sll
%
g4
,
16
,
%
g4
sll
%
g4
,
16
,
%
g4
addcc
%
g4
,
%
g7
,
%
g7
addcc
%
g4
,
%
g7
,
%
g7
...
@@ -311,9 +314,9 @@ cc_dword_align:
...
@@ -311,9 +314,9 @@ cc_dword_align:
or
%
g3
,
%
g7
,
%
g7
or
%
g3
,
%
g7
,
%
g7
1
:
be
3
f
1
:
be
3
f
andcc
%
g1
,
0xffffff80
,
%
g0
andcc
%
g1
,
0xffffff80
,
%
g0
EX
(
ld
[%
o0
+
0x00
],
%
g4
,
add
%
g1
,
0
,#
)
EX
(
ld
[%
o0
+
0x00
],
%
g4
,
add
%
g1
,
0
)
sub
%
g1
,
4
,
%
g1
sub
%
g1
,
4
,
%
g1
EX2
(
st
%
g4
,
[%
o1
+
0x00
]
,#
)
EX2
(
st
%
g4
,
[%
o1
+
0x00
])
add
%
o0
,
4
,
%
o0
add
%
o0
,
4
,
%
o0
addcc
%
g4
,
%
g7
,
%
g7
addcc
%
g4
,
%
g7
,
%
g7
add
%
o1
,
4
,
%
o1
add
%
o1
,
4
,
%
o1
...
@@ -342,7 +345,7 @@ C_LABEL(__csum_partial_copy_sparc_generic):
...
@@ -342,7 +345,7 @@ C_LABEL(__csum_partial_copy_sparc_generic):
CSUMCOPY_BIGCHUNK
(%
o0
,%
o1
,%
g7
,0
x20
,%
o4
,%
o5
,%
g2
,%
g3
,%
g4
,%
g5
,%
o2
,%
o3
)
CSUMCOPY_BIGCHUNK
(%
o0
,%
o1
,%
g7
,0
x20
,%
o4
,%
o5
,%
g2
,%
g3
,%
g4
,%
g5
,%
o2
,%
o3
)
CSUMCOPY_BIGCHUNK
(%
o0
,%
o1
,%
g7
,0
x40
,%
o4
,%
o5
,%
g2
,%
g3
,%
g4
,%
g5
,%
o2
,%
o3
)
CSUMCOPY_BIGCHUNK
(%
o0
,%
o1
,%
g7
,0
x40
,%
o4
,%
o5
,%
g2
,%
g3
,%
g4
,%
g5
,%
o2
,%
o3
)
CSUMCOPY_BIGCHUNK
(%
o0
,%
o1
,%
g7
,0
x60
,%
o4
,%
o5
,%
g2
,%
g3
,%
g4
,%
g5
,%
o2
,%
o3
)
CSUMCOPY_BIGCHUNK
(%
o0
,%
o1
,%
g7
,0
x60
,%
o4
,%
o5
,%
g2
,%
g3
,%
g4
,%
g5
,%
o2
,%
o3
)
10
:
EXT
(5
b
,
10
b
,
20
f
,#
)
!
note
for
exception
handling
10
:
EXT
(5
b
,
10
b
,
20
f
)
!
note
for
exception
handling
sub
%
g1
,
128
,
%
g1
!
detract
from
length
sub
%
g1
,
128
,
%
g1
!
detract
from
length
addx
%
g0
,
%
g7
,
%
g7
!
add
in
last
carry
bit
addx
%
g0
,
%
g7
,
%
g7
!
add
in
last
carry
bit
andcc
%
g1
,
0xffffff80
,
%
g0
!
more
to
csum
?
andcc
%
g1
,
0xffffff80
,
%
g0
!
more
to
csum
?
...
@@ -367,7 +370,7 @@ cctbl: CSUMCOPY_LASTCHUNK(%o0,%o1,%g7,0x68,%g2,%g3,%g4,%g5)
...
@@ -367,7 +370,7 @@ cctbl: CSUMCOPY_LASTCHUNK(%o0,%o1,%g7,0x68,%g2,%g3,%g4,%g5)
CSUMCOPY_LASTCHUNK
(%
o0
,%
o1
,%
g7
,0
x28
,%
g2
,%
g3
,%
g4
,%
g5
)
CSUMCOPY_LASTCHUNK
(%
o0
,%
o1
,%
g7
,0
x28
,%
g2
,%
g3
,%
g4
,%
g5
)
CSUMCOPY_LASTCHUNK
(%
o0
,%
o1
,%
g7
,0
x18
,%
g2
,%
g3
,%
g4
,%
g5
)
CSUMCOPY_LASTCHUNK
(%
o0
,%
o1
,%
g7
,0
x18
,%
g2
,%
g3
,%
g4
,%
g5
)
CSUMCOPY_LASTCHUNK
(%
o0
,%
o1
,%
g7
,0
x08
,%
g2
,%
g3
,%
g4
,%
g5
)
CSUMCOPY_LASTCHUNK
(%
o0
,%
o1
,%
g7
,0
x08
,%
g2
,%
g3
,%
g4
,%
g5
)
12
:
EXT
(
cctbl
,
12
b
,
22
f
,#
)
!
note
for
exception
table
handling
12
:
EXT
(
cctbl
,
12
b
,
22
f
)
!
note
for
exception
table
handling
addx
%
g0
,
%
g7
,
%
g7
addx
%
g0
,
%
g7
,
%
g7
andcc
%
o3
,
0xf
,
%
g0
!
check
for
low
bits
set
andcc
%
o3
,
0xf
,
%
g0
!
check
for
low
bits
set
ccte
:
bne
cc_end_cruft
!
something
left
,
handle
it
out
of
band
ccte
:
bne
cc_end_cruft
!
something
left
,
handle
it
out
of
band
...
@@ -378,7 +381,7 @@ ccdbl: CSUMCOPY_BIGCHUNK_ALIGNED(%o0,%o1,%g7,0x00,%o4,%o5,%g2,%g3,%g4,%g5,%o2,%o
...
@@ -378,7 +381,7 @@ ccdbl: CSUMCOPY_BIGCHUNK_ALIGNED(%o0,%o1,%g7,0x00,%o4,%o5,%g2,%g3,%g4,%g5,%o2,%o
CSUMCOPY_BIGCHUNK_ALIGNED
(%
o0
,%
o1
,%
g7
,0
x20
,%
o4
,%
o5
,%
g2
,%
g3
,%
g4
,%
g5
,%
o2
,%
o3
)
CSUMCOPY_BIGCHUNK_ALIGNED
(%
o0
,%
o1
,%
g7
,0
x20
,%
o4
,%
o5
,%
g2
,%
g3
,%
g4
,%
g5
,%
o2
,%
o3
)
CSUMCOPY_BIGCHUNK_ALIGNED
(%
o0
,%
o1
,%
g7
,0
x40
,%
o4
,%
o5
,%
g2
,%
g3
,%
g4
,%
g5
,%
o2
,%
o3
)
CSUMCOPY_BIGCHUNK_ALIGNED
(%
o0
,%
o1
,%
g7
,0
x40
,%
o4
,%
o5
,%
g2
,%
g3
,%
g4
,%
g5
,%
o2
,%
o3
)
CSUMCOPY_BIGCHUNK_ALIGNED
(%
o0
,%
o1
,%
g7
,0
x60
,%
o4
,%
o5
,%
g2
,%
g3
,%
g4
,%
g5
,%
o2
,%
o3
)
CSUMCOPY_BIGCHUNK_ALIGNED
(%
o0
,%
o1
,%
g7
,0
x60
,%
o4
,%
o5
,%
g2
,%
g3
,%
g4
,%
g5
,%
o2
,%
o3
)
11
:
EXT
(
ccdbl
,
11
b
,
21
f
,#
)
!
note
for
exception
table
handling
11
:
EXT
(
ccdbl
,
11
b
,
21
f
)
!
note
for
exception
table
handling
sub
%
g1
,
128
,
%
g1
!
detract
from
length
sub
%
g1
,
128
,
%
g1
!
detract
from
length
addx
%
g0
,
%
g7
,
%
g7
!
add
in
last
carry
bit
addx
%
g0
,
%
g7
,
%
g7
!
add
in
last
carry
bit
andcc
%
g1
,
0xffffff80
,
%
g0
!
more
to
csum
?
andcc
%
g1
,
0xffffff80
,
%
g0
!
more
to
csum
?
...
@@ -395,9 +398,9 @@ ccslow: cmp %g1, 0
...
@@ -395,9 +398,9 @@ ccslow: cmp %g1, 0
be
,
a
1
f
be
,
a
1
f
srl
%
g1
,
1
,
%
g4
srl
%
g1
,
1
,
%
g4
sub
%
g1
,
1
,
%
g1
sub
%
g1
,
1
,
%
g1
EX
(
ldub
[%
o0
],
%
g5
,
add
%
g1
,
1
,#
)
EX
(
ldub
[%
o0
],
%
g5
,
add
%
g1
,
1
)
add
%
o0
,
1
,
%
o0
add
%
o0
,
1
,
%
o0
EX2
(
stb
%
g5
,
[%
o1
]
,#
)
EX2
(
stb
%
g5
,
[%
o1
])
srl
%
g1
,
1
,
%
g4
srl
%
g1
,
1
,
%
g4
add
%
o1
,
1
,
%
o1
add
%
o1
,
1
,
%
o1
1
:
cmp
%
g4
,
0
1
:
cmp
%
g4
,
0
...
@@ -406,34 +409,34 @@ ccslow: cmp %g1, 0
...
@@ -406,34 +409,34 @@ ccslow: cmp %g1, 0
andcc
%
o0
,
2
,
%
g0
andcc
%
o0
,
2
,
%
g0
be
,
a
1
f
be
,
a
1
f
srl
%
g4
,
1
,
%
g4
srl
%
g4
,
1
,
%
g4
EX
(
lduh
[%
o0
],
%
o4
,
add
%
g1
,
0
,#
)
EX
(
lduh
[%
o0
],
%
o4
,
add
%
g1
,
0
)
sub
%
g1
,
2
,
%
g1
sub
%
g1
,
2
,
%
g1
srl
%
o4
,
8
,
%
g2
srl
%
o4
,
8
,
%
g2
sub
%
g4
,
1
,
%
g4
sub
%
g4
,
1
,
%
g4
EX2
(
stb
%
g2
,
[%
o1
]
,#
)
EX2
(
stb
%
g2
,
[%
o1
])
add
%
o4
,
%
g5
,
%
g5
add
%
o4
,
%
g5
,
%
g5
EX2
(
stb
%
o4
,
[%
o1
+
1
]
,#
)
EX2
(
stb
%
o4
,
[%
o1
+
1
])
add
%
o0
,
2
,
%
o0
add
%
o0
,
2
,
%
o0
srl
%
g4
,
1
,
%
g4
srl
%
g4
,
1
,
%
g4
add
%
o1
,
2
,
%
o1
add
%
o1
,
2
,
%
o1
1
:
cmp
%
g4
,
0
1
:
cmp
%
g4
,
0
be
,
a
2
f
be
,
a
2
f
andcc
%
g1
,
2
,
%
g0
andcc
%
g1
,
2
,
%
g0
EX3
(
ld
[%
o0
],
%
o4
,#
)
EX3
(
ld
[%
o0
],
%
o4
)
5
:
srl
%
o4
,
24
,
%
g2
5
:
srl
%
o4
,
24
,
%
g2
srl
%
o4
,
16
,
%
g3
srl
%
o4
,
16
,
%
g3
EX2
(
stb
%
g2
,
[%
o1
]
,#
)
EX2
(
stb
%
g2
,
[%
o1
])
srl
%
o4
,
8
,
%
g2
srl
%
o4
,
8
,
%
g2
EX2
(
stb
%
g3
,
[%
o1
+
1
]
,#
)
EX2
(
stb
%
g3
,
[%
o1
+
1
])
add
%
o0
,
4
,
%
o0
add
%
o0
,
4
,
%
o0
EX2
(
stb
%
g2
,
[%
o1
+
2
]
,#
)
EX2
(
stb
%
g2
,
[%
o1
+
2
])
addcc
%
o4
,
%
g5
,
%
g5
addcc
%
o4
,
%
g5
,
%
g5
EX2
(
stb
%
o4
,
[%
o1
+
3
]
,#
)
EX2
(
stb
%
o4
,
[%
o1
+
3
])
addx
%
g5
,
%
g0
,
%
g5
!
I
am
now
to
lazy
to
optimize
this
(
question
it
addx
%
g5
,
%
g0
,
%
g5
!
I
am
now
to
lazy
to
optimize
this
(
question
it
add
%
o1
,
4
,
%
o1
!
is
worthy
)
.
Maybe
some
day
-
with
the
sll
/
srl
add
%
o1
,
4
,
%
o1
!
is
worthy
)
.
Maybe
some
day
-
with
the
sll
/
srl
subcc
%
g4
,
1
,
%
g4
!
tricks
subcc
%
g4
,
1
,
%
g4
!
tricks
bne
,
a
5
b
bne
,
a
5
b
EX3
(
ld
[%
o0
],
%
o4
,#
)
EX3
(
ld
[%
o0
],
%
o4
)
sll
%
g5
,
16
,
%
g2
sll
%
g5
,
16
,
%
g2
srl
%
g5
,
16
,
%
g5
srl
%
g5
,
16
,
%
g5
srl
%
g2
,
16
,
%
g2
srl
%
g2
,
16
,
%
g2
...
@@ -441,19 +444,19 @@ ccslow: cmp %g1, 0
...
@@ -441,19 +444,19 @@ ccslow: cmp %g1, 0
add
%
g2
,
%
g5
,
%
g5
add
%
g2
,
%
g5
,
%
g5
2
:
be
,
a
3
f
2
:
be
,
a
3
f
andcc
%
g1
,
1
,
%
g0
andcc
%
g1
,
1
,
%
g0
EX
(
lduh
[%
o0
],
%
o4
,
and
%
g1
,
3
,#
)
EX
(
lduh
[%
o0
],
%
o4
,
and
%
g1
,
3
)
andcc
%
g1
,
1
,
%
g0
andcc
%
g1
,
1
,
%
g0
srl
%
o4
,
8
,
%
g2
srl
%
o4
,
8
,
%
g2
add
%
o0
,
2
,
%
o0
add
%
o0
,
2
,
%
o0
EX2
(
stb
%
g2
,
[%
o1
]
,#
)
EX2
(
stb
%
g2
,
[%
o1
])
add
%
g5
,
%
o4
,
%
g5
add
%
g5
,
%
o4
,
%
g5
EX2
(
stb
%
o4
,
[%
o1
+
1
]
,#
)
EX2
(
stb
%
o4
,
[%
o1
+
1
])
add
%
o1
,
2
,
%
o1
add
%
o1
,
2
,
%
o1
3
:
be
,
a
1
f
3
:
be
,
a
1
f
sll
%
g5
,
16
,
%
o4
sll
%
g5
,
16
,
%
o4
EX
(
ldub
[%
o0
],
%
g2
,
add
%
g0
,
1
,#
)
EX
(
ldub
[%
o0
],
%
g2
,
add
%
g0
,
1
)
sll
%
g2
,
8
,
%
o4
sll
%
g2
,
8
,
%
o4
EX2
(
stb
%
g2
,
[%
o1
]
,#
)
EX2
(
stb
%
g2
,
[%
o1
])
add
%
g5
,
%
o4
,
%
g5
add
%
g5
,
%
o4
,
%
g5
sll
%
g5
,
16
,
%
o4
sll
%
g5
,
16
,
%
o4
1
:
addcc
%
o4
,
%
g5
,
%
g5
1
:
addcc
%
o4
,
%
g5
,
%
g5
...
...
arch/sparc/lib/copy_user.S
View file @
a85c711c
...
@@ -16,41 +16,44 @@
...
@@ -16,41 +16,44 @@
#include <asm/asmmacro.h>
#include <asm/asmmacro.h>
#include <asm/page.h>
#include <asm/page.h>
#define EX(x,y,a,b,z) \
/*
Work
around
cpp
-
rob
*/
#define ALLOC #alloc
#define EXECINSTR #execinstr
#define EX(x,y,a,b) \
98
:
x
,
y
; \
98
:
x
,
y
; \
.
section
.
fixup
,
z
##
alloc
,
z
##
execinstr
; \
.
section
.
fixup
,
ALLOC
,
EXECINSTR
; \
.
align
4
; \
.
align
4
; \
99
:
ba
fixupretl
; \
99
:
ba
fixupretl
; \
a
,
b
,
%
g3
; \
a
,
b
,
%
g3
; \
.
section
__ex_table
,
z
##
alloc
; \
.
section
__ex_table
,
ALLOC
; \
.
align
4
; \
.
align
4
; \
.
word
98
b
,
99
b
; \
.
word
98
b
,
99
b
; \
.
text
; \
.
text
; \
.
align
4
.
align
4
#define EX2(x,y,c,d,e,a,b
,z
) \
#define EX2(x,y,c,d,e,a,b) \
98
:
x
,
y
; \
98
:
x
,
y
; \
.
section
.
fixup
,
z
##
alloc
,
z
##
execinstr
; \
.
section
.
fixup
,
ALLOC
,
EXECINSTR
; \
.
align
4
; \
.
align
4
; \
99
:
c
,
d
,
e
; \
99
:
c
,
d
,
e
; \
ba
fixupretl
; \
ba
fixupretl
; \
a
,
b
,
%
g3
; \
a
,
b
,
%
g3
; \
.
section
__ex_table
,
z
##
alloc
; \
.
section
__ex_table
,
ALLOC
; \
.
align
4
; \
.
align
4
; \
.
word
98
b
,
99
b
; \
.
word
98
b
,
99
b
; \
.
text
; \
.
text
; \
.
align
4
.
align
4
#define EXO2(x,y
,z
) \
#define EXO2(x,y) \
98
:
x
,
##
y
; \
98
:
x
,
y
; \
.
section
__ex_table
,
z
##
alloc
; \
.
section
__ex_table
,
ALLOC
; \
.
align
4
; \
.
align
4
; \
.
word
98
b
,
97
f
; \
.
word
98
b
,
97
f
; \
.
text
; \
.
text
; \
.
align
4
.
align
4
#define EXT(start,end,handler
,z)
\
#define EXT(start,end,handler
)
\
.
section
__ex_table
,
z
##
alloc
; \
.
section
__ex_table
,
ALLOC
; \
.
align
4
; \
.
align
4
; \
.
word
start
,
0
,
end
,
handler
; \
.
word
start
,
0
,
end
,
handler
; \
.
text
; \
.
text
; \
...
@@ -121,23 +124,23 @@ dword_align:
...
@@ -121,23 +124,23 @@ dword_align:
be
4
f
be
4
f
andcc
%
o1
,
2
,
%
g0
andcc
%
o1
,
2
,
%
g0
EXO2
(
ldub
[%
o1
],
%
g2
,#
)
EXO2
(
ldub
[%
o1
],
%
g2
)
add
%
o1
,
1
,
%
o1
add
%
o1
,
1
,
%
o1
EXO2
(
stb
%
g2
,
[%
o0
]
,#
)
EXO2
(
stb
%
g2
,
[%
o0
])
sub
%
o2
,
1
,
%
o2
sub
%
o2
,
1
,
%
o2
bne
3
f
bne
3
f
add
%
o0
,
1
,
%
o0
add
%
o0
,
1
,
%
o0
EXO2
(
lduh
[%
o1
],
%
g2
,#
)
EXO2
(
lduh
[%
o1
],
%
g2
)
add
%
o1
,
2
,
%
o1
add
%
o1
,
2
,
%
o1
EXO2
(
sth
%
g2
,
[%
o0
]
,#
)
EXO2
(
sth
%
g2
,
[%
o0
])
sub
%
o2
,
2
,
%
o2
sub
%
o2
,
2
,
%
o2
b
3
f
b
3
f
add
%
o0
,
2
,
%
o0
add
%
o0
,
2
,
%
o0
4
:
4
:
EXO2
(
lduh
[%
o1
],
%
g2
,#
)
EXO2
(
lduh
[%
o1
],
%
g2
)
add
%
o1
,
2
,
%
o1
add
%
o1
,
2
,
%
o1
EXO2
(
sth
%
g2
,
[%
o0
]
,#
)
EXO2
(
sth
%
g2
,
[%
o0
])
sub
%
o2
,
2
,
%
o2
sub
%
o2
,
2
,
%
o2
b
3
f
b
3
f
add
%
o0
,
2
,
%
o0
add
%
o0
,
2
,
%
o0
...
@@ -160,9 +163,9 @@ C_LABEL(__copy_user): /* %o0=dst %o1=src %o2=len */
...
@@ -160,9 +163,9 @@ C_LABEL(__copy_user): /* %o0=dst %o1=src %o2=len */
be
2
f
be
2
f
mov
%
o2
,
%
g1
mov
%
o2
,
%
g1
EXO2
(
ld
[%
o1
],
%
o4
,#
)
EXO2
(
ld
[%
o1
],
%
o4
)
sub
%
g1
,
4
,
%
g1
sub
%
g1
,
4
,
%
g1
EXO2
(
st
%
o4
,
[%
o0
]
,#
)
EXO2
(
st
%
o4
,
[%
o0
])
add
%
o1
,
4
,
%
o1
add
%
o1
,
4
,
%
o1
add
%
o0
,
4
,
%
o0
add
%
o0
,
4
,
%
o0
2
:
2
:
...
@@ -177,7 +180,7 @@ C_LABEL(__copy_user): /* %o0=dst %o1=src %o2=len */
...
@@ -177,7 +180,7 @@ C_LABEL(__copy_user): /* %o0=dst %o1=src %o2=len */
MOVE_BIGCHUNK
(
o1
,
o0
,
0x40
,
o2
,
o3
,
o4
,
o5
,
g2
,
g3
,
g4
,
g5
)
MOVE_BIGCHUNK
(
o1
,
o0
,
0x40
,
o2
,
o3
,
o4
,
o5
,
g2
,
g3
,
g4
,
g5
)
MOVE_BIGCHUNK
(
o1
,
o0
,
0x60
,
o2
,
o3
,
o4
,
o5
,
g2
,
g3
,
g4
,
g5
)
MOVE_BIGCHUNK
(
o1
,
o0
,
0x60
,
o2
,
o3
,
o4
,
o5
,
g2
,
g3
,
g4
,
g5
)
80
:
80
:
EXT
(5
b
,
80
b
,
50
f
,#
)
EXT
(5
b
,
80
b
,
50
f
)
subcc
%
g7
,
128
,
%
g7
subcc
%
g7
,
128
,
%
g7
add
%
o1
,
128
,
%
o1
add
%
o1
,
128
,
%
o1
bne
5
b
bne
5
b
...
@@ -204,37 +207,37 @@ copy_user_table:
...
@@ -204,37 +207,37 @@ copy_user_table:
MOVE_LASTCHUNK
(
o1
,
o0
,
0x10
,
g2
,
g3
,
g4
,
g5
)
MOVE_LASTCHUNK
(
o1
,
o0
,
0x10
,
g2
,
g3
,
g4
,
g5
)
MOVE_LASTCHUNK
(
o1
,
o0
,
0x00
,
g2
,
g3
,
g4
,
g5
)
MOVE_LASTCHUNK
(
o1
,
o0
,
0x00
,
g2
,
g3
,
g4
,
g5
)
copy_user_table_end
:
copy_user_table_end
:
EXT
(
copy_user_table
,
copy_user_table_end
,
51
f
,#
)
EXT
(
copy_user_table
,
copy_user_table_end
,
51
f
)
be
copy_user_last7
be
copy_user_last7
andcc
%
g1
,
4
,
%
g0
andcc
%
g1
,
4
,
%
g0
EX
(
ldd
[%
o1
],
%
g2
,
and
%
g1
,
0xf
,#
)
EX
(
ldd
[%
o1
],
%
g2
,
and
%
g1
,
0xf
)
add
%
o0
,
8
,
%
o0
add
%
o0
,
8
,
%
o0
add
%
o1
,
8
,
%
o1
add
%
o1
,
8
,
%
o1
EX
(
st
%
g2
,
[%
o0
-
0x08
],
and
%
g1
,
0xf
,#
)
EX
(
st
%
g2
,
[%
o0
-
0x08
],
and
%
g1
,
0xf
)
EX2
(
st
%
g3
,
[%
o0
-
0x04
],
and
%
g1
,
0xf
,
%
g1
,
sub
%
g1
,
4
,#
)
EX2
(
st
%
g3
,
[%
o0
-
0x04
],
and
%
g1
,
0xf
,
%
g1
,
sub
%
g1
,
4
)
copy_user_last7
:
copy_user_last7
:
be
1
f
be
1
f
andcc
%
g1
,
2
,
%
g0
andcc
%
g1
,
2
,
%
g0
EX
(
ld
[%
o1
],
%
g2
,
and
%
g1
,
7
,#
)
EX
(
ld
[%
o1
],
%
g2
,
and
%
g1
,
7
)
add
%
o1
,
4
,
%
o1
add
%
o1
,
4
,
%
o1
EX
(
st
%
g2
,
[%
o0
],
and
%
g1
,
7
,#
)
EX
(
st
%
g2
,
[%
o0
],
and
%
g1
,
7
)
add
%
o0
,
4
,
%
o0
add
%
o0
,
4
,
%
o0
1
:
1
:
be
1
f
be
1
f
andcc
%
g1
,
1
,
%
g0
andcc
%
g1
,
1
,
%
g0
EX
(
lduh
[%
o1
],
%
g2
,
and
%
g1
,
3
,#
)
EX
(
lduh
[%
o1
],
%
g2
,
and
%
g1
,
3
)
add
%
o1
,
2
,
%
o1
add
%
o1
,
2
,
%
o1
EX
(
sth
%
g2
,
[%
o0
],
and
%
g1
,
3
,#
)
EX
(
sth
%
g2
,
[%
o0
],
and
%
g1
,
3
)
add
%
o0
,
2
,
%
o0
add
%
o0
,
2
,
%
o0
1
:
1
:
be
1
f
be
1
f
nop
nop
EX
(
ldub
[%
o1
],
%
g2
,
add
%
g0
,
1
,#
)
EX
(
ldub
[%
o1
],
%
g2
,
add
%
g0
,
1
)
EX
(
stb
%
g2
,
[%
o0
],
add
%
g0
,
1
,#
)
EX
(
stb
%
g2
,
[%
o0
],
add
%
g0
,
1
)
1
:
1
:
retl
retl
clr
%
o0
clr
%
o0
...
@@ -245,7 +248,7 @@ ldd_std:
...
@@ -245,7 +248,7 @@ ldd_std:
MOVE_BIGALIGNCHUNK
(
o1
,
o0
,
0x40
,
o2
,
o3
,
o4
,
o5
,
g2
,
g3
,
g4
,
g5
)
MOVE_BIGALIGNCHUNK
(
o1
,
o0
,
0x40
,
o2
,
o3
,
o4
,
o5
,
g2
,
g3
,
g4
,
g5
)
MOVE_BIGALIGNCHUNK
(
o1
,
o0
,
0x60
,
o2
,
o3
,
o4
,
o5
,
g2
,
g3
,
g4
,
g5
)
MOVE_BIGALIGNCHUNK
(
o1
,
o0
,
0x60
,
o2
,
o3
,
o4
,
o5
,
g2
,
g3
,
g4
,
g5
)
81
:
81
:
EXT
(
ldd_std
,
81
b
,
52
f
,#
)
EXT
(
ldd_std
,
81
b
,
52
f
)
subcc
%
g7
,
128
,
%
g7
subcc
%
g7
,
128
,
%
g7
add
%
o1
,
128
,
%
o1
add
%
o1
,
128
,
%
o1
bne
ldd_std
bne
ldd_std
...
@@ -274,9 +277,9 @@ cannot_optimize:
...
@@ -274,9 +277,9 @@ cannot_optimize:
be
10
f
be
10
f
nop
nop
EXO2
(
ldub
[%
o1
],
%
g2
,#
)
EXO2
(
ldub
[%
o1
],
%
g2
)
add
%
o1
,
1
,
%
o1
add
%
o1
,
1
,
%
o1
EXO2
(
stb
%
g2
,
[%
o0
]
,#
)
EXO2
(
stb
%
g2
,
[%
o0
])
sub
%
o2
,
1
,
%
o2
sub
%
o2
,
1
,
%
o2
andcc
%
o2
,
0xfffffff0
,
%
o3
andcc
%
o2
,
0xfffffff0
,
%
o3
be
short_end
be
short_end
...
@@ -285,7 +288,7 @@ cannot_optimize:
...
@@ -285,7 +288,7 @@ cannot_optimize:
MOVE_HALFCHUNK
(
o1
,
o0
,
0x00
,
g2
,
g3
,
g4
,
g5
)
MOVE_HALFCHUNK
(
o1
,
o0
,
0x00
,
g2
,
g3
,
g4
,
g5
)
MOVE_HALFCHUNK
(
o1
,
o0
,
0x08
,
g2
,
g3
,
g4
,
g5
)
MOVE_HALFCHUNK
(
o1
,
o0
,
0x08
,
g2
,
g3
,
g4
,
g5
)
82
:
82
:
EXT
(10
b
,
82
b
,
53
f
,#
)
EXT
(10
b
,
82
b
,
53
f
)
subcc
%
o3
,
0x10
,
%
o3
subcc
%
o3
,
0x10
,
%
o3
add
%
o1
,
0x10
,
%
o1
add
%
o1
,
0x10
,
%
o1
bne
10
b
bne
10
b
...
@@ -303,7 +306,7 @@ byte_chunk:
...
@@ -303,7 +306,7 @@ byte_chunk:
MOVE_SHORTCHUNK
(
o1
,
o0
,
-
0x0e
,
g2
,
g3
)
MOVE_SHORTCHUNK
(
o1
,
o0
,
-
0x0e
,
g2
,
g3
)
MOVE_SHORTCHUNK
(
o1
,
o0
,
-
0x10
,
g2
,
g3
)
MOVE_SHORTCHUNK
(
o1
,
o0
,
-
0x10
,
g2
,
g3
)
83
:
83
:
EXT
(
byte_chunk
,
83
b
,
54
f
,#
)
EXT
(
byte_chunk
,
83
b
,
54
f
)
subcc
%
o3
,
0x10
,
%
o3
subcc
%
o3
,
0x10
,
%
o3
add
%
o1
,
0x10
,
%
o1
add
%
o1
,
0x10
,
%
o1
bne
byte_chunk
bne
byte_chunk
...
@@ -328,11 +331,11 @@ short_end:
...
@@ -328,11 +331,11 @@ short_end:
MOVE_SHORTCHUNK
(
o1
,
o0
,
0x02
,
g2
,
g3
)
MOVE_SHORTCHUNK
(
o1
,
o0
,
0x02
,
g2
,
g3
)
MOVE_SHORTCHUNK
(
o1
,
o0
,
0x00
,
g2
,
g3
)
MOVE_SHORTCHUNK
(
o1
,
o0
,
0x00
,
g2
,
g3
)
short_table_end
:
short_table_end
:
EXT
(84
b
,
short_table_end
,
55
f
,#
)
EXT
(84
b
,
short_table_end
,
55
f
)
be
1
f
be
1
f
nop
nop
EX
(
ldub
[%
o1
],
%
g2
,
add
%
g0
,
1
,#
)
EX
(
ldub
[%
o1
],
%
g2
,
add
%
g0
,
1
)
EX
(
stb
%
g2
,
[%
o0
],
add
%
g0
,
1
,#
)
EX
(
stb
%
g2
,
[%
o0
],
add
%
g0
,
1
)
1
:
1
:
retl
retl
clr
%
o0
clr
%
o0
...
@@ -344,11 +347,11 @@ short_aligned_end:
...
@@ -344,11 +347,11 @@ short_aligned_end:
be
1
f
be
1
f
andcc
%
o2
,
4
,
%
g0
andcc
%
o2
,
4
,
%
g0
EXO2
(
ld
[%
o1
+
0x00
],
%
g2
,#
)
EXO2
(
ld
[%
o1
+
0x00
],
%
g2
)
EXO2
(
ld
[%
o1
+
0x04
],
%
g3
,#
)
EXO2
(
ld
[%
o1
+
0x04
],
%
g3
)
add
%
o1
,
8
,
%
o1
add
%
o1
,
8
,
%
o1
EXO2
(
st
%
g2
,
[%
o0
+
0x00
]
,#
)
EXO2
(
st
%
g2
,
[%
o0
+
0x00
])
EX
(
st
%
g3
,
[%
o0
+
0x04
],
sub
%
o2
,
4
,#
)
EX
(
st
%
g3
,
[%
o0
+
0x04
],
sub
%
o2
,
4
)
add
%
o0
,
8
,
%
o0
add
%
o0
,
8
,
%
o0
1
:
1
:
b
copy_user_last7
b
copy_user_last7
...
...
arch/sparc/lib/memset.S
View file @
a85c711c
...
@@ -10,20 +10,23 @@
...
@@ -10,20 +10,23 @@
#include <asm/cprefix.h>
#include <asm/cprefix.h>
#include <asm/ptrace.h>
#include <asm/ptrace.h>
#define EX(x,y,a,b,z) \
/*
Work
around
cpp
-
rob
*/
#define ALLOC #alloc
#define EXECINSTR #execinstr
#define EX(x,y,a,b) \
98
:
x
,
y
; \
98
:
x
,
y
; \
.
section
.
fixup
,
z
##
alloc
,
z
##
execinstr
; \
.
section
.
fixup
,
ALLOC
,
EXECINSTR
; \
.
align
4
; \
.
align
4
; \
99
:
ba
30
f
; \
99
:
ba
30
f
; \
a
,
b
,
%
o0
; \
a
,
b
,
%
o0
; \
.
section
__ex_table
,
z
##
alloc
; \
.
section
__ex_table
,
ALLOC
; \
.
align
4
; \
.
align
4
; \
.
word
98
b
,
99
b
; \
.
word
98
b
,
99
b
; \
.
text
; \
.
text
; \
.
align
4
.
align
4
#define EXT(start,end,handler
,z)
\
#define EXT(start,end,handler
)
\
.
section
__ex_table
,
z
##
alloc
; \
.
section
__ex_table
,
ALLOC
; \
.
align
4
; \
.
align
4
; \
.
word
start
,
0
,
end
,
handler
; \
.
word
start
,
0
,
end
,
handler
; \
.
text
; \
.
text
; \
...
@@ -74,13 +77,13 @@ C_LABEL(memset):
...
@@ -74,13 +77,13 @@ C_LABEL(memset):
3
:
3
:
cmp
%
o2
,
3
cmp
%
o2
,
3
be
2
f
be
2
f
EX
(
stb
%
g3
,
[%
o0
],
sub
%
o1
,
0
,#
)
EX
(
stb
%
g3
,
[%
o0
],
sub
%
o1
,
0
)
cmp
%
o2
,
2
cmp
%
o2
,
2
be
2
f
be
2
f
EX
(
stb
%
g3
,
[%
o0
+
0x01
],
sub
%
o1
,
1
,#
)
EX
(
stb
%
g3
,
[%
o0
+
0x01
],
sub
%
o1
,
1
)
EX
(
stb
%
g3
,
[%
o0
+
0x02
],
sub
%
o1
,
2
,#
)
EX
(
stb
%
g3
,
[%
o0
+
0x02
],
sub
%
o1
,
2
)
2
:
2
:
sub
%
o2
,
4
,
%
o2
sub
%
o2
,
4
,
%
o2
add
%
o1
,
%
o2
,
%
o1
add
%
o1
,
%
o2
,
%
o1
...
@@ -101,7 +104,7 @@ C_LABEL(__bzero):
...
@@ -101,7 +104,7 @@ C_LABEL(__bzero):
be
2
f
be
2
f
mov
%
g3
,
%
g2
mov
%
g3
,
%
g2
EX
(
st
%
g3
,
[%
o0
],
sub
%
o1
,
0
,#
)
EX
(
st
%
g3
,
[%
o0
],
sub
%
o1
,
0
)
sub
%
o1
,
4
,
%
o1
sub
%
o1
,
4
,
%
o1
add
%
o0
,
4
,
%
o0
add
%
o0
,
4
,
%
o0
2
:
2
:
...
@@ -113,7 +116,7 @@ C_LABEL(__bzero):
...
@@ -113,7 +116,7 @@ C_LABEL(__bzero):
subcc
%
o3
,
128
,
%
o3
subcc
%
o3
,
128
,
%
o3
ZERO_BIG_BLOCK
(%
o0
,
0x40
,
%
g2
)
ZERO_BIG_BLOCK
(%
o0
,
0x40
,
%
g2
)
11
:
11
:
EXT
(10
b
,
11
b
,
20
f
,#
)
EXT
(10
b
,
11
b
,
20
f
)
bne
10
b
bne
10
b
add
%
o0
,
128
,
%
o0
add
%
o0
,
128
,
%
o0
...
@@ -138,17 +141,17 @@ C_LABEL(__bzero):
...
@@ -138,17 +141,17 @@ C_LABEL(__bzero):
be
1
f
be
1
f
andcc
%
o1
,
2
,
%
g0
andcc
%
o1
,
2
,
%
g0
EX
(
st
%
g3
,
[%
o0
],
and
%
o1
,
7
,#
)
EX
(
st
%
g3
,
[%
o0
],
and
%
o1
,
7
)
add
%
o0
,
4
,
%
o0
add
%
o0
,
4
,
%
o0
1
:
1
:
be
1
f
be
1
f
andcc
%
o1
,
1
,
%
g0
andcc
%
o1
,
1
,
%
g0
EX
(
sth
%
g3
,
[%
o0
],
and
%
o1
,
3
,#
)
EX
(
sth
%
g3
,
[%
o0
],
and
%
o1
,
3
)
add
%
o0
,
2
,
%
o0
add
%
o0
,
2
,
%
o0
1
:
1
:
bne
,
a
8
f
bne
,
a
8
f
EX
(
stb
%
g3
,
[%
o0
],
and
%
o1
,
1
,#
)
EX
(
stb
%
g3
,
[%
o0
],
and
%
o1
,
1
)
8
:
8
:
retl
retl
clr
%
o0
clr
%
o0
...
@@ -161,7 +164,7 @@ C_LABEL(__bzero):
...
@@ -161,7 +164,7 @@ C_LABEL(__bzero):
add
%
o0
,
1
,
%
o0
add
%
o0
,
1
,
%
o0
subcc
%
o1
,
1
,
%
o1
subcc
%
o1
,
1
,
%
o1
bne
,
a
8
b
bne
,
a
8
b
EX
(
stb
%
g3
,
[%
o0
-
1
],
add
%
o1
,
1
,#
)
EX
(
stb
%
g3
,
[%
o0
-
1
],
add
%
o1
,
1
)
0
:
0
:
retl
retl
clr
%
o0
clr
%
o0
...
...
arch/sparc/math-emu/sfp-util.h
View file @
a85c711c
...
@@ -4,8 +4,8 @@
...
@@ -4,8 +4,8 @@
#include <asm/byteorder.h>
#include <asm/byteorder.h>
#define add_ssaaaa(sh, sl, ah, al, bh, bl) \
#define add_ssaaaa(sh, sl, ah, al, bh, bl) \
__asm__ ("addcc %r4,%5,%1
__asm__ ("addcc %r4,%5,%1
\n\t" \
addx
%
r2
,
%
3
,
%
0
"
\
"addx %r2,%3,%0\n"
\
: "=r" ((USItype)(sh)), \
: "=r" ((USItype)(sh)), \
"=&r" ((USItype)(sl)) \
"=&r" ((USItype)(sl)) \
: "%rJ" ((USItype)(ah)), \
: "%rJ" ((USItype)(ah)), \
...
@@ -14,8 +14,8 @@
...
@@ -14,8 +14,8 @@
"rI" ((USItype)(bl)) \
"rI" ((USItype)(bl)) \
: "cc")
: "cc")
#define sub_ddmmss(sh, sl, ah, al, bh, bl) \
#define sub_ddmmss(sh, sl, ah, al, bh, bl) \
__asm__ ("
subcc
%
r4
,
%
5
,
%
1
__asm__ ("subcc %r4,%5,%1
\n\t" \
subx
%
r2
,
%
3
,
%
0
"
\
"subx %r2,%3,%0\n"
\
: "=r" ((USItype)(sh)), \
: "=r" ((USItype)(sh)), \
"=&r" ((USItype)(sl)) \
"=&r" ((USItype)(sl)) \
: "rJ" ((USItype)(ah)), \
: "rJ" ((USItype)(ah)), \
...
@@ -25,46 +25,46 @@
...
@@ -25,46 +25,46 @@
: "cc")
: "cc")
#define umul_ppmm(w1, w0, u, v) \
#define umul_ppmm(w1, w0, u, v) \
__asm__ ("
!
Inlined
umul_ppmm
__asm__ ("! Inlined umul_ppmm
\n\t" \
wr
%%
g0
,
%
2
,
%%
y
!
SPARC
has
0
-
3
delay
insn
after
a
wr
"wr %%g0,%2,%%y ! SPARC has 0-3 delay insn after a wr\n\t" \
sra
%
3
,
31
,
%%
g2
!
Don
'
t
move
this
insn
"sra %3,31,%%g2 ! Don't move this insn\n\t" \
and
%
2
,
%%
g2
,
%%
g2
!
Don
'
t
move
this
insn
"and %2,%%g2,%%g2 ! Don't move this insn\n\t" \
andcc
%%
g0
,
0
,
%%
g1
!
Don
'
t
move
this
insn
"andcc %%g0,0,%%g1 ! Don't move this insn\n\t" \
mulscc
%%
g1
,
%
3
,
%%
g1
"mulscc %%g1,%3,%%g1\n\t" \
mulscc
%%
g1
,
%
3
,
%%
g1
"mulscc %%g1,%3,%%g1\n\t" \
mulscc
%%
g1
,
%
3
,
%%
g1
"mulscc %%g1,%3,%%g1\n\t" \
mulscc
%%
g1
,
%
3
,
%%
g1
"mulscc %%g1,%3,%%g1\n\t" \
mulscc
%%
g1
,
%
3
,
%%
g1
"mulscc %%g1,%3,%%g1\n\t" \
mulscc
%%
g1
,
%
3
,
%%
g1
"mulscc %%g1,%3,%%g1\n\t" \
mulscc
%%
g1
,
%
3
,
%%
g1
"mulscc %%g1,%3,%%g1\n\t" \
mulscc
%%
g1
,
%
3
,
%%
g1
"mulscc %%g1,%3,%%g1\n\t" \
mulscc
%%
g1
,
%
3
,
%%
g1
"mulscc %%g1,%3,%%g1\n\t" \
mulscc
%%
g1
,
%
3
,
%%
g1
"mulscc %%g1,%3,%%g1\n\t" \
mulscc
%%
g1
,
%
3
,
%%
g1
"mulscc %%g1,%3,%%g1\n\t" \
mulscc
%%
g1
,
%
3
,
%%
g1
"mulscc %%g1,%3,%%g1\n\t" \
mulscc
%%
g1
,
%
3
,
%%
g1
"mulscc %%g1,%3,%%g1\n\t" \
mulscc
%%
g1
,
%
3
,
%%
g1
"mulscc %%g1,%3,%%g1\n\t" \
mulscc
%%
g1
,
%
3
,
%%
g1
"mulscc %%g1,%3,%%g1\n\t" \
mulscc
%%
g1
,
%
3
,
%%
g1
"mulscc %%g1,%3,%%g1\n\t" \
mulscc
%%
g1
,
%
3
,
%%
g1
"mulscc %%g1,%3,%%g1\n\t" \
mulscc
%%
g1
,
%
3
,
%%
g1
"mulscc %%g1,%3,%%g1\n\t" \
mulscc
%%
g1
,
%
3
,
%%
g1
"mulscc %%g1,%3,%%g1\n\t" \
mulscc
%%
g1
,
%
3
,
%%
g1
"mulscc %%g1,%3,%%g1\n\t" \
mulscc
%%
g1
,
%
3
,
%%
g1
"mulscc %%g1,%3,%%g1\n\t" \
mulscc
%%
g1
,
%
3
,
%%
g1
"mulscc %%g1,%3,%%g1\n\t" \
mulscc
%%
g1
,
%
3
,
%%
g1
"mulscc %%g1,%3,%%g1\n\t" \
mulscc
%%
g1
,
%
3
,
%%
g1
"mulscc %%g1,%3,%%g1\n\t" \
mulscc
%%
g1
,
%
3
,
%%
g1
"mulscc %%g1,%3,%%g1\n\t" \
mulscc
%%
g1
,
%
3
,
%%
g1
"mulscc %%g1,%3,%%g1\n\t" \
mulscc
%%
g1
,
%
3
,
%%
g1
"mulscc %%g1,%3,%%g1\n\t" \
mulscc
%%
g1
,
%
3
,
%%
g1
"mulscc %%g1,%3,%%g1\n\t" \
mulscc
%%
g1
,
%
3
,
%%
g1
"mulscc %%g1,%3,%%g1\n\t" \
mulscc
%%
g1
,
%
3
,
%%
g1
"mulscc %%g1,%3,%%g1\n\t" \
mulscc
%%
g1
,
%
3
,
%%
g1
"mulscc %%g1,%3,%%g1\n\t" \
mulscc
%%
g1
,
%
3
,
%%
g1
"mulscc %%g1,%3,%%g1\n\t" \
mulscc
%%
g1
,
0
,
%%
g1
"mulscc %%g1,0,%%g1\n\t" \
add
%%
g1
,
%%
g2
,
%
0
"add %%g1,%%g2,%0\n\t" \
rd
%%
y
,
%
1
"
\
"rd %%y,%1\n"
\
: "=r" ((USItype)(w1)), \
: "=r" ((USItype)(w1)), \
"=r" ((USItype)(w0)) \
"=r" ((USItype)(w0)) \
: "%rI" ((USItype)(u)), \
: "%rI" ((USItype)(u)), \
...
@@ -74,30 +74,30 @@
...
@@ -74,30 +74,30 @@
/* It's quite necessary to add this much assembler for the sparc.
/* It's quite necessary to add this much assembler for the sparc.
The default udiv_qrnnd (in C) is more than 10 times slower! */
The default udiv_qrnnd (in C) is more than 10 times slower! */
#define udiv_qrnnd(q, r, n1, n0, d) \
#define udiv_qrnnd(q, r, n1, n0, d) \
__asm__ ("
!
Inlined
udiv_qrnnd
__asm__ ("! Inlined udiv_qrnnd
\n\t" \
mov
32
,
%%
g1
"mov 32,%%g1\n\t" \
subcc
%
1
,
%
2
,
%%
g0
"subcc %1,%2,%%g0\n\t" \
1
:
bcs
5
f
"1: bcs 5f\n\t" \
addxcc
%
0
,
%
0
,
%
0
!
shift
n1n0
and
a
q
-
bit
in
lsb
"addxcc %0,%0,%0 ! shift n1n0 and a q-bit in lsb\n\t" \
sub
%
1
,
%
2
,
%
1
!
this
kills
msb
of
n
"sub %1,%2,%1 ! this kills msb of n\n\t" \
addx
%
1
,
%
1
,
%
1
!
so
this
can
'
t
give
carry
"addx %1,%1,%1 ! so this can't give carry\n\t" \
subcc
%%
g1
,
1
,
%%
g1
"subcc %%g1,1,%%g1\n\t" \
2
:
bne
1
b
"2: bne 1b\n\t" \
subcc
%
1
,
%
2
,
%%
g0
"subcc %1,%2,%%g0\n\t" \
bcs
3
f
"bcs 3f\n\t" \
addxcc
%
0
,
%
0
,
%
0
!
shift
n1n0
and
a
q
-
bit
in
lsb
"addxcc %0,%0,%0 ! shift n1n0 and a q-bit in lsb\n\t" \
b
3
f
"b 3f\n\t" \
sub
%
1
,
%
2
,
%
1
!
this
kills
msb
of
n
"sub %1,%2,%1 ! this kills msb of n\n\t" \
4
:
sub
%
1
,
%
2
,
%
1
"4: sub %1,%2,%1\n\t" \
5
:
addxcc
%
1
,
%
1
,
%
1
"5: addxcc %1,%1,%1\n\t" \
bcc
2
b
"bcc 2b\n\t" \
subcc
%%
g1
,
1
,
%%
g1
"subcc %%g1,1,%%g1\n\t" \
!
Got
carry
from
n
.
Subtract
next
step
to
cancel
this
carry
.
"! Got carry from n. Subtract next step to cancel this carry.\n\t" \
bne
4
b
"bne 4b\n\t" \
addcc
%
0
,
%
0
,
%
0
!
shift
n1n0
and
a
0
-
bit
in
lsb
"addcc %0,%0,%0 ! shift n1n0 and a 0-bit in lsb\n\t" \
sub
%
1
,
%
2
,
%
1
"sub %1,%2,%1\n\t" \
3
:
xnor
%
0
,
0
,
%
0
"3: xnor %0,0,%0\n\t" \
!
End
of
inline
udiv_qrnnd
"
\
"! End of inline udiv_qrnnd\n"
\
: "=&r" ((USItype)(q)), \
: "=&r" ((USItype)(q)), \
"=&r" ((USItype)(r)) \
"=&r" ((USItype)(r)) \
: "r" ((USItype)(d)), \
: "r" ((USItype)(d)), \
...
...
arch/sparc64/Kconfig
View file @
a85c711c
...
@@ -29,7 +29,8 @@ config BBC_I2C
...
@@ -29,7 +29,8 @@ config BBC_I2C
smartcard reader, if present. Say Y to enable support for these.
smartcard reader, if present. Say Y to enable support for these.
config VT
config VT
bool
bool "Virtual terminal" if EMBEDDED
select INPUT
default y
default y
---help---
---help---
If you say Y here, you will get support for terminal devices with
If you say Y here, you will get support for terminal devices with
...
@@ -59,7 +60,8 @@ config VT
...
@@ -59,7 +60,8 @@ config VT
shiny Linux system :-)
shiny Linux system :-)
config VT_CONSOLE
config VT_CONSOLE
bool
bool "Support for console on virtual terminal" if EMBEDDED
depends on VT
default y
default y
---help---
---help---
The system console is the device which receives all kernel messages
The system console is the device which receives all kernel messages
...
...
arch/sparc64/defconfig
View file @
a85c711c
#
#
# Automatically generated make config: don't edit
# Automatically generated make config: don't edit
#
#
CONFIG_64BIT=y
CONFIG_MMU=y
CONFIG_MMU=y
#
#
# Code maturity level options
# Code maturity level options
#
#
CONFIG_EXPERIMENTAL=y
CONFIG_EXPERIMENTAL=y
CONFIG_BROKEN=y
CONFIG_CLEAN_COMPILE=y
CONFIG_STANDALONE=y
#
#
# General setup
# General setup
...
@@ -17,6 +19,7 @@ CONFIG_SYSVIPC=y
...
@@ -17,6 +19,7 @@ CONFIG_SYSVIPC=y
# CONFIG_BSD_PROCESS_ACCT is not set
# CONFIG_BSD_PROCESS_ACCT is not set
CONFIG_SYSCTL=y
CONFIG_SYSCTL=y
CONFIG_LOG_BUF_SHIFT=15
CONFIG_LOG_BUF_SHIFT=15
# CONFIG_IKCONFIG is not set
# CONFIG_EMBEDDED is not set
# CONFIG_EMBEDDED is not set
CONFIG_KALLSYMS=y
CONFIG_KALLSYMS=y
CONFIG_FUTEX=y
CONFIG_FUTEX=y
...
@@ -51,6 +54,10 @@ CONFIG_CPU_FREQ_TABLE=y
...
@@ -51,6 +54,10 @@ CONFIG_CPU_FREQ_TABLE=y
CONFIG_US3_FREQ=m
CONFIG_US3_FREQ=m
CONFIG_US2E_FREQ=m
CONFIG_US2E_FREQ=m
CONFIG_CPU_FREQ_PROC_INTF=y
CONFIG_CPU_FREQ_PROC_INTF=y
CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
CONFIG_CPU_FREQ_GOV_POWERSAVE=m
CONFIG_CPU_FREQ_GOV_USERSPACE=m
CONFIG_CPU_FREQ_GOV_USERSPACE=m
# CONFIG_CPU_FREQ_24_API is not set
# CONFIG_CPU_FREQ_24_API is not set
CONFIG_SPARC64=y
CONFIG_SPARC64=y
...
@@ -67,7 +74,6 @@ CONFIG_RTC=y
...
@@ -67,7 +74,6 @@ CONFIG_RTC=y
# CONFIG_PCI_LEGACY_PROC is not set
# CONFIG_PCI_LEGACY_PROC is not set
# CONFIG_PCI_NAMES is not set
# CONFIG_PCI_NAMES is not set
CONFIG_SUN_OPENPROMFS=m
CONFIG_SUN_OPENPROMFS=m
CONFIG_KCORE_ELF=y
CONFIG_SPARC32_COMPAT=y
CONFIG_SPARC32_COMPAT=y
CONFIG_COMPAT=y
CONFIG_COMPAT=y
CONFIG_BINFMT_ELF32=y
CONFIG_BINFMT_ELF32=y
...
@@ -102,8 +108,6 @@ CONFIG_FW_LOADER=m
...
@@ -102,8 +108,6 @@ CONFIG_FW_LOADER=m
# Graphics support
# Graphics support
#
#
CONFIG_FB=y
CONFIG_FB=y
# CONFIG_FB_CIRRUS is not set
# CONFIG_FB_PM2 is not set
# CONFIG_FB_CYBER2000 is not set
# CONFIG_FB_CYBER2000 is not set
# CONFIG_FB_IMSTT is not set
# CONFIG_FB_IMSTT is not set
# CONFIG_FB_BW2 is not set
# CONFIG_FB_BW2 is not set
...
@@ -119,7 +123,6 @@ CONFIG_FB_CG6=y
...
@@ -119,7 +123,6 @@ CONFIG_FB_CG6=y
# CONFIG_FB_3DFX is not set
# CONFIG_FB_3DFX is not set
# CONFIG_FB_VOODOO1 is not set
# CONFIG_FB_VOODOO1 is not set
# CONFIG_FB_TRIDENT is not set
# CONFIG_FB_TRIDENT is not set
# CONFIG_FB_PM3 is not set
CONFIG_FB_SBUS=y
CONFIG_FB_SBUS=y
CONFIG_FB_FFB=y
CONFIG_FB_FFB=y
# CONFIG_FB_TCX is not set
# CONFIG_FB_TCX is not set
...
@@ -274,6 +277,7 @@ CONFIG_IDEDMA_AUTO=y
...
@@ -274,6 +277,7 @@ CONFIG_IDEDMA_AUTO=y
# SCSI device support
# SCSI device support
#
#
CONFIG_SCSI=y
CONFIG_SCSI=y
CONFIG_SCSI_PROC_FS=y
#
#
# SCSI support type (disk, tape, CD-ROM)
# SCSI support type (disk, tape, CD-ROM)
...
@@ -309,7 +313,6 @@ CONFIG_AIC79XX_RESET_DELAY_MS=15000
...
@@ -309,7 +313,6 @@ CONFIG_AIC79XX_RESET_DELAY_MS=15000
# CONFIG_AIC79XX_DEBUG_ENABLE is not set
# CONFIG_AIC79XX_DEBUG_ENABLE is not set
CONFIG_AIC79XX_DEBUG_MASK=0
CONFIG_AIC79XX_DEBUG_MASK=0
# CONFIG_AIC79XX_REG_PRETTY_PRINT is not set
# CONFIG_AIC79XX_REG_PRETTY_PRINT is not set
# CONFIG_SCSI_DPT_I2O is not set
# CONFIG_SCSI_ADVANSYS is not set
# CONFIG_SCSI_ADVANSYS is not set
# CONFIG_SCSI_MEGARAID is not set
# CONFIG_SCSI_MEGARAID is not set
# CONFIG_SCSI_BUSLOGIC is not set
# CONFIG_SCSI_BUSLOGIC is not set
...
@@ -319,7 +322,7 @@ CONFIG_SCSI_DMX3191D=m
...
@@ -319,7 +322,7 @@ CONFIG_SCSI_DMX3191D=m
CONFIG_SCSI_EATA_PIO=m
CONFIG_SCSI_EATA_PIO=m
# CONFIG_SCSI_FUTURE_DOMAIN is not set
# CONFIG_SCSI_FUTURE_DOMAIN is not set
# CONFIG_SCSI_GDTH is not set
# CONFIG_SCSI_GDTH is not set
# CONFIG_SCSI_INITIO is not set
CONFIG_SCSI_IPS=m
CONFIG_SCSI_INIA100=m
CONFIG_SCSI_INIA100=m
CONFIG_SCSI_PPA=m
CONFIG_SCSI_PPA=m
CONFIG_SCSI_IMM=m
CONFIG_SCSI_IMM=m
...
@@ -330,15 +333,12 @@ CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
...
@@ -330,15 +333,12 @@ CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
# CONFIG_SCSI_SYM53C8XX_IOMAPPED is not set
# CONFIG_SCSI_SYM53C8XX_IOMAPPED is not set
# CONFIG_SCSI_PCI2000 is not set
# CONFIG_SCSI_PCI2220I is not set
CONFIG_SCSI_QLOGIC_ISP=m
CONFIG_SCSI_QLOGIC_ISP=m
CONFIG_SCSI_QLOGIC_FC=y
CONFIG_SCSI_QLOGIC_FC=y
CONFIG_SCSI_QLOGIC_FC_FIRMWARE=y
CONFIG_SCSI_QLOGIC_FC_FIRMWARE=y
# CONFIG_SCSI_QLOGIC_1280 is not set
# CONFIG_SCSI_QLOGIC_1280 is not set
CONFIG_SCSI_QLOGICPTI=m
CONFIG_SCSI_QLOGICPTI=m
CONFIG_SCSI_DC395x=m
CONFIG_SCSI_DC395x=m
# CONFIG_SCSI_DC390T is not set
# CONFIG_SCSI_NSP32 is not set
# CONFIG_SCSI_NSP32 is not set
CONFIG_SCSI_DEBUG=m
CONFIG_SCSI_DEBUG=m
CONFIG_SCSI_SUNESP=y
CONFIG_SCSI_SUNESP=y
...
@@ -474,6 +474,7 @@ CONFIG_DECNET_ROUTE_FWMARK=y
...
@@ -474,6 +474,7 @@ CONFIG_DECNET_ROUTE_FWMARK=y
CONFIG_BRIDGE=m
CONFIG_BRIDGE=m
CONFIG_NETFILTER=y
CONFIG_NETFILTER=y
# CONFIG_NETFILTER_DEBUG is not set
# CONFIG_NETFILTER_DEBUG is not set
CONFIG_BRIDGE_NETFILTER=y
#
#
# IP: Netfilter Configuration
# IP: Netfilter Configuration
...
@@ -486,6 +487,7 @@ CONFIG_IP_NF_AMANDA=m
...
@@ -486,6 +487,7 @@ CONFIG_IP_NF_AMANDA=m
CONFIG_IP_NF_QUEUE=m
CONFIG_IP_NF_QUEUE=m
CONFIG_IP_NF_IPTABLES=m
CONFIG_IP_NF_IPTABLES=m
CONFIG_IP_NF_MATCH_LIMIT=m
CONFIG_IP_NF_MATCH_LIMIT=m
CONFIG_IP_NF_MATCH_IPRANGE=m
CONFIG_IP_NF_MATCH_MAC=m
CONFIG_IP_NF_MATCH_MAC=m
CONFIG_IP_NF_MATCH_PKTTYPE=m
CONFIG_IP_NF_MATCH_PKTTYPE=m
CONFIG_IP_NF_MATCH_MARK=m
CONFIG_IP_NF_MATCH_MARK=m
...
@@ -501,16 +503,16 @@ CONFIG_IP_NF_MATCH_TCPMSS=m
...
@@ -501,16 +503,16 @@ CONFIG_IP_NF_MATCH_TCPMSS=m
CONFIG_IP_NF_MATCH_HELPER=m
CONFIG_IP_NF_MATCH_HELPER=m
CONFIG_IP_NF_MATCH_STATE=m
CONFIG_IP_NF_MATCH_STATE=m
CONFIG_IP_NF_MATCH_CONNTRACK=m
CONFIG_IP_NF_MATCH_CONNTRACK=m
CONFIG_IP_NF_MATCH_UNCLEAN=m
CONFIG_IP_NF_MATCH_OWNER=m
CONFIG_IP_NF_MATCH_OWNER=m
CONFIG_IP_NF_MATCH_PHYSDEV=m
CONFIG_IP_NF_MATCH_PHYSDEV=m
CONFIG_IP_NF_FILTER=m
CONFIG_IP_NF_FILTER=m
CONFIG_IP_NF_TARGET_REJECT=m
CONFIG_IP_NF_TARGET_REJECT=m
CONFIG_IP_NF_TARGET_MIRROR=m
CONFIG_IP_NF_NAT=m
CONFIG_IP_NF_NAT=m
CONFIG_IP_NF_NAT_NEEDED=y
CONFIG_IP_NF_NAT_NEEDED=y
CONFIG_IP_NF_TARGET_MASQUERADE=m
CONFIG_IP_NF_TARGET_MASQUERADE=m
CONFIG_IP_NF_TARGET_REDIRECT=m
CONFIG_IP_NF_TARGET_REDIRECT=m
CONFIG_IP_NF_TARGET_NETMAP=m
CONFIG_IP_NF_TARGET_SAME=m
CONFIG_IP_NF_NAT_LOCAL=y
CONFIG_IP_NF_NAT_LOCAL=y
CONFIG_IP_NF_NAT_SNMP_BASIC=m
CONFIG_IP_NF_NAT_SNMP_BASIC=m
CONFIG_IP_NF_NAT_IRC=m
CONFIG_IP_NF_NAT_IRC=m
...
@@ -522,6 +524,7 @@ CONFIG_IP_NF_TARGET_TOS=m
...
@@ -522,6 +524,7 @@ CONFIG_IP_NF_TARGET_TOS=m
CONFIG_IP_NF_TARGET_ECN=m
CONFIG_IP_NF_TARGET_ECN=m
CONFIG_IP_NF_TARGET_DSCP=m
CONFIG_IP_NF_TARGET_DSCP=m
CONFIG_IP_NF_TARGET_MARK=m
CONFIG_IP_NF_TARGET_MARK=m
CONFIG_IP_NF_TARGET_CLASSIFY=m
CONFIG_IP_NF_TARGET_LOG=m
CONFIG_IP_NF_TARGET_LOG=m
CONFIG_IP_NF_TARGET_ULOG=m
CONFIG_IP_NF_TARGET_ULOG=m
CONFIG_IP_NF_TARGET_TCPMSS=m
CONFIG_IP_NF_TARGET_TCPMSS=m
...
@@ -558,21 +561,27 @@ CONFIG_IP6_NF_TARGET_MARK=m
...
@@ -558,21 +561,27 @@ CONFIG_IP6_NF_TARGET_MARK=m
# DECnet: Netfilter Configuration
# DECnet: Netfilter Configuration
#
#
CONFIG_DECNET_NF_GRABULATOR=m
CONFIG_DECNET_NF_GRABULATOR=m
#
# Bridge: Netfilter Configuration
#
CONFIG_BRIDGE_NF_EBTABLES=m
CONFIG_BRIDGE_NF_EBTABLES=m
CONFIG_BRIDGE_EBT_BROUTE=m
CONFIG_BRIDGE_EBT_T_FILTER=m
CONFIG_BRIDGE_EBT_T_FILTER=m
CONFIG_BRIDGE_EBT_T_NAT=m
CONFIG_BRIDGE_EBT_T_NAT=m
CONFIG_BRIDGE_EBT_BROUTE=m
CONFIG_BRIDGE_EBT_802_3=m
CONFIG_BRIDGE_EBT_LOG=m
CONFIG_BRIDGE_EBT_IP=m
CONFIG_BRIDGE_EBT_ARP=m
CONFIG_BRIDGE_EBT_ARP=m
CONFIG_BRIDGE_EBT_
VLAN
=m
CONFIG_BRIDGE_EBT_
IP
=m
CONFIG_BRIDGE_EBT_MARK=m
CONFIG_BRIDGE_EBT_MARK=m
CONFIG_BRIDGE_EBT_PKTTYPE=m
CONFIG_BRIDGE_EBT_PKTTYPE=m
CONFIG_BRIDGE_EBT_STP=m
CONFIG_BRIDGE_EBT_STP=m
CONFIG_BRIDGE_EBT_SNAT=m
CONFIG_BRIDGE_EBT_VLAN=m
CONFIG_BRIDGE_EBT_ARPREPLY=m
CONFIG_BRIDGE_EBT_DNAT=m
CONFIG_BRIDGE_EBT_DNAT=m
CONFIG_BRIDGE_EBT_REDIRECT=m
CONFIG_BRIDGE_EBT_MARK_T=m
CONFIG_BRIDGE_EBT_MARK_T=m
CONFIG_BRIDGE_EBT_REDIRECT=m
CONFIG_BRIDGE_EBT_SNAT=m
CONFIG_BRIDGE_EBT_LOG=m
CONFIG_XFRM=y
CONFIG_XFRM=y
CONFIG_XFRM_USER=m
CONFIG_XFRM_USER=m
...
@@ -781,7 +790,6 @@ CONFIG_NET_WIRELESS=y
...
@@ -781,7 +790,6 @@ CONFIG_NET_WIRELESS=y
# Token Ring devices (depends on LLC=y)
# Token Ring devices (depends on LLC=y)
#
#
CONFIG_NET_FC=y
CONFIG_NET_FC=y
# CONFIG_IPHASE5526 is not set
# CONFIG_RCPCI is not set
# CONFIG_RCPCI is not set
CONFIG_SHAPER=m
CONFIG_SHAPER=m
...
@@ -830,8 +838,6 @@ CONFIG_ROSE=m
...
@@ -830,8 +838,6 @@ CONFIG_ROSE=m
#
#
# AX.25 network device drivers
# AX.25 network device drivers
#
#
# CONFIG_MKISS is not set
# CONFIG_6PACK is not set
# CONFIG_BPQETHER is not set
# CONFIG_BPQETHER is not set
# CONFIG_BAYCOM_SER_FDX is not set
# CONFIG_BAYCOM_SER_FDX is not set
# CONFIG_BAYCOM_SER_HDX is not set
# CONFIG_BAYCOM_SER_HDX is not set
...
@@ -875,7 +881,6 @@ CONFIG_IRDA_FAST_RR=y
...
@@ -875,7 +881,6 @@ CONFIG_IRDA_FAST_RR=y
#
#
# Old SIR device drivers
# Old SIR device drivers
#
#
# CONFIG_IRTTY_OLD is not set
# CONFIG_IRPORT_SIR is not set
# CONFIG_IRPORT_SIR is not set
#
#
...
@@ -886,7 +891,6 @@ CONFIG_IRDA_FAST_RR=y
...
@@ -886,7 +891,6 @@ CONFIG_IRDA_FAST_RR=y
# FIR device drivers
# FIR device drivers
#
#
# CONFIG_USB_IRDA is not set
# CONFIG_USB_IRDA is not set
# CONFIG_TOSHIBA_OLD is not set
# CONFIG_TOSHIBA_FIR is not set
# CONFIG_TOSHIBA_FIR is not set
# CONFIG_VLSI_FIR is not set
# CONFIG_VLSI_FIR is not set
...
@@ -895,11 +899,6 @@ CONFIG_IRDA_FAST_RR=y
...
@@ -895,11 +899,6 @@ CONFIG_IRDA_FAST_RR=y
#
#
CONFIG_ISDN_BOOL=y
CONFIG_ISDN_BOOL=y
#
# Old ISDN4Linux
#
# CONFIG_ISDN is not set
#
#
# CAPI subsystem
# CAPI subsystem
#
#
...
@@ -1000,7 +999,6 @@ CONFIG_I2C_PROSAVAGE=m
...
@@ -1000,7 +999,6 @@ CONFIG_I2C_PROSAVAGE=m
CONFIG_I2C_PHILIPSPAR=m
CONFIG_I2C_PHILIPSPAR=m
CONFIG_SCx200_ACB=m
CONFIG_SCx200_ACB=m
CONFIG_I2C_ALGOPCF=m
CONFIG_I2C_ALGOPCF=m
# CONFIG_I2C_ELEKTOR is not set
CONFIG_I2C_CHARDEV=m
CONFIG_I2C_CHARDEV=m
#
#
...
@@ -1198,7 +1196,6 @@ CONFIG_VIDEO_DEV=y
...
@@ -1198,7 +1196,6 @@ CONFIG_VIDEO_DEV=y
#
#
# Video For Linux
# Video For Linux
#
#
CONFIG_VIDEO_PROC_FS=y
#
#
# Video Adapters
# Video Adapters
...
@@ -1214,7 +1211,6 @@ CONFIG_VIDEO_SAA5249=m
...
@@ -1214,7 +1211,6 @@ CONFIG_VIDEO_SAA5249=m
CONFIG_TUNER_3036=m
CONFIG_TUNER_3036=m
# CONFIG_VIDEO_STRADIS is not set
# CONFIG_VIDEO_STRADIS is not set
# CONFIG_VIDEO_ZORAN is not set
# CONFIG_VIDEO_ZORAN is not set
# CONFIG_VIDEO_ZR36120 is not set
CONFIG_VIDEO_SAA7134=m
CONFIG_VIDEO_SAA7134=m
CONFIG_VIDEO_MXB=m
CONFIG_VIDEO_MXB=m
CONFIG_VIDEO_DPC=m
CONFIG_VIDEO_DPC=m
...
@@ -1247,7 +1243,6 @@ CONFIG_DVB_GRUNDIG_29504_491=m
...
@@ -1247,7 +1243,6 @@ CONFIG_DVB_GRUNDIG_29504_491=m
CONFIG_DVB_GRUNDIG_29504_401=m
CONFIG_DVB_GRUNDIG_29504_401=m
CONFIG_DVB_MT312=m
CONFIG_DVB_MT312=m
CONFIG_DVB_VES1820=m
CONFIG_DVB_VES1820=m
# CONFIG_DVB_TDA1004X is not set
#
#
# Supported SAA7146 based PCI Adapters
# Supported SAA7146 based PCI Adapters
...
@@ -1262,7 +1257,6 @@ CONFIG_DVB_BUDGET_PATCH=m
...
@@ -1262,7 +1257,6 @@ CONFIG_DVB_BUDGET_PATCH=m
# Supported USB Adapters
# Supported USB Adapters
#
#
# CONFIG_DVB_TTUSB_BUDGET is not set
# CONFIG_DVB_TTUSB_BUDGET is not set
# CONFIG_DVB_TTUSB_DEC is not set
#
#
# Supported FlexCopII (B2C2) Adapters
# Supported FlexCopII (B2C2) Adapters
...
@@ -1430,7 +1424,7 @@ CONFIG_USB_HPUSBSCSI=m
...
@@ -1430,7 +1424,7 @@ CONFIG_USB_HPUSBSCSI=m
#
#
# USB Network adaptors
# USB Network adaptors
#
#
CONFIG_USB_AX8817X=m
CONFIG_USB_AX8817X
_STANDALONE
=m
CONFIG_USB_CATC=m
CONFIG_USB_CATC=m
CONFIG_USB_KAWETH=m
CONFIG_USB_KAWETH=m
CONFIG_USB_PEGASUS=m
CONFIG_USB_PEGASUS=m
...
@@ -1454,6 +1448,11 @@ CONFIG_USB_EPSON2888=y
...
@@ -1454,6 +1448,11 @@ CONFIG_USB_EPSON2888=y
CONFIG_USB_ZAURUS=y
CONFIG_USB_ZAURUS=y
CONFIG_USB_CDCETHER=y
CONFIG_USB_CDCETHER=y
#
# USB Network Adapters
#
CONFIG_USB_AX8817X=y
#
#
# USB port drivers
# USB port drivers
#
#
...
...
include/asm-sparc/sfp-machine.h
View file @
a85c711c
...
@@ -77,9 +77,9 @@
...
@@ -77,9 +77,9 @@
/* Some assembly to speed things up. */
/* Some assembly to speed things up. */
#define __FP_FRAC_ADD_3(r2,r1,r0,x2,x1,x0,y2,y1,y0) \
#define __FP_FRAC_ADD_3(r2,r1,r0,x2,x1,x0,y2,y1,y0) \
__asm__ ("addcc %r7,%8,%2
__asm__ ("addcc %r7,%8,%2
\n\t" \
addxcc
%
r5
,
%
6
,
%
1
"addxcc %r5,%6,%1\n\t" \
addx
%
r3
,
%
4
,
%
0
" \
"addx %r3,%4,%0\n
" \
: "=r" ((USItype)(r2)), \
: "=r" ((USItype)(r2)), \
"=&r" ((USItype)(r1)), \
"=&r" ((USItype)(r1)), \
"=&r" ((USItype)(r0)) \
"=&r" ((USItype)(r0)) \
...
@@ -92,9 +92,9 @@
...
@@ -92,9 +92,9 @@
: "cc")
: "cc")
#define __FP_FRAC_SUB_3(r2,r1,r0,x2,x1,x0,y2,y1,y0) \
#define __FP_FRAC_SUB_3(r2,r1,r0,x2,x1,x0,y2,y1,y0) \
__asm__ ("
subcc
%
r7
,
%
8
,
%
2
__asm__ ("subcc %r7,%8,%2
\n\t" \
subxcc
%
r5
,
%
6
,
%
1
"subxcc %r5,%6,%1\n\t" \
subx
%
r3
,
%
4
,
%
0
" \
"subx %r3,%4,%0\n
" \
: "=r" ((USItype)(r2)), \
: "=r" ((USItype)(r2)), \
"=&r" ((USItype)(r1)), \
"=&r" ((USItype)(r1)), \
"=&r" ((USItype)(r0)) \
"=&r" ((USItype)(r0)) \
...
@@ -111,11 +111,11 @@
...
@@ -111,11 +111,11 @@
/* We need to fool gcc, as we need to pass more than 10 \
/* We need to fool gcc, as we need to pass more than 10 \
input/outputs. */
\
input/outputs. */
\
register USItype _t1 __asm__ ("g1"), _t2 __asm__ ("g2"); \
register USItype _t1 __asm__ ("g1"), _t2 __asm__ ("g2"); \
__asm__ __volatile__ (
"
__asm__ __volatile__ (
\
addcc
%
r8
,
%
9
,
%
1
"addcc %r8,%9,%1\n\t" \
addxcc
%
r6
,
%
7
,
%
0
"addxcc %r6,%7,%0\n\t" \
addxcc
%
r4
,
%
5
,
%%
g2
"addxcc %r4,%5,%%g2\n\t" \
addx
%
r2
,
%
3
,
%%
g1
"
\
"addx %r2,%3,%%g1\n\t"
\
: "=&r" ((USItype)(r1)), \
: "=&r" ((USItype)(r1)), \
"=&r" ((USItype)(r0)) \
"=&r" ((USItype)(r0)) \
: "%rJ" ((USItype)(x3)), \
: "%rJ" ((USItype)(x3)), \
...
@@ -136,11 +136,11 @@
...
@@ -136,11 +136,11 @@
/* We need to fool gcc, as we need to pass more than 10 \
/* We need to fool gcc, as we need to pass more than 10 \
input/outputs. */
\
input/outputs. */
\
register USItype _t1 __asm__ ("g1"), _t2 __asm__ ("g2"); \
register USItype _t1 __asm__ ("g1"), _t2 __asm__ ("g2"); \
__asm__ __volatile__ (
"
__asm__ __volatile__ (
\
subcc
%
r8
,
%
9
,
%
1
"subcc %r8,%9,%1\n\t" \
subxcc
%
r6
,
%
7
,
%
0
"subxcc %r6,%7,%0\n\t" \
subxcc
%
r4
,
%
5
,
%%
g2
"subxcc %r4,%5,%%g2\n\t" \
subx
%
r2
,
%
3
,
%%
g1
"
\
"subx %r2,%3,%%g1\n\t"
\
: "=&r" ((USItype)(r1)), \
: "=&r" ((USItype)(r1)), \
"=&r" ((USItype)(r0)) \
"=&r" ((USItype)(r0)) \
: "%rJ" ((USItype)(x3)), \
: "%rJ" ((USItype)(x3)), \
...
@@ -161,10 +161,10 @@
...
@@ -161,10 +161,10 @@
#define __FP_FRAC_DEC_4(x3,x2,x1,x0,y3,y2,y1,y0) __FP_FRAC_SUB_4(x3,x2,x1,x0,x3,x2,x1,x0,y3,y2,y1,y0)
#define __FP_FRAC_DEC_4(x3,x2,x1,x0,y3,y2,y1,y0) __FP_FRAC_SUB_4(x3,x2,x1,x0,x3,x2,x1,x0,y3,y2,y1,y0)
#define __FP_FRAC_ADDI_4(x3,x2,x1,x0,i) \
#define __FP_FRAC_ADDI_4(x3,x2,x1,x0,i) \
__asm__ ("
addcc
%
3
,
%
4
,
%
3
__asm__ ("addcc %3,%4,%3
\n\t" \
addxcc
%
2
,
%%
g0
,
%
2
"addxcc %2,%%g0,%2\n\t" \
addxcc
%
1
,
%%
g0
,
%
1
"addxcc %1,%%g0,%1\n\t" \
addx
%
0
,
%%
g0
,
%
0
"
\
"addx %0,%%g0,%0\n\t"
\
: "=&r" ((USItype)(x3)), \
: "=&r" ((USItype)(x3)), \
"=&r" ((USItype)(x2)), \
"=&r" ((USItype)(x2)), \
"=&r" ((USItype)(x1)), \
"=&r" ((USItype)(x1)), \
...
...
include/asm-sparc64/vga.h
View file @
a85c711c
...
@@ -13,18 +13,16 @@
...
@@ -13,18 +13,16 @@
static
inline
void
scr_writew
(
u16
val
,
u16
*
addr
)
static
inline
void
scr_writew
(
u16
val
,
u16
*
addr
)
{
{
if
((
long
)
addr
<
0
)
BUG_ON
((
long
)
addr
>=
0
);
*
addr
=
val
;
else
*
addr
=
val
;
writew
(
val
,
(
unsigned
long
)
addr
);
}
}
static
inline
u16
scr_readw
(
const
u16
*
addr
)
static
inline
u16
scr_readw
(
const
u16
*
addr
)
{
{
if
((
long
)
addr
<
0
)
BUG_ON
((
long
)
addr
>=
0
);
return
*
addr
;
else
return
*
addr
;
return
readw
((
unsigned
long
)
addr
);
}
}
#define VGA_MAP_MEM(x) (x)
#define VGA_MAP_MEM(x) (x)
...
...
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