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
Kirill Smelkov
linux
Commits
66a2c418
Commit
66a2c418
authored
Nov 23, 2007
by
Linus Torvalds
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Import 1.1.72
parent
9c1069bc
Changes
45
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
45 changed files
with
932 additions
and
276 deletions
+932
-276
CREDITS
CREDITS
+2
-3
Makefile
Makefile
+15
-15
arch/sparc/boot/boot.S
arch/sparc/boot/boot.S
+306
-61
arch/sparc/string.S
arch/sparc/string.S
+115
-0
drivers/block/floppy.c
drivers/block/floppy.c
+72
-17
drivers/char/lp.c
drivers/char/lp.c
+10
-5
drivers/net/3c501.c
drivers/net/3c501.c
+1
-1
drivers/net/3c509.c
drivers/net/3c509.c
+1
-1
drivers/net/8390.c
drivers/net/8390.c
+1
-1
drivers/net/MODULES
drivers/net/MODULES
+1
-0
drivers/net/Space.c
drivers/net/Space.c
+8
-11
drivers/net/apricot.c
drivers/net/apricot.c
+193
-108
drivers/net/de600.c
drivers/net/de600.c
+1
-1
drivers/net/de620.c
drivers/net/de620.c
+1
-1
drivers/net/depca.c
drivers/net/depca.c
+1
-1
drivers/net/eexpress.c
drivers/net/eexpress.c
+1
-1
drivers/net/ewrk3.c
drivers/net/ewrk3.c
+1
-1
drivers/net/net_init.c
drivers/net/net_init.c
+0
-3
drivers/net/plip.c
drivers/net/plip.c
+1
-1
drivers/net/znet.c
drivers/net/znet.c
+1
-4
drivers/scsi/sg.c
drivers/scsi/sg.c
+2
-1
fs/binfmt_elf.c
fs/binfmt_elf.c
+1
-1
fs/isofs/inode.c
fs/isofs/inode.c
+1
-1
fs/msdos/inode.c
fs/msdos/inode.c
+1
-1
fs/proc/array.c
fs/proc/array.c
+3
-0
fs/proc/root.c
fs/proc/root.c
+1
-0
fs/sysv/inode.c
fs/sysv/inode.c
+1
-1
fs/umsdos/inode.c
fs/umsdos/inode.c
+1
-1
fs/xiafs/inode.c
fs/xiafs/inode.c
+1
-1
include/asm-m68k/system.h
include/asm-m68k/system.h
+1
-1
include/linux/fd.h
include/linux/fd.h
+1
-0
include/linux/ioport.h
include/linux/ioport.h
+1
-0
include/linux/netdevice.h
include/linux/netdevice.h
+1
-0
include/linux/proc_fs.h
include/linux/proc_fs.h
+2
-1
init/main.c
init/main.c
+4
-0
kernel/ioport.c
kernel/ioport.c
+20
-0
kernel/ksyms.c
kernel/ksyms.c
+3
-0
mm/filemap.c
mm/filemap.c
+6
-1
mm/swap.c
mm/swap.c
+34
-4
modules/NET_MODULES
modules/NET_MODULES
+1
-1
net/inet/igmp.c
net/inet/igmp.c
+1
-0
net/inet/ip.c
net/inet/ip.c
+97
-1
net/inet/ip_fw.c
net/inet/ip_fw.c
+1
-5
net/inet/tcp.c
net/inet/tcp.c
+14
-17
tools/version.c
tools/version.c
+1
-2
No files found.
CREDITS
View file @
66a2c418
...
@@ -710,9 +710,8 @@ E: jon@gtex02.us.es
...
@@ -710,9 +710,8 @@ E: jon@gtex02.us.es
D: NFS mmap()
D: NFS mmap()
D: XF86_S3
D: XF86_S3
D: Kernel modules
D: Kernel modules
S: C/ Teodosio 43
S: C/ Carlos de Cepeda 36 2-5
S: Portal 6 1-A
S: Sevilla 41005
S: Sevilla 41002
S: Spain
S: Spain
N: Linus Torvalds
N: Linus Torvalds
...
...
Makefile
View file @
66a2c418
VERSION
=
1
VERSION
=
1
PATCHLEVEL
=
1
PATCHLEVEL
=
1
SUBLEVEL
=
7
1
SUBLEVEL
=
7
2
ARCH
=
i386
ARCH
=
i386
...
@@ -102,7 +102,7 @@ endif
...
@@ -102,7 +102,7 @@ endif
$(CC)
$(CFLAGS)
-c
-o
$*
.o
$<
$(CC)
$(CFLAGS)
-c
-o
$*
.o
$<
Version
:
dummy
Version
:
dummy
rm
-f
tools
/version.h
rm
-f
include/linux
/version.h
boot
:
boot
:
ln
-sf
arch
/
$(ARCH)
/boot boot
ln
-sf
arch
/
$(ARCH)
/boot boot
...
@@ -127,25 +127,25 @@ config: symlinks config.in
...
@@ -127,25 +127,25 @@ config: symlinks config.in
linuxsubdirs
:
dummy
linuxsubdirs
:
dummy
set
-e
;
for
i
in
$(SUBDIRS)
;
do
$(MAKE)
-C
$$
i
;
done
set
-e
;
for
i
in
$(SUBDIRS)
;
do
$(MAKE)
-C
$$
i
;
done
tools/./version.h
:
tools
/version.h
$(TOPDIR)/include/linux/version.h
:
include/linux
/version.h
tools
/version.h
:
$(CONFIGURE) Makefile
include/linux
/version.h
:
$(CONFIGURE) Makefile
@
./makever.sh
@
./makever.sh
@
echo
\#
define UTS_RELEASE
\"
$(VERSION)
.
$(PATCHLEVEL)
.
$(SUBLEVEL)
\"
>
tools
/version.h
@
echo
\#
define UTS_RELEASE
\"
$(VERSION)
.
$(PATCHLEVEL)
.
$(SUBLEVEL)
\"
>
include/linux
/version.h
@
if
[
-f
.name
]
;
then
\
@
if
[
-f
.name
]
;
then
\
echo
\#
define UTS_VERSION
\"\#
`
cat
.version
`
-
`
cat
.name
`
`
date
`
\"
;
\
echo
\#
define UTS_VERSION
\"\#
`
cat
.version
`
-
`
cat
.name
`
`
date
`
\"
;
\
else
\
else
\
echo
\#
define UTS_VERSION
\"\#
`
cat
.version
`
`
date
`
\"
;
\
echo
\#
define UTS_VERSION
\"\#
`
cat
.version
`
`
date
`
\"
;
\
fi
>>
tools
/version.h
fi
>>
include/linux
/version.h
@
echo
\#
define LINUX_COMPILE_TIME
\"
`
date
+%T
`
\"
>>
tools
/version.h
@
echo
\#
define LINUX_COMPILE_TIME
\"
`
date
+%T
`
\"
>>
include/linux
/version.h
@
echo
\#
define LINUX_COMPILE_BY
\"
`
whoami
`
\"
>>
tools
/version.h
@
echo
\#
define LINUX_COMPILE_BY
\"
`
whoami
`
\"
>>
include/linux
/version.h
@
echo
\#
define LINUX_COMPILE_HOST
\"
`
hostname
`
\"
>>
tools
/version.h
@
echo
\#
define LINUX_COMPILE_HOST
\"
`
hostname
`
\"
>>
include/linux
/version.h
@
if
[
-x
/bin/dnsdomainname
]
;
then
\
@
if
[
-x
/bin/dnsdomainname
]
;
then
\
echo
\#
define LINUX_COMPILE_DOMAIN
\"
`
dnsdomainname
`
\"
;
\
echo
\#
define LINUX_COMPILE_DOMAIN
\"
`
dnsdomainname
`
\"
;
\
else
\
else
\
echo
\#
define LINUX_COMPILE_DOMAIN
\"
`
domainname
`
\"
;
\
echo
\#
define LINUX_COMPILE_DOMAIN
\"
`
domainname
`
\"
;
\
fi
>>
tools
/version.h
fi
>>
include/linux
/version.h
@
echo
\#
define LINUX_COMPILER
\"
`
$(HOSTCC)
-v
2>&1 |
tail
-1
`
\"
>>
tools
/version.h
@
echo
\#
define LINUX_COMPILER
\"
`
$(HOSTCC)
-v
2>&1 |
tail
-1
`
\"
>>
include/linux
/version.h
tools/build
:
tools/build.c $(CONFIGURE)
tools/build
:
tools/build.c $(CONFIGURE)
$(HOSTCC)
$(CFLAGS)
-o
$@
$<
$(HOSTCC)
$(CFLAGS)
-o
$@
$<
...
@@ -155,7 +155,7 @@ boot/head.o: $(CONFIGURE) boot/head.s
...
@@ -155,7 +155,7 @@ boot/head.o: $(CONFIGURE) boot/head.s
boot/head.s
:
boot/head.S $(CONFIGURE) include/linux/tasks.h
boot/head.s
:
boot/head.S $(CONFIGURE) include/linux/tasks.h
$(CPP)
-traditional
$<
-o
$@
$(CPP)
-traditional
$<
-o
$@
tools/version.o
:
tools/version.c
tools
/version.h
tools/version.o
:
tools/version.c
include/linux
/version.h
init/main.o
:
$(CONFIGURE) init/main.c
init/main.o
:
$(CONFIGURE) init/main.c
$(CC)
$(CFLAGS)
$(PROFILING)
-c
-o
$*
.o
$<
$(CC)
$(CFLAGS)
$(PROFILING)
-c
-o
$*
.o
$<
...
@@ -191,7 +191,7 @@ clean: archclean
...
@@ -191,7 +191,7 @@ clean: archclean
rm
-f
.tmp
*
drivers/sound/configure
rm
-f
.tmp
*
drivers/sound/configure
mrproper
:
clean
mrproper
:
clean
rm
-f
include/linux/autoconf.h
tools
/version.h
rm
-f
include/linux/autoconf.h
include/linux
/version.h
rm
-f
drivers/sound/local.h
rm
-f
drivers/sound/local.h
rm
-f
.version .config
*
config.in config.old
rm
-f
.version .config
*
config.in config.old
rm
-f
boot include/asm kernel/entry.S
rm
-f
boot include/asm kernel/entry.S
...
@@ -204,11 +204,11 @@ backup: mrproper
...
@@ -204,11 +204,11 @@ backup: mrproper
sync
sync
depend dep
:
depend dep
:
touch
tools
/version.h
touch
include/linux
/version.h
for
i
in
init/
*
.c
;
do
echo
-n
"init/"
;
$(CPP)
-M
$$
i
;
done
>
.tmpdepend
for
i
in
init/
*
.c
;
do
echo
-n
"init/"
;
$(CPP)
-M
$$
i
;
done
>
.tmpdepend
for
i
in
tools/
*
.c
;
do
echo
-n
"tools/"
;
$(CPP)
-M
$$
i
;
done
>>
.tmpdepend
for
i
in
tools/
*
.c
;
do
echo
-n
"tools/"
;
$(CPP)
-M
$$
i
;
done
>>
.tmpdepend
set
-e
;
for
i
in
$(SUBDIRS)
;
do
$(MAKE)
-C
$$
i dep
;
done
set
-e
;
for
i
in
$(SUBDIRS)
;
do
$(MAKE)
-C
$$
i dep
;
done
rm
-f
tools
/version.h
rm
-f
include/linux
/version.h
mv
.tmpdepend .depend
mv
.tmpdepend .depend
ifdef
CONFIGURATION
ifdef
CONFIGURATION
...
...
arch/sparc/boot/boot.S
View file @
66a2c418
This diff is collapsed.
Click to expand it.
arch/sparc/string.S
0 → 100644
View file @
66a2c418
/*
string.h
:
Efficient
string
functions
in
sparc
-
assembly
for
the
linux
kernel
.
Copyright
1994
(
c
)
David
S
.
Miller
(
davem
@
caip
.
rutgers
.
edu
)
*/
/*
If
we
are
smart
we
will
use
only
the
output
and
global
registers
as
that
will
allow
us
to
avoid
a
window
save
which
would
be
nice
.
*/
/*
Believe
it
or
not
the
following
strlen
is
not
optimized
enough
!
In
the
future
I
may
play
games
with
doing
word
reads
and
reducing
the
per
-
word
comparisons
to
*
one
*,
yes
I
have
seen
it
done
.
*/
.
align
4
.
globl
_strlen
_strlen
:
mov
%
o0
,
%
g3
!
leaf
-
proceedure
optimization
,
here
ldsb
[%
g3
],
%
g2
!
I
only
use
the
register
sent
to
me
cmp
%
g2
,
0
!
and
the
globals
.
Now
,
this
routine
be
1
f
!
is
callable
from
boot
code
.
nop
add
%
o0
,
1
,
%
o0
0
:
ldsb
[%
o0
],
%
g2
cmp
%
g2
,
0
bne
,
a
0
b
!
annuling
branch
,
yuck
add
%
o0
,
1
,
%
o0
1
:
retl
sub
%
o0
,
%
g3
,
%
o0
!
since
%
g3
holds
the
origional
pointer
!
and
%
o0
is
at
the
end
byte
,
we
can
!
subtract
and
the
result
is
strlen
.
/*
String
concatenate
function
.
I
am
too
lazy
to
honor
the
third
count
arguement
at
this
time
.
Once
again
,
this
could
be
optimized
so
much
more
to
use
word
accesses
instead
of
slooow
byte
loads
.
*/
.
align
4
.
globl
_strcat
_strcat
:
mov
%
o0
,
%
g4
ldsb
[%
g4
],
%
g3
cmp
%
g3
,
0
be
,
a
2
f
ldub
[%
o1
],
%
g3
add
%
o0
,
1
,
%
o0
0
:
ldsb
[%
o0
],
%
g3
cmp
%
g3
,
0
bne
,
a
0
b
add
%
o0
,
1
,
%
o0
1
:
ldub
[%
o1
],
%
g3
2
:
add
%
o1
,
1
,
%
o1
stb
%
g3
,
[%
o0
]
cmp
%
g3
,
0
bne
1
b
add
%
o0
,
1
,
%
o0
retl
mov
%
g4
,
%
o0
/*
Aieee
,
this
code
is
starting
to
give
me
a
headache
.
I
shouldn
't
have
tried
to
do
this
in
one
sitting
:
-(
*/
.
align
4
.
globl
_strcmp
_strcmp
:
b
2
f
ldsb
[%
o1
],
%
g4
0
:
sll
%
o2
,
24
,
%
g3
cmp
%
g3
,
0
bne
1
f
add
%
o0
,
1
,
%
o0
b
3
f
or
%
g0
,
%
g0
,
%
o0
1
:
ldsb
[%
o1
],
%
g4
2
:
ldsb
[%
o0
],
%
g3
add
%
o1
,
1
,
%
o1
cmp
%
g3
,
%
g4
be
0
b
mov
%
g3
,
%
o2
ldub
[%
o2
],
%
g3
ldub
[%
o1
-
1
],
%
o0
!
oh
man
,
no
joke
sub
%
g2
,
%
o0
,
%
o0
3
:
retl
nop
/*
Ok
,
strcpy
()
should
be
easy
enough
.
Maybe
I
catch
some
sleep
after
this
one
....
*/
.
align
4
.
globl
_strcpy
_strcpy
:
ldub
[%
o1
],
%
g3
mov
%
o0
,
%
g4
cmp
%
g3
,
0
be
1
f
stb
%
g3
,
[%
g4
]
0
:
add
%
o1
,
1
,
%
o1
ldub
[%
o1
],
%
g3
add
%
o0
,
1
,
%
o0
cmp
%
g3
,
0
bne
0
b
stb
%
g3
,
[%
o0
]
1
:
retl
mov
%
g4
,
%
o0
\ No newline at end of file
drivers/block/floppy.c
View file @
66a2c418
...
@@ -82,8 +82,7 @@
...
@@ -82,8 +82,7 @@
*/
*/
#define CONFIG_FLOPPY_SANITY
#define CONFIG_FLOPPY_SANITY
#undef CONFIG_FLOPPY_23
#define CONFIG_FLOPPY_2_FDC
#undef CONFIG_FLOPPY_2_FDC
#undef CONFIG_FLOPPY_SILENT_DCL_CLEAR
#undef CONFIG_FLOPPY_SILENT_DCL_CLEAR
#define REALLY_SLOW_IO
#define REALLY_SLOW_IO
...
@@ -99,16 +98,12 @@
...
@@ -99,16 +98,12 @@
* motor of these drives causes system hangs on some PCI computers. drive
* motor of these drives causes system hangs on some PCI computers. drive
* 0 is the low bit (0x1), and drive 7 is the high bit (0x80). Bits are on if
* 0 is the low bit (0x1), and drive 7 is the high bit (0x80). Bits are on if
* a drive is allowed. */
* a drive is allowed. */
#ifdef CONFIG_FLOPPY_23
static
int
ALLOWED_DRIVE_MASK
=
0x33
;
#define ALLOWED_DRIVE_MASK 0xff
#else
#define ALLOWED_DRIVE_MASK 0x33
#endif
#define FLOPPY_IRQ 6
#define FLOPPY_IRQ 6
#define FLOPPY_DMA 2
#define FLOPPY_DMA 2
#define FDC1 0x3f0
#define FDC1 0x3f0
#define FDC2 0x370
static
int
FDC2
=-
1
;
#endif
#endif
#define MODULE_AWARE_DRIVER
#define MODULE_AWARE_DRIVER
...
@@ -236,6 +231,7 @@ static int inr; /* size of reply buffer, when called from interrupt */
...
@@ -236,6 +231,7 @@ static int inr; /* size of reply buffer, when called from interrupt */
#define R_SECTOR (reply_buffer[5])
#define R_SECTOR (reply_buffer[5])
#define R_SIZECODE (reply_buffer[6])
#define R_SIZECODE (reply_buffer[6])
#define ARRAY_SIZE(x) (sizeof(x) / sizeof( (x)[0] ))
/*
/*
* this struct defines the different floppy drive types.
* this struct defines the different floppy drive types.
*/
*/
...
@@ -1500,9 +1496,11 @@ void show_floppy(void)
...
@@ -1500,9 +1496,11 @@ void show_floppy(void)
printk
(
"floppy driver state
\n
"
);
printk
(
"floppy driver state
\n
"
);
printk
(
"-------------------
\n
"
);
printk
(
"-------------------
\n
"
);
for
(
i
=
0
;
i
<
N_FDC
;
i
++
){
for
(
i
=
0
;
i
<
N_FDC
;
i
++
){
printk
(
"dor %d = %x
\n
"
,
i
,
fdc_state
[
i
].
dor
);
if
(
FDCS
->
address
!=
-
1
){
outb_p
(
fdc_state
[
i
].
address
+
2
,
fdc_state
[
i
].
dor
);
printk
(
"dor %d = %x
\n
"
,
i
,
fdc_state
[
i
].
dor
);
udelay
(
1000
);
/* maybe we'll catch an interrupt... */
outb_p
(
fdc_state
[
i
].
address
+
2
,
fdc_state
[
i
].
dor
);
udelay
(
1000
);
/* maybe we'll catch an interrupt... */
}
}
}
printk
(
"status=%x
\n
"
,
inb_p
(
FD_STATUS
));
printk
(
"status=%x
\n
"
,
inb_p
(
FD_STATUS
));
printk
(
"fdc_busy=%d
\n
"
,
fdc_busy
);
printk
(
"fdc_busy=%d
\n
"
,
fdc_busy
);
...
@@ -3163,6 +3161,57 @@ static char get_fdc_version(void)
...
@@ -3163,6 +3161,57 @@ static char get_fdc_version(void)
return
FDC_82077
;
/* Revised 82077AA passes all the tests */
return
FDC_82077
;
/* Revised 82077AA passes all the tests */
}
/* get_fdc_version */
}
/* get_fdc_version */
#ifndef FD_MODULE
/* lilo configuration */
static
void
invert_dcl
(
int
*
ints
)
{
int
i
;
for
(
i
=
0
;
i
<
ARRAY_SIZE
(
default_drive_params
);
i
++
)
default_drive_params
[
i
].
params
.
flags
|=
0x80
;
DPRINT
(
"Configuring drives for inverted dcl
\n
"
);
}
static
void
allow_drives
(
int
*
ints
)
{
if
(
ints
[
1
]
>=
1
){
ALLOWED_DRIVE_MASK
=
ints
[
1
];
DPRINT1
(
"setting allowed_drive_mask to 0x%x
\n
"
,
ints
[
1
]);
}
else
DPRINT
(
"allowed_drive_mask needs a parameter
\n
"
);
}
#ifdef CONFIG_FLOPPY_2_FDC
static
void
twofdc
(
int
*
ints
)
{
FDC2
=
0x370
;
DPRINT
(
"enabling second fdc at address 0x370
\n
"
);
}
#endif
static
struct
param_table
{
char
*
name
;
void
(
*
fn
)(
int
*
ints
);
}
config_params
[]
=
{
{
"allowed_drive_mask"
,
allow_drives
},
#ifdef CONFIG_FLOPPY_2_FDC
{
"two_fdc"
,
twofdc
},
#endif
{
"thinkpad"
,
invert_dcl
}
};
void
floppy_setup
(
char
*
str
,
int
*
ints
)
{
int
i
;
for
(
i
=
0
;
i
<
ARRAY_SIZE
(
config_params
);
i
++
){
if
(
strcmp
(
str
,
config_params
[
i
].
name
)
==
0
){
config_params
[
i
].
fn
(
ints
);
return
;
}
}
printk
(
"unknown floppy paramter %s
\n
"
,
str
);
}
#endif
#ifdef FD_MODULE
#ifdef FD_MODULE
static
static
#endif
#endif
...
@@ -3230,12 +3279,16 @@ int new_floppy_init(void)
...
@@ -3230,12 +3279,16 @@ int new_floppy_init(void)
if
(
FDCS
->
address
==
-
1
)
if
(
FDCS
->
address
==
-
1
)
continue
;
continue
;
FDCS
->
rawcmd
=
2
;
FDCS
->
rawcmd
=
2
;
if
(
user_reset_fdc
(
-
1
,
FD_RESET_IF_NEEDED
,
0
))
if
(
user_reset_fdc
(
-
1
,
FD_RESET_IF_NEEDED
,
0
)){
FDCS
->
address
=
-
1
;
continue
;
continue
;
}
/* Try to determine the floppy controller type */
/* Try to determine the floppy controller type */
FDCS
->
version
=
get_fdc_version
();
FDCS
->
version
=
get_fdc_version
();
if
(
FDCS
->
version
==
FDC_NONE
)
if
(
FDCS
->
version
==
FDC_NONE
){
FDCS
->
address
=
-
1
;
continue
;
continue
;
}
have_no_fdc
=
0
;
have_no_fdc
=
0
;
/* Not all FDCs seem to be able to handle the version command
/* Not all FDCs seem to be able to handle the version command
...
@@ -3272,10 +3325,12 @@ static int floppy_grab_irq_and_dma(void)
...
@@ -3272,10 +3325,12 @@ static int floppy_grab_irq_and_dma(void)
#ifdef FD_MODULE
#ifdef FD_MODULE
MOD_INC_USE_COUNT
;
MOD_INC_USE_COUNT
;
#endif
#endif
for
(
i
=
0
;
i
<
N_FDC
;
i
++
){
for
(
i
=
0
;
i
<
N_FDC
;
i
++
){
fdc
=
i
;
if
(
FDCS
->
address
!=
-
1
){
reset_fdc_info
(
1
);
fdc
=
i
;
outb_p
(
FDCS
->
dor
,
FD_DOR
);
reset_fdc_info
(
1
);
outb_p
(
FDCS
->
dor
,
FD_DOR
);
}
}
}
set_dor
(
0
,
~
0
,
8
);
/* avoid immediate interrupt */
set_dor
(
0
,
~
0
,
8
);
/* avoid immediate interrupt */
...
...
drivers/char/lp.c
View file @
66a2c418
...
@@ -34,7 +34,7 @@ struct lp_struct lp_table[] = {
...
@@ -34,7 +34,7 @@ struct lp_struct lp_table[] = {
#ifdef MODULE
#ifdef MODULE
#include <linux/module.h>
#include <linux/module.h>
#include
"../../tools/version.h"
#include
<linux/version.h>
#endif
#endif
/*
/*
...
@@ -467,7 +467,7 @@ long lp_init(long kmem_start)
...
@@ -467,7 +467,7 @@ long lp_init(long kmem_start)
if
(
testvalue
==
LP_DUMMY
)
{
if
(
testvalue
==
LP_DUMMY
)
{
LP_F
(
offset
)
|=
LP_EXIST
;
LP_F
(
offset
)
|=
LP_EXIST
;
lp_reset
(
offset
);
lp_reset
(
offset
);
printk
(
"lp
_init: lp%d exists, "
,
offset
);
printk
(
"lp
%d at 0x%04x, "
,
offset
,
LP_B
(
offset
)
);
snarf_region
(
LP_B
(
offset
),
3
);
snarf_region
(
LP_B
(
offset
),
3
);
if
(
LP_IRQ
(
offset
))
if
(
LP_IRQ
(
offset
))
printk
(
"using IRQ%d
\n
"
,
LP_IRQ
(
offset
));
printk
(
"using IRQ%d
\n
"
,
LP_IRQ
(
offset
));
...
@@ -505,7 +505,8 @@ int init_module(void)
...
@@ -505,7 +505,8 @@ int init_module(void)
if
(
testvalue
==
LP_DUMMY
)
{
if
(
testvalue
==
LP_DUMMY
)
{
LP_F
(
offset
)
|=
LP_EXIST
;
LP_F
(
offset
)
|=
LP_EXIST
;
lp_reset
(
offset
);
lp_reset
(
offset
);
printk
(
"lp_init: lp%d exists, "
,
offset
);
printk
(
"lp%d at 0x%04x, "
,
offset
,
LP_B
(
offset
));
snarf_region
(
LP_B
(
offset
),
3
);
if
(
LP_IRQ
(
offset
))
if
(
LP_IRQ
(
offset
))
printk
(
"using IRQ%d
\n
"
,
LP_IRQ
(
offset
));
printk
(
"using IRQ%d
\n
"
,
LP_IRQ
(
offset
));
else
else
...
@@ -520,10 +521,14 @@ int init_module(void)
...
@@ -520,10 +521,14 @@ int init_module(void)
void
cleanup_module
(
void
)
void
cleanup_module
(
void
)
{
{
if
(
MOD_IN_USE
)
int
offset
;
if
(
MOD_IN_USE
)
printk
(
"lp: busy - remove delayed
\n
"
);
printk
(
"lp: busy - remove delayed
\n
"
);
else
else
unregister_chrdev
(
LP_MAJOR
,
"lp"
);
unregister_chrdev
(
LP_MAJOR
,
"lp"
);
for
(
offset
=
0
;
offset
<
LP_NO
;
offset
++
)
if
(
LP_F
(
offset
)
&&
LP_EXIST
)
release_region
(
LP_B
(
offset
),
3
);
}
}
#endif
#endif
drivers/net/3c501.c
View file @
66a2c418
...
@@ -45,7 +45,7 @@ static char *version =
...
@@ -45,7 +45,7 @@ static char *version =
#ifdef MODULE
#ifdef MODULE
#include <linux/module.h>
#include <linux/module.h>
#include
"../../tools/version.h"
#include
<linux/version.h>
#endif
#endif
extern
struct
device
*
init_etherdev
(
struct
device
*
dev
,
int
sizeof_private
,
extern
struct
device
*
init_etherdev
(
struct
device
*
dev
,
int
sizeof_private
,
...
...
drivers/net/3c509.c
View file @
66a2c418
...
@@ -44,7 +44,7 @@ static char *version = "3c509.c:1.03 10/8/94 becker@cesdis.gsfc.nasa.gov\n";
...
@@ -44,7 +44,7 @@ static char *version = "3c509.c:1.03 10/8/94 becker@cesdis.gsfc.nasa.gov\n";
#include <linux/skbuff.h>
#include <linux/skbuff.h>
#ifdef MODULE
#ifdef MODULE
#include <linux/module.h>
#include <linux/module.h>
#include
"../../tools/version.h"
#include
<linux/version.h>
#endif
#endif
...
...
drivers/net/8390.c
View file @
66a2c418
...
@@ -54,7 +54,7 @@ static char *version =
...
@@ -54,7 +54,7 @@ static char *version =
#ifdef MODULE
#ifdef MODULE
#include <linux/module.h>
#include <linux/module.h>
#include
"../../tools/version.h"
#include
<linux/version.h>
#endif
#endif
/* These are the operational function interfaces to board-specific
/* These are the operational function interfaces to board-specific
...
...
drivers/net/MODULES
View file @
66a2c418
...
@@ -3,6 +3,7 @@ MODULES = \
...
@@ -3,6 +3,7 @@ MODULES = \
de600.o \
de600.o \
de620.o \
de620.o \
3c501.o \
3c501.o \
apricot.o \
eexpress.o \
eexpress.o \
plip.o \
plip.o \
8390.o
8390.o
drivers/net/Space.c
View file @
66a2c418
...
@@ -28,8 +28,6 @@
...
@@ -28,8 +28,6 @@
#include <linux/netdevice.h>
#include <linux/netdevice.h>
#include <linux/errno.h>
#include <linux/errno.h>
#define LOOPBACK
/* always present, right? */
#define NEXT_DEV NULL
#define NEXT_DEV NULL
...
@@ -49,6 +47,7 @@ extern int el3_probe(struct device *);
...
@@ -49,6 +47,7 @@ extern int el3_probe(struct device *);
extern
int
at1500_probe
(
struct
device
*
);
extern
int
at1500_probe
(
struct
device
*
);
extern
int
at1700_probe
(
struct
device
*
);
extern
int
at1700_probe
(
struct
device
*
);
extern
int
depca_probe
(
struct
device
*
);
extern
int
depca_probe
(
struct
device
*
);
extern
int
apricot_probe
(
struct
device
*
);
extern
int
ewrk3_probe
(
struct
device
*
);
extern
int
ewrk3_probe
(
struct
device
*
);
extern
int
el1_probe
(
struct
device
*
);
extern
int
el1_probe
(
struct
device
*
);
extern
int
el16_probe
(
struct
device
*
);
extern
int
el16_probe
(
struct
device
*
);
...
@@ -112,6 +111,9 @@ ethif_probe(struct device *dev)
...
@@ -112,6 +111,9 @@ ethif_probe(struct device *dev)
#ifdef CONFIG_EWRK3
/* DEC EtherWORKS 3 */
#ifdef CONFIG_EWRK3
/* DEC EtherWORKS 3 */
&&
ewrk3_probe
(
dev
)
&&
ewrk3_probe
(
dev
)
#endif
#endif
#ifdef CONFIG_APRICOT
/* Apricot I82596 */
&&
apricot_probe
(
dev
)
#endif
#ifdef CONFIG_EL1
/* 3c501 */
#ifdef CONFIG_EL1
/* 3c501 */
&&
el1_probe
(
dev
)
&&
el1_probe
(
dev
)
#endif
#endif
...
@@ -289,9 +291,8 @@ static struct device ppp0_dev = {
...
@@ -289,9 +291,8 @@ static struct device ppp0_dev = {
# define NEXT_DEV (&dummy_dev)
# define NEXT_DEV (&dummy_dev)
#endif
#endif
#ifdef LOOPBACK
extern
int
loopback_init
(
struct
device
*
dev
);
extern
int
loopback_init
(
struct
device
*
dev
);
struct
device
loopback_dev
=
{
static
struct
device
loopback_dev
=
{
"lo"
,
/* Software Loopback interface */
"lo"
,
/* Software Loopback interface */
0x0
,
/* recv memory end */
0x0
,
/* recv memory end */
0x0
,
/* recv memory start */
0x0
,
/* recv memory start */
...
@@ -302,10 +303,6 @@ static struct device ppp0_dev = {
...
@@ -302,10 +303,6 @@ static struct device ppp0_dev = {
0
,
0
,
0
,
/* flags */
0
,
0
,
0
,
/* flags */
NEXT_DEV
,
/* next device */
NEXT_DEV
,
/* next device */
loopback_init
/* loopback_init should set up the rest */
loopback_init
/* loopback_init should set up the rest */
};
};
# undef NEXT_DEV
# define NEXT_DEV (&loopback_dev)
#endif
struct
device
*
dev_base
=
NEXT_DEV
;
struct
device
*
dev_base
=
&
loopback_dev
;
drivers/net/apricot.c
View file @
66a2c418
This diff is collapsed.
Click to expand it.
drivers/net/de600.c
View file @
66a2c418
...
@@ -110,7 +110,7 @@ unsigned int de600_debug = DE600_DEBUG;
...
@@ -110,7 +110,7 @@ unsigned int de600_debug = DE600_DEBUG;
#ifdef MODULE
#ifdef MODULE
#include <linux/module.h>
#include <linux/module.h>
#include
"../../tools/version.h"
#include
<linux/version.h>
#endif
#endif
#ifdef FAKE_SMALL_MAX
#ifdef FAKE_SMALL_MAX
...
...
drivers/net/de620.c
View file @
66a2c418
...
@@ -121,7 +121,7 @@ static char *version =
...
@@ -121,7 +121,7 @@ static char *version =
#ifdef MODULE
#ifdef MODULE
#include <linux/module.h>
#include <linux/module.h>
#include
"../../tools/version.h"
#include
<linux/version.h>
#endif
#endif
/* Constant definitions for the DE-620 registers, commands and bits */
/* Constant definitions for the DE-620 registers, commands and bits */
...
...
drivers/net/depca.c
View file @
66a2c418
...
@@ -188,7 +188,7 @@ static char *version = "depca.c:v0.38 8/15/94 davies@wanton.lkg.dec.com\n";
...
@@ -188,7 +188,7 @@ static char *version = "depca.c:v0.38 8/15/94 davies@wanton.lkg.dec.com\n";
#ifdef MODULE
#ifdef MODULE
#include <linux/module.h>
#include <linux/module.h>
#include
"/linux/tools/version.h"
#include
<linux/version.h>
#endif
/* MODULE */
#endif
/* MODULE */
#include "depca.h"
#include "depca.h"
...
...
drivers/net/eexpress.c
View file @
66a2c418
...
@@ -57,7 +57,7 @@ static char *version =
...
@@ -57,7 +57,7 @@ static char *version =
#include <linux/skbuff.h>
#include <linux/skbuff.h>
#ifdef MODULE
#ifdef MODULE
#include <linux/module.h>
#include <linux/module.h>
#include
"../../tools/version.h"
#include
<linux/version.h>
#endif
#endif
#include <linux/malloc.h>
#include <linux/malloc.h>
...
...
drivers/net/ewrk3.c
View file @
66a2c418
...
@@ -149,7 +149,7 @@ static char *version = "ewrk3.c:v0.30 11/1/94 davies@wanton.lkg.dec.com\n";
...
@@ -149,7 +149,7 @@ static char *version = "ewrk3.c:v0.30 11/1/94 davies@wanton.lkg.dec.com\n";
#ifdef MODULE
#ifdef MODULE
#include <linux/module.h>
#include <linux/module.h>
#include
"/linux/tools/version.h"
#include
<linux/version.h>
#endif
/* MODULE */
#endif
/* MODULE */
#include "ewrk3.h"
#include "ewrk3.h"
...
...
drivers/net/net_init.c
View file @
66a2c418
...
@@ -67,9 +67,6 @@ unsigned long net_dev_init (unsigned long mem_start, unsigned long mem_end)
...
@@ -67,9 +67,6 @@ unsigned long net_dev_init (unsigned long mem_start, unsigned long mem_end)
#endif
#endif
#if defined(CONFIG_PI)
#if defined(CONFIG_PI)
mem_start
=
pi_init
(
mem_start
,
mem_end
);
mem_start
=
pi_init
(
mem_start
,
mem_end
);
#endif
#if defined(CONFIG_APRICOT)
mem_start
=
apricot_init
(
mem_start
,
mem_end
);
#endif
#endif
return
mem_start
;
return
mem_start
;
}
}
...
...
drivers/net/plip.c
View file @
66a2c418
...
@@ -92,7 +92,7 @@ make one yourself. The wiring is:
...
@@ -92,7 +92,7 @@ make one yourself. The wiring is:
#ifdef MODULE
#ifdef MODULE
#include <linux/module.h>
#include <linux/module.h>
#include
"../../tools/version.h"
#include
<linux/version.h>
#endif
#endif
/* use 0 for production, 1 for verification, >2 for debug */
/* use 0 for production, 1 for verification, >2 for debug */
...
...
drivers/net/znet.c
View file @
66a2c418
...
@@ -548,18 +548,15 @@ static void znet_rx(struct device *dev)
...
@@ -548,18 +548,15 @@ static void znet_rx(struct device *dev)
lp
->
stats
.
rx_length_errors
++
;
lp
->
stats
.
rx_length_errors
++
;
}
else
{
}
else
{
/* Malloc up new buffer. */
/* Malloc up new buffer. */
int
sksize
=
sizeof
(
struct
sk_buff
)
+
pkt_len
;
struct
sk_buff
*
skb
;
struct
sk_buff
*
skb
;
skb
=
alloc_skb
(
sksize
,
GFP_ATOMIC
);
skb
=
alloc_skb
(
pkt_len
,
GFP_ATOMIC
);
if
(
skb
==
NULL
)
{
if
(
skb
==
NULL
)
{
if
(
znet_debug
)
if
(
znet_debug
)
printk
(
KERN_WARNING
"%s: Memory squeeze, dropping packet.
\n
"
,
dev
->
name
);
printk
(
KERN_WARNING
"%s: Memory squeeze, dropping packet.
\n
"
,
dev
->
name
);
lp
->
stats
.
rx_dropped
++
;
lp
->
stats
.
rx_dropped
++
;
break
;
break
;
}
}
skb
->
mem_len
=
sksize
;
skb
->
mem_addr
=
skb
;
skb
->
len
=
pkt_len
;
skb
->
len
=
pkt_len
;
skb
->
dev
=
dev
;
skb
->
dev
=
dev
;
...
...
drivers/scsi/sg.c
View file @
66a2c418
...
@@ -58,6 +58,7 @@ struct scsi_generic
...
@@ -58,6 +58,7 @@ struct scsi_generic
};
};
static
struct
scsi_generic
*
scsi_generics
=
NULL
;
static
struct
scsi_generic
*
scsi_generics
=
NULL
;
static
void
sg_free
(
char
*
buff
,
int
size
);
static
int
sg_ioctl
(
struct
inode
*
inode
,
struct
file
*
file
,
static
int
sg_ioctl
(
struct
inode
*
inode
,
struct
file
*
file
,
unsigned
int
cmd_in
,
unsigned
long
arg
)
unsigned
int
cmd_in
,
unsigned
long
arg
)
...
@@ -109,7 +110,7 @@ static int sg_open(struct inode * inode, struct file * filp)
...
@@ -109,7 +110,7 @@ static int sg_open(struct inode * inode, struct file * filp)
if
(
!
scsi_generics
[
dev
].
users
&&
scsi_generics
[
dev
].
pending
&&
scsi_generics
[
dev
].
complete
)
if
(
!
scsi_generics
[
dev
].
users
&&
scsi_generics
[
dev
].
pending
&&
scsi_generics
[
dev
].
complete
)
{
{
if
(
scsi_generics
[
dev
].
buff
!=
NULL
)
if
(
scsi_generics
[
dev
].
buff
!=
NULL
)
s
csi
_free
(
scsi_generics
[
dev
].
buff
,
scsi_generics
[
dev
].
buff_len
);
s
g
_free
(
scsi_generics
[
dev
].
buff
,
scsi_generics
[
dev
].
buff_len
);
scsi_generics
[
dev
].
buff
=
NULL
;
scsi_generics
[
dev
].
buff
=
NULL
;
scsi_generics
[
dev
].
pending
=
0
;
scsi_generics
[
dev
].
pending
=
0
;
}
}
...
...
fs/binfmt_elf.c
View file @
66a2c418
...
@@ -29,7 +29,7 @@
...
@@ -29,7 +29,7 @@
#ifndef CONFIG_BINFMT_ELF
#ifndef CONFIG_BINFMT_ELF
#include <linux/module.h>
#include <linux/module.h>
#include
"../tools/version.h"
#include
<linux/version.h>
#endif
#endif
#include <linux/unistd.h>
#include <linux/unistd.h>
...
...
fs/isofs/inode.c
View file @
66a2c418
...
@@ -22,7 +22,7 @@
...
@@ -22,7 +22,7 @@
#ifdef MODULE
#ifdef MODULE
#include <linux/module.h>
#include <linux/module.h>
#include
"../../tools/version.h"
#include
<linux/version.h>
#endif
#endif
#ifdef LEAK_CHECK
#ifdef LEAK_CHECK
...
...
fs/msdos/inode.c
View file @
66a2c418
...
@@ -17,7 +17,7 @@
...
@@ -17,7 +17,7 @@
#ifdef MODULE
#ifdef MODULE
#include <linux/module.h>
#include <linux/module.h>
#include
"../../tools/version.h"
#include
<linux/version.h>
#endif
#endif
#include <asm/segment.h>
#include <asm/segment.h>
...
...
fs/proc/array.c
View file @
66a2c418
...
@@ -29,6 +29,7 @@
...
@@ -29,6 +29,7 @@
#include <linux/string.h>
#include <linux/string.h>
#include <linux/mman.h>
#include <linux/mman.h>
#include <linux/proc_fs.h>
#include <linux/proc_fs.h>
#include <linux/ioport.h>
#include <asm/segment.h>
#include <asm/segment.h>
#include <asm/io.h>
#include <asm/io.h>
...
@@ -529,6 +530,8 @@ static int get_root_array(char * page, int type)
...
@@ -529,6 +530,8 @@ static int get_root_array(char * page, int type)
case
PROC_DMA
:
case
PROC_DMA
:
return
get_dma_list
(
page
);
return
get_dma_list
(
page
);
case
PROC_IOPORTS
:
return
get_ioport_list
(
page
);
}
}
return
-
EBADF
;
return
-
EBADF
;
}
}
...
...
fs/proc/root.c
View file @
66a2c418
...
@@ -73,6 +73,7 @@ static struct proc_dir_entry root_dir[] = {
...
@@ -73,6 +73,7 @@ static struct proc_dir_entry root_dir[] = {
{
PROC_FILESYSTEMS
,
11
,
"filesystems"
},
{
PROC_FILESYSTEMS
,
11
,
"filesystems"
},
{
PROC_KSYMS
,
5
,
"ksyms"
},
{
PROC_KSYMS
,
5
,
"ksyms"
},
{
PROC_DMA
,
3
,
"dma"
},
{
PROC_DMA
,
3
,
"dma"
},
{
PROC_IOPORTS
,
7
,
"ioports"
},
};
};
#define NR_ROOT_DIRENTRY ((sizeof (root_dir))/(sizeof (root_dir[0])))
#define NR_ROOT_DIRENTRY ((sizeof (root_dir))/(sizeof (root_dir[0])))
...
...
fs/sysv/inode.c
View file @
66a2c418
...
@@ -32,7 +32,7 @@
...
@@ -32,7 +32,7 @@
#ifdef MODULE
#ifdef MODULE
#include <linux/module.h>
#include <linux/module.h>
#include
"../../tools/version.h"
#include
<linux/version.h>
#else
#else
#define MOD_INC_USE_COUNT
#define MOD_INC_USE_COUNT
#define MOD_DEC_USE_COUNT
#define MOD_DEC_USE_COUNT
...
...
fs/umsdos/inode.c
View file @
66a2c418
...
@@ -19,7 +19,7 @@
...
@@ -19,7 +19,7 @@
#ifdef MODULE
#ifdef MODULE
#include <linux/module.h>
#include <linux/module.h>
#include
"../../tools/version.h"
#include
<linux/version.h>
#endif
#endif
struct
inode
*
pseudo_root
=
NULL
;
/* Useful to simulate the pseudo DOS */
struct
inode
*
pseudo_root
=
NULL
;
/* Useful to simulate the pseudo DOS */
...
...
fs/xiafs/inode.c
View file @
66a2c418
...
@@ -21,7 +21,7 @@
...
@@ -21,7 +21,7 @@
#ifdef MODULE
#ifdef MODULE
#include <linux/module.h>
#include <linux/module.h>
#include
"../../tools/version.h"
#include
<linux/version.h>
#else
#else
#define MOD_INC_USE_COUNT
#define MOD_INC_USE_COUNT
#define MOD_DEC_USE_COUNT
#define MOD_DEC_USE_COUNT
...
...
include/asm-m68k/system.h
View file @
66a2c418
...
@@ -15,7 +15,7 @@
...
@@ -15,7 +15,7 @@
#ifndef _M68K_SYSTEM_H
#ifndef _M68K_SYSTEM_H
#define _M68K_SYSTEM_H
#define _M68K_SYSTEM_H
#include <linux/autoconf.h>
/* get configuration ma
k
ros */
#include <linux/autoconf.h>
/* get configuration ma
c
ros */
#if defined(CONFIG_ATARI) && !defined(CONFIG_AMIGA) && !defined(CONFIG_MAC)
#if defined(CONFIG_ATARI) && !defined(CONFIG_AMIGA) && !defined(CONFIG_MAC)
/* block out HSYNC on the atari */
/* block out HSYNC on the atari */
...
...
include/linux/fd.h
View file @
66a2c418
...
@@ -127,6 +127,7 @@ struct floppy_drive_params {
...
@@ -127,6 +127,7 @@ struct floppy_drive_params {
#define FD_BROKEN_DCL 0x20
#define FD_BROKEN_DCL 0x20
#define FD_DEBUG 0x02
#define FD_DEBUG 0x02
#define FD_SILENT_DCL_CLEAR 0x4
#define FD_SILENT_DCL_CLEAR 0x4
#define FD_INVERTED_DCL 0x80
char
read_track
;
/* use readtrack during probing? */
char
read_track
;
/* use readtrack during probing? */
...
...
include/linux/ioport.h
View file @
66a2c418
...
@@ -20,6 +20,7 @@ extern void reserve_setup(char *str, int *ints);
...
@@ -20,6 +20,7 @@ extern void reserve_setup(char *str, int *ints);
extern
int
check_region
(
unsigned
int
from
,
unsigned
int
extent
);
extern
int
check_region
(
unsigned
int
from
,
unsigned
int
extent
);
extern
void
snarf_region
(
unsigned
int
from
,
unsigned
int
extent
);
extern
void
snarf_region
(
unsigned
int
from
,
unsigned
int
extent
);
extern
void
release_region
(
unsigned
int
from
,
unsigned
int
extent
);
extern
void
release_region
(
unsigned
int
from
,
unsigned
int
extent
);
extern
int
get_ioport_list
(
char
*
);
#define HAVE_AUTOIRQ
#define HAVE_AUTOIRQ
...
...
include/linux/netdevice.h
View file @
66a2c418
...
@@ -180,6 +180,7 @@ struct packet_type {
...
@@ -180,6 +180,7 @@ struct packet_type {
extern
volatile
char
in_bh
;
extern
volatile
char
in_bh
;
extern
struct
device
loopback_dev
;
extern
struct
device
*
dev_base
;
extern
struct
device
*
dev_base
;
extern
struct
packet_type
*
ptype_base
;
extern
struct
packet_type
*
ptype_base
;
...
...
include/linux/proc_fs.h
View file @
66a2c418
...
@@ -25,7 +25,8 @@ enum root_directory_inos {
...
@@ -25,7 +25,8 @@ enum root_directory_inos {
PROC_INTERRUPTS
,
PROC_INTERRUPTS
,
PROC_FILESYSTEMS
,
PROC_FILESYSTEMS
,
PROC_KSYMS
,
PROC_KSYMS
,
PROC_DMA
PROC_DMA
,
PROC_IOPORTS
};
};
enum
pid_directory_inos
{
enum
pid_directory_inos
{
...
...
init/main.c
View file @
66a2c418
...
@@ -84,6 +84,7 @@ extern void hd_setup(char *str, int *ints);
...
@@ -84,6 +84,7 @@ extern void hd_setup(char *str, int *ints);
extern
void
bmouse_setup
(
char
*
str
,
int
*
ints
);
extern
void
bmouse_setup
(
char
*
str
,
int
*
ints
);
extern
void
eth_setup
(
char
*
str
,
int
*
ints
);
extern
void
eth_setup
(
char
*
str
,
int
*
ints
);
extern
void
xd_setup
(
char
*
str
,
int
*
ints
);
extern
void
xd_setup
(
char
*
str
,
int
*
ints
);
extern
void
floppy_setup
(
char
*
str
,
int
*
ints
);
extern
void
mcd_setup
(
char
*
str
,
int
*
ints
);
extern
void
mcd_setup
(
char
*
str
,
int
*
ints
);
extern
void
st_setup
(
char
*
str
,
int
*
ints
);
extern
void
st_setup
(
char
*
str
,
int
*
ints
);
extern
void
st0x_setup
(
char
*
str
,
int
*
ints
);
extern
void
st0x_setup
(
char
*
str
,
int
*
ints
);
...
@@ -221,6 +222,9 @@ struct {
...
@@ -221,6 +222,9 @@ struct {
#ifdef CONFIG_BLK_DEV_XD
#ifdef CONFIG_BLK_DEV_XD
{
"xd="
,
xd_setup
},
{
"xd="
,
xd_setup
},
#endif
#endif
#ifdef CONFIG_BLK_DEV_FD
{
"floppy="
,
floppy_setup
},
#endif
#ifdef CONFIG_MCD
#ifdef CONFIG_MCD
{
"mcd="
,
mcd_setup
},
{
"mcd="
,
mcd_setup
},
#endif
#endif
...
...
kernel/ioport.c
View file @
66a2c418
...
@@ -108,6 +108,26 @@ asmlinkage int check_bitmap(unsigned long *bitmap, short base, short extent)
...
@@ -108,6 +108,26 @@ asmlinkage int check_bitmap(unsigned long *bitmap, short base, short extent)
return
0
;
return
0
;
}
}
int
get_ioport_list
(
char
*
buf
)
{
int
len
=
0
,
num
,
from
;
for
(
num
=
0
;
num
<
IO_BITMAP_SIZE
*
32
;
num
++
)
if
(
check_bitmap
(
ioport_registrar
,
num
,
1
))
{
from
=
num
;
while
(
check_bitmap
(
ioport_registrar
,
num
+
1
,
1
)
&&
num
+
1
<
IO_BITMAP_SIZE
*
32
)
num
++
;
if
(
from
==
num
)
len
+=
sprintf
(
buf
+
len
,
"%04x
\n
"
,
num
);
else
len
+=
sprintf
(
buf
+
len
,
"%04x-%04x
\n
"
,
from
,
num
);
if
(
len
>
4000
)
{
len
+=
sprintf
((
buf
+
len
),
"4k-Limit reached!
\n
"
);
return
len
;
}
}
return
len
;
}
/*
/*
* this changes the io permissions bitmap in the current task.
* this changes the io permissions bitmap in the current task.
*/
*/
...
...
kernel/ksyms.c
View file @
66a2c418
...
@@ -76,6 +76,7 @@ struct symbol_table symbol_table = { 0, 0, 0, /* for stacked module support */
...
@@ -76,6 +76,7 @@ struct symbol_table symbol_table = { 0, 0, 0, /* for stacked module support */
#ifdef CONFIG_PCI
#ifdef CONFIG_PCI
/* PCI BIOS support */
/* PCI BIOS support */
X
(
pcibios_present
),
X
(
pcibios_find_class
),
X
(
pcibios_find_class
),
X
(
pcibios_find_device
),
X
(
pcibios_find_device
),
X
(
pcibios_read_config_byte
),
X
(
pcibios_read_config_byte
),
...
@@ -235,6 +236,7 @@ struct symbol_table symbol_table = { 0, 0, 0, /* for stacked module support */
...
@@ -235,6 +236,7 @@ struct symbol_table symbol_table = { 0, 0, 0, /* for stacked module support */
X
(
ftape_big_buffer
),
X
(
ftape_big_buffer
),
X
(
do_floppy
),
X
(
do_floppy
),
#endif
#endif
X
(
floppy_track_buffer
),
#ifdef CONFIG_INET
#ifdef CONFIG_INET
/* support for loadable net drivers */
/* support for loadable net drivers */
X
(
register_netdev
),
X
(
register_netdev
),
...
@@ -244,6 +246,7 @@ struct symbol_table symbol_table = { 0, 0, 0, /* for stacked module support */
...
@@ -244,6 +246,7 @@ struct symbol_table symbol_table = { 0, 0, 0, /* for stacked module support */
X
(
kfree_skb
),
X
(
kfree_skb
),
X
(
dev_kfree_skb
),
X
(
dev_kfree_skb
),
X
(
snarf_region
),
X
(
snarf_region
),
X
(
release_region
),
X
(
netif_rx
),
X
(
netif_rx
),
X
(
dev_rint
),
X
(
dev_rint
),
X
(
dev_tint
),
X
(
dev_tint
),
...
...
mm/filemap.c
View file @
66a2c418
...
@@ -213,8 +213,13 @@ int generic_mmap(struct inode * inode, struct file * file, struct vm_area_struct
...
@@ -213,8 +213,13 @@ int generic_mmap(struct inode * inode, struct file * file, struct vm_area_struct
return
-
ENOEXEC
;
return
-
ENOEXEC
;
ops
=
&
file_private_mmap
;
ops
=
&
file_private_mmap
;
if
(
vma
->
vm_flags
&
VM_SHARED
)
{
if
(
vma
->
vm_flags
&
VM_SHARED
)
{
if
(
vma
->
vm_flags
&
(
VM_WRITE
|
VM_MAYWRITE
))
if
(
vma
->
vm_flags
&
(
VM_WRITE
|
VM_MAYWRITE
))
{
static
int
nr
=
0
;
ops
=
&
file_shared_mmap
;
ops
=
&
file_shared_mmap
;
if
(
nr
++
<
5
)
printk
(
"%s tried to do a shared writeable mapping
\n
"
,
current
->
comm
);
return
-
EINVAL
;
}
}
}
if
(
!
IS_RDONLY
(
inode
))
{
if
(
!
IS_RDONLY
(
inode
))
{
inode
->
i_atime
=
CURRENT_TIME
;
inode
->
i_atime
=
CURRENT_TIME
;
...
...
mm/swap.c
View file @
66a2c418
...
@@ -804,6 +804,7 @@ asmlinkage int sys_swapoff(const char * specialfile)
...
@@ -804,6 +804,7 @@ asmlinkage int sys_swapoff(const char * specialfile)
struct
swap_info_struct
*
p
;
struct
swap_info_struct
*
p
;
struct
inode
*
inode
;
struct
inode
*
inode
;
unsigned
int
type
;
unsigned
int
type
;
struct
file
filp
;
int
i
;
int
i
;
if
(
!
suser
())
if
(
!
suser
())
...
@@ -825,15 +826,32 @@ asmlinkage int sys_swapoff(const char * specialfile)
...
@@ -825,15 +826,32 @@ asmlinkage int sys_swapoff(const char * specialfile)
break
;
break
;
}
}
}
}
iput
(
inode
);
if
(
type
>=
nr_swapfiles
)
if
(
type
>=
nr_swapfiles
){
iput
(
inode
);
return
-
EINVAL
;
return
-
EINVAL
;
}
p
->
flags
=
SWP_USED
;
p
->
flags
=
SWP_USED
;
i
=
try_to_unuse
(
type
);
i
=
try_to_unuse
(
type
);
if
(
i
)
{
if
(
i
)
{
iput
(
inode
);
p
->
flags
=
SWP_WRITEOK
;
p
->
flags
=
SWP_WRITEOK
;
return
i
;
return
i
;
}
}
if
(
p
->
swap_device
){
memset
(
&
filp
,
0
,
sizeof
(
filp
));
filp
.
f_inode
=
inode
;
filp
.
f_mode
=
3
;
/* read write */
/* open it again to get fops */
if
(
!
blkdev_open
(
inode
,
&
filp
)
&&
filp
.
f_op
&&
filp
.
f_op
->
release
){
filp
.
f_op
->
release
(
inode
,
&
filp
);
filp
.
f_op
->
release
(
inode
,
&
filp
);
}
}
iput
(
inode
);
nr_swap_pages
-=
p
->
pages
;
nr_swap_pages
-=
p
->
pages
;
iput
(
p
->
swap_file
);
iput
(
p
->
swap_file
);
p
->
swap_file
=
NULL
;
p
->
swap_file
=
NULL
;
...
@@ -858,7 +876,9 @@ asmlinkage int sys_swapon(const char * specialfile)
...
@@ -858,7 +876,9 @@ asmlinkage int sys_swapon(const char * specialfile)
unsigned
int
type
;
unsigned
int
type
;
int
i
,
j
;
int
i
,
j
;
int
error
;
int
error
;
struct
file
filp
;
memset
(
&
filp
,
0
,
sizeof
(
filp
));
if
(
!
suser
())
if
(
!
suser
())
return
-
EPERM
;
return
-
EPERM
;
p
=
swap_info
;
p
=
swap_info
;
...
@@ -879,16 +899,23 @@ asmlinkage int sys_swapon(const char * specialfile)
...
@@ -879,16 +899,23 @@ asmlinkage int sys_swapon(const char * specialfile)
p
->
max
=
1
;
p
->
max
=
1
;
error
=
namei
(
specialfile
,
&
swap_inode
);
error
=
namei
(
specialfile
,
&
swap_inode
);
if
(
error
)
if
(
error
)
goto
bad_swap
;
goto
bad_swap
_2
;
p
->
swap_file
=
swap_inode
;
p
->
swap_file
=
swap_inode
;
error
=
-
EBUSY
;
error
=
-
EBUSY
;
if
(
swap_inode
->
i_count
!=
1
)
if
(
swap_inode
->
i_count
!=
1
)
goto
bad_swap
;
goto
bad_swap
_2
;
error
=
-
EINVAL
;
error
=
-
EINVAL
;
if
(
S_ISBLK
(
swap_inode
->
i_mode
))
{
if
(
S_ISBLK
(
swap_inode
->
i_mode
))
{
p
->
swap_device
=
swap_inode
->
i_rdev
;
p
->
swap_device
=
swap_inode
->
i_rdev
;
filp
.
f_inode
=
swap_inode
;
filp
.
f_mode
=
3
;
/* read write */
error
=
blkdev_open
(
swap_inode
,
&
filp
);
p
->
swap_file
=
NULL
;
p
->
swap_file
=
NULL
;
iput
(
swap_inode
);
iput
(
swap_inode
);
if
(
error
)
goto
bad_swap_2
;
error
=
-
ENODEV
;
error
=
-
ENODEV
;
if
(
!
p
->
swap_device
)
if
(
!
p
->
swap_device
)
goto
bad_swap
;
goto
bad_swap
;
...
@@ -950,6 +977,9 @@ asmlinkage int sys_swapon(const char * specialfile)
...
@@ -950,6 +977,9 @@ asmlinkage int sys_swapon(const char * specialfile)
printk
(
"Adding Swap: %dk swap-space
\n
"
,
j
<<
2
);
printk
(
"Adding Swap: %dk swap-space
\n
"
,
j
<<
2
);
return
0
;
return
0
;
bad_swap:
bad_swap:
if
(
filp
.
f_op
&&
filp
.
f_op
->
release
)
filp
.
f_op
->
release
(
filp
.
f_inode
,
&
filp
);
bad_swap_2:
free_page
((
long
)
p
->
swap_lockmap
);
free_page
((
long
)
p
->
swap_lockmap
);
vfree
(
p
->
swap_map
);
vfree
(
p
->
swap_map
);
iput
(
p
->
swap_file
);
iput
(
p
->
swap_file
);
...
...
modules/NET_MODULES
View file @
66a2c418
3c509.o de600.o de620.o 3c501.o eexpress.o plip.o 8390.o
3c509.o de600.o de620.o 3c501.o
apricot.o
eexpress.o plip.o 8390.o
net/inet/igmp.c
View file @
66a2c418
...
@@ -232,6 +232,7 @@ static void ip_mc_inc_group(struct device *dev, unsigned long addr)
...
@@ -232,6 +232,7 @@ static void ip_mc_inc_group(struct device *dev, unsigned long addr)
return
;
return
;
i
->
users
=
1
;
i
->
users
=
1
;
i
->
interface
=
dev
;
i
->
interface
=
dev
;
i
->
multiaddr
=
addr
;
i
->
next
=
dev
->
ip_mc_list
;
i
->
next
=
dev
->
ip_mc_list
;
igmp_group_added
(
i
);
igmp_group_added
(
i
);
dev
->
ip_mc_list
=
i
;
dev
->
ip_mc_list
=
i
;
...
...
net/inet/ip.c
View file @
66a2c418
...
@@ -224,6 +224,10 @@ int ip_build_header(struct sk_buff *skb, unsigned long saddr, unsigned long dadd
...
@@ -224,6 +224,10 @@ int ip_build_header(struct sk_buff *skb, unsigned long saddr, unsigned long dadd
* See if we need to look up the device.
* See if we need to look up the device.
*/
*/
#ifdef CONFIG_INET_MULTICAST
if
(
MULTICAST
(
daddr
)
&&
*
dev
==
NULL
&&
skb
->
sk
&&
*
skb
->
sk
->
ip_mc_name
)
*
dev
=
dev_get
(
skb
->
sk
->
ip_mc_name
);
#endif
if
(
*
dev
==
NULL
)
if
(
*
dev
==
NULL
)
{
{
if
(
skb
->
localroute
)
if
(
skb
->
localroute
)
...
@@ -316,6 +320,7 @@ int ip_build_header(struct sk_buff *skb, unsigned long saddr, unsigned long dadd
...
@@ -316,6 +320,7 @@ int ip_build_header(struct sk_buff *skb, unsigned long saddr, unsigned long dadd
iph
->
saddr
=
saddr
;
iph
->
saddr
=
saddr
;
iph
->
protocol
=
type
;
iph
->
protocol
=
type
;
iph
->
ihl
=
5
;
iph
->
ihl
=
5
;
skb
->
ip_hdr
=
iph
;
/* Setup the IP options. */
/* Setup the IP options. */
#ifdef Not_Yet_Avail
#ifdef Not_Yet_Avail
...
@@ -1591,7 +1596,28 @@ int ip_rcv(struct sk_buff *skb, struct device *dev, struct packet_type *pt)
...
@@ -1591,7 +1596,28 @@ int ip_rcv(struct sk_buff *skb, struct device *dev, struct packet_type *pt)
kfree_skb
(
skb
,
FREE_WRITE
);
kfree_skb
(
skb
,
FREE_WRITE
);
return
(
0
);
return
(
0
);
}
}
#ifdef CONFIG_IP_MULTICAST
if
(
brd
==
IS_MULTICAST
)
{
/*
* Check it is for one of our groups
*/
struct
ip_mc_list
*
ip_mc
=
dev
->
ip_mc_list
;
do
{
if
(
ip_mc
==
NULL
)
{
kfree_skb
(
skb
,
FREE_WRITE
);
return
0
;
}
if
(
ip_mc
->
multiaddr
==
iph
->
daddr
)
break
;
ip_mc
=
ip_mc
->
next
;
}
while
(
1
);
}
#endif
/*
/*
* Account for the packet
* Account for the packet
*/
*/
...
@@ -1714,6 +1740,41 @@ int ip_rcv(struct sk_buff *skb, struct device *dev, struct packet_type *pt)
...
@@ -1714,6 +1740,41 @@ int ip_rcv(struct sk_buff *skb, struct device *dev, struct packet_type *pt)
return
(
0
);
return
(
0
);
}
}
/*
* Loop a packet back to the sender.
*/
static
void
ip_loopback
(
struct
device
*
old_dev
,
struct
sk_buff
*
skb
)
{
struct
device
*
dev
=&
loopback_dev
;
int
len
=
skb
->
len
-
old_dev
->
hard_header_len
;
struct
sk_buff
*
newskb
=
alloc_skb
(
len
+
dev
->
hard_header_len
,
GFP_ATOMIC
);
if
(
newskb
==
NULL
)
return
;
newskb
->
link3
=
NULL
;
newskb
->
sk
=
NULL
;
newskb
->
dev
=
dev
;
newskb
->
saddr
=
skb
->
saddr
;
newskb
->
daddr
=
skb
->
daddr
;
newskb
->
raddr
=
skb
->
raddr
;
newskb
->
free
=
1
;
newskb
->
lock
=
0
;
newskb
->
users
=
0
;
newskb
->
pkt_type
=
skb
->
pkt_type
;
newskb
->
len
=
len
+
dev
->
hard_header_len
;
newskb
->
ip_hdr
=
(
struct
iphdr
*
)(
newskb
->
data
+
ip_send
(
newskb
,
skb
->
ip_hdr
->
daddr
,
len
,
dev
,
skb
->
ip_hdr
->
saddr
));
memcpy
(
newskb
->
ip_hdr
,
skb
->
ip_hdr
,
len
);
/* Recurse. The device check against IFF_LOOPBACK will stop infinite recursion */
/*printk("Loopback output queued [%lX to %lX].\n", newskb->ip_hdr->saddr,newskb->ip_hdr->daddr);*/
ip_queue_xmit
(
NULL
,
dev
,
newskb
,
1
);
}
/*
/*
* Queues a packet to be sent, and starts the transmitter
* Queues a packet to be sent, and starts the transmitter
...
@@ -1858,11 +1919,46 @@ void ip_queue_xmit(struct sock *sk, struct device *dev,
...
@@ -1858,11 +1919,46 @@ void ip_queue_xmit(struct sock *sk, struct device *dev,
/*
/*
* If the indicated interface is up and running, send the packet.
* If the indicated interface is up and running, send the packet.
*/
*/
ip_statistics
.
IpOutRequests
++
;
ip_statistics
.
IpOutRequests
++
;
#ifdef CONFIG_IP_ACCT
#ifdef CONFIG_IP_ACCT
ip_acct_cnt
(
iph
,
ip_acct_chain
,
1
);
ip_acct_cnt
(
iph
,
ip_acct_chain
,
1
);
#endif
#endif
#ifdef CONFIG_IP_MULTICAST
/*
* Multicasts are looped back for other local users
*/
if
(
MULTICAST
(
skb
->
daddr
)
&&
!
(
dev
->
flags
&
IFF_LOOPBACK
))
{
if
(
sk
==
NULL
||
sk
->
ip_mc_loop
)
{
struct
ip_mc_list
*
imc
=
dev
->
ip_mc_list
;
while
(
imc
!=
NULL
)
{
if
(
imc
->
multiaddr
==
skb
->
daddr
)
{
ip_loopback
(
dev
,
skb
);
break
;
}
imc
=
imc
->
next
;
}
}
/* Multicasts with ttl 0 must not go beyond the host */
if
(
skb
->
ip_hdr
->
ttl
==
0
)
{
kfree_skb
(
skb
,
FREE_READ
);
return
;
}
}
#endif
if
((
dev
->
flags
&
IFF_BROADCAST
)
&&
iph
->
daddr
==
dev
->
pa_brdaddr
&&
!
(
dev
->
flags
&
IFF_LOOPBACK
))
ip_loopback
(
dev
,
skb
);
if
(
dev
->
flags
&
IFF_UP
)
if
(
dev
->
flags
&
IFF_UP
)
{
{
/*
/*
...
...
net/inet/ip_fw.c
View file @
66a2c418
...
@@ -450,10 +450,6 @@ static void free_fw_chain(struct ip_fw **chainptr)
...
@@ -450,10 +450,6 @@ static void free_fw_chain(struct ip_fw **chainptr)
restore_flags
(
flags
);
restore_flags
(
flags
);
}
}
#endif
/* CONFIG_IP_ACCT || CONFIG_IP_FIREWALL */
#ifdef CONFIG_IP_FIREWALL
static
int
add_to_chain
(
struct
ip_fw
**
chainptr
,
struct
ip_fw
*
frwl
)
static
int
add_to_chain
(
struct
ip_fw
**
chainptr
,
struct
ip_fw
*
frwl
)
{
{
struct
ip_fw
*
ftmp
;
struct
ip_fw
*
ftmp
;
...
@@ -706,7 +702,7 @@ static int del_from_chain(struct ip_fw **chainptr, struct ip_fw *frwl)
...
@@ -706,7 +702,7 @@ static int del_from_chain(struct ip_fw **chainptr, struct ip_fw *frwl)
return
(
EINVAL
);
return
(
EINVAL
);
}
}
#endif
/*
CONFIG_IP_FIREWALL */
#endif
/* CONFIG_IP_ACCT ||
CONFIG_IP_FIREWALL */
struct
ip_fw
*
check_ipfw_struct
(
struct
ip_fw
*
frwl
,
int
len
)
struct
ip_fw
*
check_ipfw_struct
(
struct
ip_fw
*
frwl
,
int
len
)
{
{
...
...
net/inet/tcp.c
View file @
66a2c418
...
@@ -262,7 +262,7 @@ static struct sk_buff *tcp_find_established(struct sock *s)
...
@@ -262,7 +262,7 @@ static struct sk_buff *tcp_find_established(struct sock *s)
return
p
;
return
p
;
p
=
p
->
next
;
p
=
p
->
next
;
}
}
while
(
p
!=
skb_peek
(
&
s
->
receive_queue
)
);
while
(
p
!=
(
struct
sk_buff
*
)
&
s
->
receive_queue
);
return
NULL
;
return
NULL
;
}
}
...
@@ -907,7 +907,7 @@ static void tcp_send_ack(unsigned long sequence, unsigned long ack,
...
@@ -907,7 +907,7 @@ static void tcp_send_ack(unsigned long sequence, unsigned long ack,
* This routine builds a generic TCP header.
* This routine builds a generic TCP header.
*/
*/
extern
__inline
int
tcp_build_header
(
struct
tcphdr
*
th
,
struct
sock
*
sk
,
int
push
)
int
tcp_build_header
(
struct
tcphdr
*
th
,
struct
sock
*
sk
,
int
push
)
{
{
/* FIXME: want to get rid of this. */
/* FIXME: want to get rid of this. */
...
@@ -4027,22 +4027,19 @@ tcp_rcv(struct sk_buff *skb, struct device *dev, struct options *opt,
...
@@ -4027,22 +4027,19 @@ tcp_rcv(struct sk_buff *skb, struct device *dev, struct options *opt,
if
(
th
->
rst
)
if
(
th
->
rst
)
{
{
if
(
sk
->
state
!=
TCP_TIME_WAIT
)
/* RFC 1337 recommendation re RST in time wait */
tcp_statistics
.
TcpEstabResets
++
;
sk
->
zapped
=
1
;
/* This means the thing should really be closed. */
sk
->
err
=
ECONNRESET
;
if
(
sk
->
state
==
TCP_CLOSE_WAIT
)
{
{
tcp_statistics
.
TcpEstabResets
++
;
sk
->
err
=
EPIPE
;
sk
->
zapped
=
1
;
}
/* This means the thing should really be closed. */
tcp_set_state
(
sk
,
TCP_CLOSE
);
sk
->
err
=
ECONNRESET
;
sk
->
shutdown
=
SHUTDOWN_MASK
;
if
(
sk
->
state
==
TCP_CLOSE_WAIT
)
if
(
!
sk
->
dead
)
{
{
sk
->
err
=
EPIPE
;
sk
->
state_change
(
sk
);
}
tcp_set_state
(
sk
,
TCP_CLOSE
);
sk
->
shutdown
=
SHUTDOWN_MASK
;
if
(
!
sk
->
dead
)
{
sk
->
state_change
(
sk
);
}
}
}
kfree_skb
(
skb
,
FREE_READ
);
kfree_skb
(
skb
,
FREE_READ
);
release_sock
(
sk
);
release_sock
(
sk
);
...
...
tools/version.c
View file @
66a2c418
...
@@ -8,8 +8,7 @@
...
@@ -8,8 +8,7 @@
#include <linux/config.h>
#include <linux/config.h>
#include <linux/utsname.h>
#include <linux/utsname.h>
#include <linux/version.h>
#include "./version.h"
struct
new_utsname
system_utsname
=
{
struct
new_utsname
system_utsname
=
{
UTS_SYSNAME
,
UTS_NODENAME
,
UTS_RELEASE
,
UTS_VERSION
,
UTS_SYSNAME
,
UTS_NODENAME
,
UTS_RELEASE
,
UTS_VERSION
,
...
...
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