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
7140df08
Commit
7140df08
authored
Sep 11, 2003
by
Linus Torvalds
Browse files
Options
Browse Files
Download
Plain Diff
Merge
bk://kernel.bkbits.net/davem/sparc-2.5
into home.osdl.org:/home/torvalds/v2.5/linux
parents
081fc6c7
a85c711c
Changes
9
Show 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 @
7140df08
...
@@ -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 @
7140df08
...
@@ -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 @
7140df08
...
@@ -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 @
7140df08
...
@@ -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 @
7140df08
...
@@ -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 @
7140df08
...
@@ -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 @
7140df08
#
#
# 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 @
7140df08
...
@@ -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 @
7140df08
...
@@ -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
;
*
addr
=
val
;
else
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
;
return
*
addr
;
else
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