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
f1bf8612
Commit
f1bf8612
authored
Nov 23, 2007
by
Linus Torvalds
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Import 1.2.6
parent
3793c9b9
Changes
28
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
28 changed files
with
1176 additions
and
549 deletions
+1176
-549
CREDITS
CREDITS
+4
-0
Makefile
Makefile
+1
-1
arch/i386/config.in
arch/i386/config.in
+4
-0
drivers/char/ChangeLog
drivers/char/ChangeLog
+1
-1
drivers/char/serial.c
drivers/char/serial.c
+1
-1
drivers/net/lance.c
drivers/net/lance.c
+97
-27
drivers/net/ne.c
drivers/net/ne.c
+1
-15
drivers/net/plip.c
drivers/net/plip.c
+4
-15
drivers/scsi/53c7,8xx.c
drivers/scsi/53c7,8xx.c
+452
-267
drivers/scsi/53c7,8xx.h
drivers/scsi/53c7,8xx.h
+54
-12
drivers/scsi/53c7,8xx.scr
drivers/scsi/53c7,8xx.scr
+21
-8
drivers/scsi/53c8xx_d.h
drivers/scsi/53c8xx_d.h
+152
-94
drivers/scsi/53c8xx_u.h
drivers/scsi/53c8xx_u.h
+4
-0
drivers/scsi/ChangeLog
drivers/scsi/ChangeLog
+293
-0
drivers/scsi/Makefile
drivers/scsi/Makefile
+3
-1
drivers/scsi/buslogic.c
drivers/scsi/buslogic.c
+35
-23
drivers/scsi/eata_dma.c
drivers/scsi/eata_dma.c
+1
-1
fs/nfs/file.c
fs/nfs/file.c
+1
-1
fs/select.c
fs/select.c
+3
-4
include/asm-alpha/byteorder.h
include/asm-alpha/byteorder.h
+3
-0
include/asm-i386/byteorder.h
include/asm-i386/byteorder.h
+3
-0
include/asm-mips/byteorder.h
include/asm-mips/byteorder.h
+10
-0
include/asm-sparc/byteorder.h
include/asm-sparc/byteorder.h
+3
-0
include/linux/bios32.h
include/linux/bios32.h
+1
-1
include/linux/ip.h
include/linux/ip.h
+7
-31
include/linux/tcp.h
include/linux/tcp.h
+3
-43
kernel/ksyms.c
kernel/ksyms.c
+12
-1
mm/swap.c
mm/swap.c
+2
-2
No files found.
CREDITS
View file @
f1bf8612
...
@@ -683,6 +683,10 @@ E: ken@halcyon.com
...
@@ -683,6 +683,10 @@ E: ken@halcyon.com
D: CDROM driver "sonycd535" (Sony CDU-535/531)
D: CDROM driver "sonycd535" (Sony CDU-535/531)
S:
S:
N: Frederic Potter
E: Frederic.Potter@masi.ibp.fr
D: Some PCI kernel support
N: Stefan Probst
N: Stefan Probst
E: snprobst@immd4.informatik.uni-erlangen.de
E: snprobst@immd4.informatik.uni-erlangen.de
D: The Linux Support Team Erlangen
D: The Linux Support Team Erlangen
...
...
Makefile
View file @
f1bf8612
VERSION
=
1
VERSION
=
1
PATCHLEVEL
=
2
PATCHLEVEL
=
2
SUBLEVEL
=
5
SUBLEVEL
=
6
ARCH
=
i386
ARCH
=
i386
...
...
arch/i386/config.in
View file @
f1bf8612
...
@@ -74,6 +74,10 @@ bool 'Scsi tape support' CONFIG_CHR_DEV_ST n
...
@@ -74,6 +74,10 @@ bool 'Scsi tape support' CONFIG_CHR_DEV_ST n
bool 'Scsi CDROM support' CONFIG_BLK_DEV_SR n
bool 'Scsi CDROM support' CONFIG_BLK_DEV_SR n
bool 'Scsi generic support' CONFIG_CHR_DEV_SG n
bool 'Scsi generic support' CONFIG_CHR_DEV_SG n
comment 'Some SCSI devices (e.g. CD jukebox) support multiple LUNs'
bool 'Probe all LUNs on each SCSI device' CONFIG_SCSI_MULTI_LUN n
comment 'SCSI low-level drivers'
comment 'SCSI low-level drivers'
bool 'Adaptec AHA152X support' CONFIG_SCSI_AHA152X n
bool 'Adaptec AHA152X support' CONFIG_SCSI_AHA152X n
...
...
drivers/char/ChangeLog
View file @
f1bf8612
...
@@ -4,7 +4,7 @@ Wed Apr 12 08:06:16 1995 Theodore Y. Ts'o <tytso@localhost>
...
@@ -4,7 +4,7 @@ Wed Apr 12 08:06:16 1995 Theodore Y. Ts'o <tytso@localhost>
rs_init): Hangups are now scheduled via a separate tqueue
rs_init): Hangups are now scheduled via a separate tqueue
structure in the async_struct structure, tqueue_hangup.
structure in the async_struct structure, tqueue_hangup.
This task is pushed on to the tq_schedule queue, so that
This task is pushed on to the tq_schedule queue, so that
it is processed syncronously by the scheduler.
it is processed sync
h
ronously by the scheduler.
Sat Feb 18 12:13:51 1995 Theodore Y. Ts'o (tytso@rt-11)
Sat Feb 18 12:13:51 1995 Theodore Y. Ts'o (tytso@rt-11)
...
...
drivers/char/serial.c
View file @
f1bf8612
...
@@ -733,7 +733,7 @@ static void do_softint(void *private_)
...
@@ -733,7 +733,7 @@ static void do_softint(void *private_)
/*
/*
* This routine is called from the scheduler tqueue when the interrupt
* This routine is called from the scheduler tqueue when the interrupt
* routine has signalled that a hangup has occured. The path of
* routine has signalled that a hangup has occur
r
ed. The path of
* hangup processing is:
* hangup processing is:
*
*
* serial interrupt routine -> (scheduler tqueue) ->
* serial interrupt routine -> (scheduler tqueue) ->
...
...
drivers/net/lance.c
View file @
f1bf8612
This diff is collapsed.
Click to expand it.
drivers/net/ne.c
View file @
f1bf8612
...
@@ -376,7 +376,6 @@ ne_block_output(struct device *dev, int count,
...
@@ -376,7 +376,6 @@ ne_block_output(struct device *dev, int count,
{
{
int
retries
=
0
;
int
retries
=
0
;
int
nic_base
=
NE_BASE
;
int
nic_base
=
NE_BASE
;
unsigned
long
flags
;
/* Round the count up for word writes. Do we need to do this?
/* Round the count up for word writes. Do we need to do this?
What effect will an odd byte count have on the 8390?
What effect will an odd byte count have on the 8390?
...
@@ -412,19 +411,7 @@ ne_block_output(struct device *dev, int count,
...
@@ -412,19 +411,7 @@ ne_block_output(struct device *dev, int count,
SLOW_DOWN_IO
;
SLOW_DOWN_IO
;
#endif
/* rw_bugfix */
#endif
/* rw_bugfix */
/*
/* Now the normal output. */
Now the normal output. I believe that if we don't lock this, a
race condition will munge the remote byte count values, and then
the ne2k will hang the machine by holding I/O CH RDY because it
expects more data. Hopefully fixes the lockups. -- Paul Gortmaker.
Use save_flags/cli/restore_flags rather than cli/sti to avoid risk
of accidentally enabling interrupts which were disabled when we
were entered. Dave Platt <dplatt@3do.com>
*/
save_flags
(
flags
);
cli
();
outb_p
(
count
&
0xff
,
nic_base
+
EN0_RCNTLO
);
outb_p
(
count
&
0xff
,
nic_base
+
EN0_RCNTLO
);
outb_p
(
count
>>
8
,
nic_base
+
EN0_RCNTHI
);
outb_p
(
count
>>
8
,
nic_base
+
EN0_RCNTHI
);
outb_p
(
0x00
,
nic_base
+
EN0_RSARLO
);
outb_p
(
0x00
,
nic_base
+
EN0_RSARLO
);
...
@@ -436,7 +423,6 @@ ne_block_output(struct device *dev, int count,
...
@@ -436,7 +423,6 @@ ne_block_output(struct device *dev, int count,
}
else
{
}
else
{
outsb
(
NE_BASE
+
NE_DATAPORT
,
buf
,
count
);
outsb
(
NE_BASE
+
NE_DATAPORT
,
buf
,
count
);
}
}
restore_flags
(
flags
);
#ifdef CONFIG_NE_SANITY
#ifdef CONFIG_NE_SANITY
/* This was for the ALPHA version only, but enough people have
/* This was for the ALPHA version only, but enough people have
...
...
drivers/net/plip.c
View file @
f1bf8612
...
@@ -98,6 +98,7 @@ static char *version = "NET3 PLIP version 2.0 gniibe@mri.co.jp\n";
...
@@ -98,6 +98,7 @@ static char *version = "NET3 PLIP version 2.0 gniibe@mri.co.jp\n";
#include <linux/ioport.h>
#include <linux/ioport.h>
#include <asm/bitops.h>
#include <asm/bitops.h>
#include <asm/irq.h>
#include <asm/irq.h>
#include <asm/byteorder.h>
/* Use 0 for production, 1 for verification, >2 for debug */
/* Use 0 for production, 1 for verification, >2 for debug */
#ifndef NET_DEBUG
#ifndef NET_DEBUG
...
@@ -165,26 +166,14 @@ struct plip_local {
...
@@ -165,26 +166,14 @@ struct plip_local {
enum
plip_nibble_state
nibble
;
enum
plip_nibble_state
nibble
;
union
{
union
{
struct
{
struct
{
#if defined(
__i386__
)
#if defined(
LITTLE_ENDIAN
)
unsigned
char
lsb
;
unsigned
char
lsb
;
unsigned
char
msb
;
unsigned
char
msb
;
#elif defined(
__mc68000__
)
#elif defined(
BIG_ENDIAN
)
unsigned
char
msb
;
unsigned
char
msb
;
unsigned
char
lsb
;
unsigned
char
lsb
;
#elif defined(__sparc__)
unsigned
char
msb
;
unsigned
char
lsb
;
#elif defined(__MIPSEL__)
unsigned
char
lsb
;
unsigned
char
msb
;
#elif defined(__MIPSEB__)
unsigned
char
msb
;
unsigned
char
lsb
;
#elif defined(__alpha__)
unsigned
char
lsb
;
unsigned
char
msb
;
#else
#else
#error "
Adjust this structure to match your CPU
"
#error "
Please fix the endianness defines in <asm/byteorder.h>
"
#endif
#endif
}
b
;
}
b
;
unsigned
short
h
;
unsigned
short
h
;
...
...
drivers/scsi/53c7,8xx.c
View file @
f1bf8612
This diff is collapsed.
Click to expand it.
drivers/scsi/53c7,8xx.h
View file @
f1bf8612
...
@@ -46,20 +46,27 @@
...
@@ -46,20 +46,27 @@
* array.
* array.
*/
*/
#if
def HOSTS_C
#if
defined(HOSTS_C) || defined(MODULE)
#include <linux/scsicam.h>
#include <linux/scsicam.h>
extern
int
NCR53c7xx_abort
(
Scsi_Cmnd
*
);
extern
int
NCR53c7xx_abort
(
Scsi_Cmnd
*
);
extern
int
NCR53c7xx_detect
(
Scsi_Host_Template
*
tpnt
);
extern
int
NCR53c7xx_detect
(
Scsi_Host_Template
*
tpnt
);
extern
int
NCR53c7xx_queue_command
(
Scsi_Cmnd
*
,
void
(
*
done
)(
Scsi_Cmnd
*
));
extern
int
NCR53c7xx_queue_command
(
Scsi_Cmnd
*
,
void
(
*
done
)(
Scsi_Cmnd
*
));
extern
int
NCR53c7xx_reset
(
Scsi_Cmnd
*
);
extern
int
NCR53c7xx_reset
(
Scsi_Cmnd
*
);
#ifdef MODULE
#define NCR53c7xx {NULL, NULL, "NCR53c{7,8}xx (rel 3)", NCR53c7xx_detect, \
extern
int
NCR53c7xx_release
(
struct
Scsi_Host
*
);
NULL, NULL, \
NULL, NCR53c7xx_queue_command, NCR53c7xx_abort, NCR53c7xx_reset,\
NULL, scsicam_bios_param, \
/* can queue */
1,
/* id */
7, 127
/* old SG_ALL */
, \
/* cmd per lun */
1 , 0, 0, DISABLE_CLUSTERING}
#else
#else
#define NCR53c7xx_release NULL
#endif
#define NCR53c7xx {NULL, NULL, "NCR53c{7,8}xx (rel 4)", NCR53c7xx_detect, \
NULL,
/* info */
NULL,
/* command, depricated */
NULL, \
NCR53c7xx_queue_command, NCR53c7xx_abort, NCR53c7xx_reset, \
NULL
/* slave attach */
, scsicam_bios_param,
/* can queue */
1, \
/* id */
7, 127
/* old SG_ALL */
,
/* cmd per lun */
1 , \
/* present */
0,
/* unchecked isa dma */
0, DISABLE_CLUSTERING}
#endif
/* defined(HOSTS_C) || defined(MODULE) */
#ifndef HOSTS_C
/* Register addresses, ordered numerically */
/* Register addresses, ordered numerically */
...
@@ -932,6 +939,9 @@ struct NCR53c7x0_table_indirect {
...
@@ -932,6 +939,9 @@ struct NCR53c7x0_table_indirect {
struct
NCR53c7x0_cmd
{
struct
NCR53c7x0_cmd
{
void
*
real
;
/* Real, unaligned address */
void
*
real
;
/* Real, unaligned address */
void
(
*
free
)(
void
*
);
/* Command to deallocate; NULL
for structures allocated with
scsi_register, etc. */
Scsi_Cmnd
*
cmd
;
/* Associated Scsi_Cmnd
Scsi_Cmnd
*
cmd
;
/* Associated Scsi_Cmnd
structure, Scsi_Cmnd points
structure, Scsi_Cmnd points
at NCR53c7x0_cmd using
at NCR53c7x0_cmd using
...
@@ -949,7 +959,11 @@ struct NCR53c7x0_cmd {
...
@@ -949,7 +959,11 @@ struct NCR53c7x0_cmd {
*/
*/
struct
NCR53c7x0_cmd
*
next
,
*
prev
;
/* Linux maintained lists */
volatile
struct
NCR53c7x0_cmd
*
next
,
*
prev
;
/* Linux maintained lists. Note that
hostdata->free is a singly linked
list; the rest are doubly linked */
unsigned
long
*
data_transfer_start
;
/* Start of data transfer routines */
unsigned
long
*
data_transfer_start
;
/* Start of data transfer routines */
...
@@ -986,10 +1000,12 @@ struct NCR53c7x0_break {
...
@@ -986,10 +1000,12 @@ struct NCR53c7x0_break {
/* Indicates that the NCR is executing other code. */
/* Indicates that the NCR is executing other code. */
#define STATE_RUNNING 2
#define STATE_RUNNING 2
/*
/*
* Indicates that the NCR was being aborted. Only used when running
* Indicates that the NCR was being aborted.
* NCR53c700 compatible scripts.
*/
*/
#define STATE_ABORTING 3
#define STATE_ABORTING 3
/*
* Indicates that the NCR was successfully aborted. */
#define STATE_ABORTED 4
/*
/*
...
@@ -1072,6 +1088,7 @@ struct NCR53c7x0_hostdata {
...
@@ -1072,6 +1088,7 @@ struct NCR53c7x0_hostdata {
int
(
*
dstat_sir_intr
)(
struct
Scsi_Host
*
host
,
struct
NCR53c7x0_cmd
*
cmd
);
int
(
*
dstat_sir_intr
)(
struct
Scsi_Host
*
host
,
struct
NCR53c7x0_cmd
*
cmd
);
long
dsa_size
;
/* Size of DSA structure */
/*
/*
* Location of DSA fields for the SCSI SCRIPT corresponding to this
* Location of DSA fields for the SCSI SCRIPT corresponding to this
...
@@ -1160,11 +1177,13 @@ struct NCR53c7x0_hostdata {
...
@@ -1160,11 +1177,13 @@ struct NCR53c7x0_hostdata {
*
breakpoint_current
;
/* Current breakpoint being stepped
*
breakpoint_current
;
/* Current breakpoint being stepped
through, NULL if we are running
through, NULL if we are running
normally. */
normally. */
#ifdef NCR_DEBUG
int
debug_size
;
/* Size of debug buffer */
int
debug_size
;
/* Size of debug buffer */
volatile
int
debug_count
;
/* Current data count */
volatile
int
debug_count
;
/* Current data count */
volatile
char
*
debug_buf
;
/* Output ring buffer */
volatile
char
*
debug_buf
;
/* Output ring buffer */
volatile
char
*
debug_write
;
/* Current write pointer */
volatile
char
*
debug_write
;
/* Current write pointer */
volatile
char
*
debug_read
;
/* Current read pointer */
volatile
char
*
debug_read
;
/* Current read pointer */
#endif
/* def NCR_DEBUG */
/* XXX - primitive debugging junk, remove when working ? */
/* XXX - primitive debugging junk, remove when working ? */
int
debug_print_limit
;
/* Number of commands to print
int
debug_print_limit
;
/* Number of commands to print
...
@@ -1203,6 +1222,21 @@ struct NCR53c7x0_hostdata {
...
@@ -1203,6 +1222,21 @@ struct NCR53c7x0_hostdata {
nexus, ONLY valid for
nexus, ONLY valid for
NCR53c700/NCR53c700-66
NCR53c700/NCR53c700-66
*/
*/
volatile
struct
NCR53c7x0_cmd
*
spare
;
/* pointer to spare,
allocated at probe time,
which we can use for
initialization */
volatile
struct
NCR53c7x0_cmd
*
free
;
int
max_cmd_size
;
/* Maximum size of NCR53c7x0_cmd
based on number of
scatter/gather segments, etc.
*/
volatile
int
num_cmds
;
/* Number of commands
allocated */
volatile
unsigned
char
cmd_allocated
[
8
];
/* Have we allocated commands
for this target yet? If not,
do so ASAP */
volatile
unsigned
char
busy
[
8
][
8
];
/* number of commands
volatile
unsigned
char
busy
[
8
][
8
];
/* number of commands
executing on each target
executing on each target
*/
*/
...
@@ -1226,13 +1260,21 @@ struct NCR53c7x0_hostdata {
...
@@ -1226,13 +1260,21 @@ struct NCR53c7x0_hostdata {
volatile
unsigned
char
msg_buf
[
16
];
/* buffer for messages
volatile
unsigned
char
msg_buf
[
16
];
/* buffer for messages
other than the command
other than the command
complete message */
complete message */
volatile
struct
NCR53c7x0_cmd
*
reconnect_dsa_head
;
volatile
unsigned
char
*
reconnect_dsa_head
;
/* disconnected commands,
/* disconnected commands,
maintained by NCR */
maintained by NCR */
/* Data identifying nexus we are trying to match during reselection */
/* Data identifying nexus we are trying to match during reselection */
volatile
unsigned
char
reselected_identify
;
/* IDENTIFY message */
volatile
unsigned
char
reselected_identify
;
/* IDENTIFY message */
volatile
unsigned
char
reselected_tag
;
/* second byte of queue tag
volatile
unsigned
char
reselected_tag
;
/* second byte of queue tag
message or 0 */
message or 0 */
/* These were static variables before we moved them */
long
NCR53c7xx_zero
;
long
NCR53c7xx_sink
;
char
NCR53c7xx_msg_reject
;
char
NCR53c7xx_msg_abort
;
char
NCR53c7xx_msg_nop
;
int
script_count
;
/* Size of script in longs */
int
script_count
;
/* Size of script in longs */
unsigned
long
script
[
0
];
/* Relocated SCSI script */
unsigned
long
script
[
0
];
/* Relocated SCSI script */
...
...
drivers/scsi/53c7,8xx.scr
View file @
f1bf8612
...
@@ -221,10 +221,10 @@ ABSOLUTE int_test_1 = 0x04000000 ; Test 1 complete
...
@@ -221,10 +221,10 @@ ABSOLUTE int_test_1 = 0x04000000 ; Test 1 complete
ABSOLUTE int_test_2 = 0x04010000 ; Test 2 complete
ABSOLUTE int_test_2 = 0x04010000 ; Test 2 complete
ABSOLUTE int_test_3 = 0x04020000 ; Test 3 complete
ABSOLUTE int_test_3 = 0x04020000 ; Test 3 complete
EXTERNAL NCR53c7xx_msg_abort
; Pointer to abort message
ABSOLUTE NCR53c7xx_msg_abort = 0
; Pointer to abort message
EXTERNAL NCR53c7xx_msg_reject
; Pointer to reject message
ABSOLUTE NCR53c7xx_msg_reject = 0
; Pointer to reject message
EXTERNAL NCR53c7xx_zero
; long with zero in it, use for source
ABSOLUTE NCR53c7xx_zero = 0
; long with zero in it, use for source
EXTERNAL NCR53c7xx_sink
; long to dump worthless data in
ABSOLUTE NCR53c7xx_sink = 0
; long to dump worthless data in
; Pointer to final bytes of multi-byte messages
; Pointer to final bytes of multi-byte messages
ABSOLUTE msg_buf = 0
ABSOLUTE msg_buf = 0
...
@@ -881,13 +881,23 @@ selected:
...
@@ -881,13 +881,23 @@ selected:
wait_reselect_failed:
wait_reselect_failed:
; Reading CTEST2 clears the SIG_P bit in the ISTAT register.
; Reading CTEST2 clears the SIG_P bit in the ISTAT register.
MOVE CTEST2 & 0x40 TO SFBR
MOVE CTEST2 & 0x40 TO SFBR
JUMP selected, IF NOT 0x40
JUMP schedule, IF 0x40
MOVE SIST0 & 0x20 TO SFBR
JUMP selected, IF 0x20
; FIXME : Something bogus happened, and we shouldn't fail silently.
JUMP schedule
JUMP schedule
select_failed:
select_failed:
MOVE ISTAT & 0x20 TO SFBR
; If SIGP is set, the user just gave us another command, and
JUMP reselected, IF NOT 0x20
; we should restart or return to the scheduler.
MOVE ISTAT & 0xdf TO ISTAT
; Reading CTEST2 clears the SIG_P bit in the ISTAT register.
MOVE CTEST2 & 0x40 TO SFBR
JUMP select, IF 0x40
; Otherwise, mask the selected and reselected bits off SIST0
MOVE SIST0 & 0x30 TO SFBR
JUMP selected, IF 0x20
JUMP reselected, IF 0x10
; FIXME : Something bogus happened, and we shouldn't fail silently.
JUMP schedule
JUMP schedule
;
;
...
@@ -980,7 +990,10 @@ no_source_data:
...
@@ -980,7 +990,10 @@ no_source_data:
; If DSP points here, and a phase mismatch is encountered, we need to
; If DSP points here, and a phase mismatch is encountered, we need to
; do a bus reset.
; do a bus reset.
;
;
MOVE SCNTL2 & 0x7f TO SCNTL2
MOVE 1, NCR53c7xx_msg_abort, WHEN MSG_OUT
MOVE 1, NCR53c7xx_msg_abort, WHEN MSG_OUT
WAIT DISCONNECT
INT int_norm_aborted
INT int_norm_aborted
;
;
...
...
drivers/scsi/53c8xx_d.h
View file @
f1bf8612
This diff is collapsed.
Click to expand it.
drivers/scsi/53c8xx_u.h
View file @
f1bf8612
#undef A_NCR53c7xx_msg_abort
#undef A_NCR53c7xx_msg_reject
#undef A_NCR53c7xx_sink
#undef A_NCR53c7xx_zero
#undef A_addr_scratch
#undef A_addr_scratch
#undef A_addr_sfbr
#undef A_addr_sfbr
#undef A_addr_temp
#undef A_addr_temp
...
...
drivers/scsi/ChangeLog
View file @
f1bf8612
Wed Apr 12 15:25:52 1995 Eric Youngdale (eric@andante)
* Linux 1.2.5 released.
* buslogic.c: Update to version 1.15 (From Dave G, I expect).
Fixed interrupt routine to avoid races when handling multiple
complete commands per interrupt. Seems to come up with faster
cards.
* eata_dma.c: Modularize. Update to 2.3.5r.
* scsi.c: If we get a FMK, EOM, or ILI when attempting to scan
the bus, assume that it was just noise on the bus, and ignore
the device.
* scsi.h: Update and add a bunch of missing commands which we
were never using.
* sd.c: Use restore_flags in do_sd_request - this may result in
latency conditions, but it gets rid of races and crashes.
Do not save flags again when searching for a second command to
queue.
* st.c: Use bytes, not STP->buffer->buffer_size when reading
from tape.
Tue Apr 4 09:42:08 1995 Eric Youngdale (eric@andante)
* Linux 1.2.4 released.
* st.c: Fix typo - restoring wrong flags.
Wed Mar 29 06:55:12 1995 Eric Youngdale (eric@andante)
* Linux 1.2.3 released.
* st.c: Perform some waiting operations with interrupts off.
Is this correct???
Wed Mar 22 10:34:26 1995 Eric Youngdale (eric@andante)
* Linux 1.2.2 released.
* aha152x.c: Modularize. Add support for PCMCIA.
* eata.c: Update to version 2.0. Fixed bug preventing media
detection. If scsi_register_host returns NULL, fail gracefully.
* scsi.c: Detect as NEC (for photo-cd purposes) for the 84
and 25 models as "NEC_OLDCDR".
* scsi.h: Add define for NEC_OLDCDR
* sr.c: Add handling for NEC_OLDCDR. Treat as unknown.
* u14-34f.c: Update to version 2.0. Fixed same bug as in
eata.c.
Mon Mar 6 11:11:20 1995 Eric Youngdale (eric@andante)
* Linux 1.2.0 released. Yeah!!!
* Minor spelling/punctuation changes throughout. Nothing
substantive.
Mon Feb 20 21:33:03 1995 Eric Youngdale (eric@andante)
* Linux 1.1.95 released.
* qlogic.c: Update to version 0.41.
* seagate.c: Change some message to be more descriptive about what
we detected.
* sr.c: spelling/whitespace changes.
Mon Feb 20 21:33:03 1995 Eric Youngdale (eric@andante)
* Linux 1.1.94 released.
Mon Feb 20 08:57:17 1995 Eric Youngdale (eric@andante)
* Linux 1.1.93 released.
* hosts.h: Change io_port to long int from short.
* 53c7,8xx.c: crash on AEN fixed, SCSI reset is no longer a NOP,
NULL pointer panic on odd UDCs fixed, two bugs in diagnostic output
fixed, should initialize correctly if left running, now loadable,
new memory allocation, extraneous diagnostic output supressed,
splx() replaced with save/restore flags. [ Drew ]
* hosts.c, hosts.h, scsi_ioctl.c, sd.c, sd_ioctl.c, sg.c, sr.c,
sr_ioctl.c: Add special junk at end that Emacs will use for
formatting the file.
* qlogic.c: Update to v0.40a. Improve parity handling.
* scsi.c: Add Hitachi DK312C to blacklist. Change "};" to "}" in
many places. Use scsi_init_malloc to get command block - may
need this to be dma compatible for some host adapters.
Restore interrupts after unregistering a host.
* sd.c: Use sti instead of restore flags - causes latency problems.
* seagate.c: Use controller_type to determine string used when
registering irq.
* sr.c: More photo-cd hacks to make sure we get the xa stuff right.
* sr.h, sr.c: Change is_xa to xa_flags field.
* st.c: Diable retries for write operations.
Wed Feb 15 10:52:56 1995 Eric Youngdale (eric@andante)
* Linux 1.1.92 released.
* eata.c: Update to 1.17.
* eata_dma.c: Add more support for /proc/scsi, add HBA_interpret flag.
* hosts.c: If we remove last host registered, reuse host number.
When freeing memory from host being deregistered, free extra_bytes
too.
* scsi.c (scan_scsis): memset(SDpnt, 0) and set SCmd.device to SDpnt.
Change memory allocation to work around bugs in __get_dma_pages.
Do not free host if usage count is not zero (for modules).
* sr_ioctl.c: Increase IOCTL_TIMEOUT to 3000.
* st.c: Allow for ST_EXTRA_DEVS in st data structures.
* u14-34f.c: Update to 1.17.
Thu Feb 9 10:11:16 1995 Eric Youngdale (eric@andante)
* Linux 1.1.91 released.
* eata.c: Update to 1.16. Use wish_block instead of host->block.
* hosts.c: Initialize wish_block to 0.
* hosts.h: Add wish_block.
* scsi.c: Use wish_block as indicator that the host should be added
to block list.
* sg.c: Add SG_EXTRA_DEVS to number of slots.
* u14-34f.c: Use wish_block.
Tue Feb 7 11:46:04 1995 Eric Youngdale (eric@andante)
* Linux 1.1.90 released.
* eata.c: Change naming from eata_* to eata2x_*. Now at vers 1.15.
Update interrupt handler to take pt_regs as arg. Allow blocking
even if loaded as module. Initialize target_time_out array.
Do not put sti(); in timing loop.
* hosts.c: Do not reuse host numbers.
Use scsi_make_blocked_list to generate blocking list.
* script_asm.pl: Beats me. Don't know perl. Something to do with
phase index.
* scsi.c (scsi_make_blocked_list): New function - code copied from
hosts.c.
* scsi.c: Update code to disable photo CD for Toshiba cdroms.
Use just manufacturer name, not model number.
* sr.c: Fix setting density for Toshiba drives.
* u14-34f.c: Clear target_time_out array during reset.
Wed Feb 1 09:20:45 1995 Eric Youngdale (eric@andante)
* Linux 1.1.89 released.
* Makefile, u14-34f.c: Modulariz.e
* Makefile, eata.c: Modularize. Now version 1.14
* NCR5380.c: Update interrupt handler with new arglist. Minor
cleanups.
* eata_dma.c: Modularize. Add hooks for /proc/scsi.
New version 2.3.0a.
* hosts.c: Initialize ->dma_channel and ->io_port when registering
a new host.
* qlogic.c: Modularize and add PCMCIA support.
* scsi.c: Add Hitachi to blacklist.
* scsi.c: Change default to no lun scan (too many problem devices).
* scsi.h: Define QUEUE_FULL condition.
* sd.c: Do not check for non-existant partition until after
new media check.
* sg.c: Undo previous change which was wrong.
* sr_ioctl.c: Increase IOCTL_TIMEOUT to 2000.
* st.c: Patches from Kai - improve filemark handling.
Tue Jan 31 17:32:12 1995 Eric Youngdale (eric@andante)
* Linux 1.1.88 released.
* Throughout - spelling/grammar fixups.
* scsi.c: Make sure that all buffers are 16 byte aligned - some
drivers (buslogic) need this.
* scsi.c (scan_scsis): Remove message printed.
* scsi.c (scsi_init): Move message here.
Mon Jan 30 06:40:25 1995 Eric Youngdale (eric@andante)
* Linux 1.1.87 released.
* sr.c: Photo-cd related changes. (Gerd Knorr??).
* st.c: Changes from Kai related to EOM detection.
Mon Jan 23 23:53:10 1995 Eric Youngdale (eric@andante)
* Linux 1.1.86 released.
* 53c7,8xx.h: Change SG size to 127.
* eata_dma: Update to version 0i.
* scsi.c: Test for Toshiba XM-3401TA and exclude from detection
as toshiba drive - photo cd does not work with this drive.
* sr.c: Update photocd code.
Mon Jan 23 23:53:10 1995 Eric Youngdale (eric@andante)
* Linux 1.1.85 released.
* st.c, st_ioctl.c, sg.c, sd_ioctl.c, scsi_ioctl.c, hosts.c:
include linux/mm.h
* qlogic.c, buslogic.c, aha1542.c: Include linux/module.h.
Sun Jan 22 22:08:46 1995 Eric Youngdale (eric@andante)
* Linux 1.1.84 released.
* Makefile: Support for loadable QLOGIC boards.
* aha152x.c: Update to version 1.8 from Juergen.
* eata_dma.c: Update from Michael Neuffer
* in2000.c: Fix biosparam to support large disks.
* qlogic.c: Minor changes (change sti -> restore_flags).
Wed Jan 18 23:33:09 1995 Eric Youngdale (eric@andante)
* Linux 1.1.83 released.
* aha1542.c(aha1542_intr_handle): Use arguments handed down to find
which irq.
* buslogic.c: Likewise.
* eata_dma.c: Use min of 2 cmd_per_lun for OCS_enabled boards.
* scsi.c: Make RECOVERED_ERROR a SUGGEST_IS_OK.
* sd.c: Fail if we are opening a non-existant partition.
* sr.c: Bump SR_TIMEOUT to 15000.
Do not probe for media size at boot time(hard on changers).
Flag device as needing sector size instead.
* sr_ioctl.c: Remove CDROMMULTISESSION_SYS ioctl.
* ultrastor.c: Fix bug in call to ultrastor_interrupt (wrong #args).
Mon Jan 16 07:18:23 1995 Eric Youngdale (eric@andante)
Mon Jan 16 07:18:23 1995 Eric Youngdale (eric@andante)
* Linux 1.1.82 released.
* Linux 1.1.82 released.
...
...
drivers/scsi/Makefile
View file @
f1bf8612
...
@@ -127,6 +127,8 @@ endif
...
@@ -127,6 +127,8 @@ endif
ifdef
CONFIG_SCSI_NCR53C7xx
ifdef
CONFIG_SCSI_NCR53C7xx
SCSI_OBJS
:=
$(SCSI_OBJS)
53c7,8xx.o
SCSI_OBJS
:=
$(SCSI_OBJS)
53c7,8xx.o
SCSI_SRCS
:=
$(SCSI_SRCS)
53c7,8xx.c
SCSI_SRCS
:=
$(SCSI_SRCS)
53c7,8xx.c
else
SCSI_MODULE_OBJS
:=
$(SCSI_MODULE_OBJS)
53c7,8xx.o
endif
endif
ifdef
CONFIG_SCSI_PAS16
ifdef
CONFIG_SCSI_PAS16
...
@@ -190,7 +192,7 @@ seagate.o: seagate.c
...
@@ -190,7 +192,7 @@ seagate.o: seagate.c
53c8xx_d.h 53c8xx_u.h
:
53c7
,
8xx.scr script_asm.pl
53c8xx_d.h 53c8xx_u.h
:
53c7
,
8xx.scr script_asm.pl
ln
53c7,8xx.scr fake.c
ln
53c7,8xx.scr fake.c
$(CPP)
-
DCHIP
=
810 fake.c |
grep
-v
^#
| perl script_asm.pl
$(CPP)
-
traditional
-DCHIP
=
810 fake.c |
grep
-v
'^#'
| perl script_asm.pl
mv
script.h 53c8xx_d.h
mv
script.h 53c8xx_d.h
mv
scriptu.h 53c8xx_u.h
mv
scriptu.h 53c8xx_u.h
rm
fake.c
rm
fake.c
...
...
drivers/scsi/buslogic.c
View file @
f1bf8612
...
@@ -469,10 +469,7 @@ static void buslogic_interrupt(int irq, struct pt_regs * regs)
...
@@ -469,10 +469,7 @@ static void buslogic_interrupt(int irq, struct pt_regs * regs)
interrupt_flags
=
inb
(
INTERRUPT
(
base
));
interrupt_flags
=
inb
(
INTERRUPT
(
base
));
if
(
!
(
interrupt_flags
&
INTV
))
if
(
!
(
interrupt_flags
&
INTV
))
{
buslogic_printk
(
"interrupt received, but INTV not set
\n
"
);
buslogic_printk
(
"interrupt received, but INTV not set
\n
"
);
return
;
}
/*
/*
Reset the Host Adapter Interrupt Register. It appears to be
Reset the Host Adapter Interrupt Register. It appears to be
...
@@ -504,6 +501,16 @@ static void buslogic_interrupt(int irq, struct pt_regs * regs)
...
@@ -504,6 +501,16 @@ static void buslogic_interrupt(int irq, struct pt_regs * regs)
while
(
mb
[
mbi
].
status
!=
MBX_NOT_IN_USE
&&
found
<
BUSLOGIC_MAILBOXES
)
while
(
mb
[
mbi
].
status
!=
MBX_NOT_IN_USE
&&
found
<
BUSLOGIC_MAILBOXES
)
{
{
int
mbo
=
(
struct
ccb
*
)
mb
[
mbi
].
ccbptr
-
ccb
;
int
mbo
=
(
struct
ccb
*
)
mb
[
mbi
].
ccbptr
-
ccb
;
sctmp
=
HOSTDATA
(
shpnt
)
->
sc
[
mbo
];
/*
If sctmp has become NULL, higher level code must have aborted
this operation and called the necessary completion routine.
*/
if
(
sctmp
!=
NULL
&&
mb
[
mbi
].
status
!=
MBX_COMPLETION_NOT_FOUND
)
{
int
result
=
0
;
int
result
=
0
;
saved_mbo
[
found
++
]
=
mbo
;
saved_mbo
[
found
++
]
=
mbo
;
...
@@ -511,9 +518,10 @@ static void buslogic_interrupt(int irq, struct pt_regs * regs)
...
@@ -511,9 +518,10 @@ static void buslogic_interrupt(int irq, struct pt_regs * regs)
if
(
mb
[
mbi
].
status
!=
MBX_COMPLETION_OK
)
if
(
mb
[
mbi
].
status
!=
MBX_COMPLETION_OK
)
result
=
makecode
(
ccb
[
mbo
].
hastat
,
ccb
[
mbo
].
tarstat
);
result
=
makecode
(
ccb
[
mbo
].
hastat
,
ccb
[
mbo
].
tarstat
);
HOSTDATA
(
shpnt
)
->
sc
[
mbo
]
->
result
=
result
;
sctmp
->
result
=
result
;
mb
[
mbi
].
status
=
MBX_NOT_IN_USE
;
mb
[
mbi
].
status
=
MBX_NOT_IN_USE
;
}
HOSTDATA
(
shpnt
)
->
last_mbi_used
=
mbi
;
HOSTDATA
(
shpnt
)
->
last_mbi_used
=
mbi
;
...
@@ -535,6 +543,7 @@ static void buslogic_interrupt(int irq, struct pt_regs * regs)
...
@@ -535,6 +543,7 @@ static void buslogic_interrupt(int irq, struct pt_regs * regs)
{
{
int
mbo
=
saved_mbo
[
i
];
int
mbo
=
saved_mbo
[
i
];
sctmp
=
HOSTDATA
(
shpnt
)
->
sc
[
mbo
];
sctmp
=
HOSTDATA
(
shpnt
)
->
sc
[
mbo
];
if
(
sctmp
==
NULL
)
continue
;
/*
/*
First, free any storage allocated for a scatter/gather
First, free any storage allocated for a scatter/gather
data segment list.
data segment list.
...
@@ -542,14 +551,15 @@ static void buslogic_interrupt(int irq, struct pt_regs * regs)
...
@@ -542,14 +551,15 @@ static void buslogic_interrupt(int irq, struct pt_regs * regs)
if
(
sctmp
->
host_scribble
)
if
(
sctmp
->
host_scribble
)
scsi_free
(
sctmp
->
host_scribble
,
BUSLOGIC_SG_MALLOC
);
scsi_free
(
sctmp
->
host_scribble
,
BUSLOGIC_SG_MALLOC
);
/*
/*
Next, call the SCSI command completion handler.
Next, mark the SCSI Command as completed so it may be reused
for another command by buslogic_queuecommand. This also signals
to buslogic_reset that the command is no longer active.
*/
*/
sctmp
->
scsi_done
(
sctmp
)
;
HOSTDATA
(
shpnt
)
->
sc
[
mbo
]
=
NULL
;
/*
/*
Finally, mark the SCSI Command as completed so it may be reused
Finally, call the SCSI command completion handler.
for another command by buslogic_queuecommand.
*/
*/
HOSTDATA
(
shpnt
)
->
sc
[
mbo
]
=
NULL
;
sctmp
->
scsi_done
(
sctmp
)
;
}
}
}
}
...
@@ -1344,7 +1354,7 @@ int buslogic_abort(Scsi_Cmnd *scpnt)
...
@@ -1344,7 +1354,7 @@ int buslogic_abort(Scsi_Cmnd *scpnt)
#if 1
#if 1
static
const
unsigned
char
buscmd
[]
=
{
CMD_START_SCSI
};
static
const
unsigned
char
buscmd
[]
=
{
CMD_START_SCSI
};
struct
mailbox
*
mb
;
struct
mailbox
*
mb
;
size_t
mbi
,
mbo
;
int
mbi
,
mbo
,
last_mbi
;
unsigned
long
flags
;
unsigned
long
flags
;
unsigned
int
i
;
unsigned
int
i
;
...
@@ -1355,28 +1365,30 @@ int buslogic_abort(Scsi_Cmnd *scpnt)
...
@@ -1355,28 +1365,30 @@ int buslogic_abort(Scsi_Cmnd *scpnt)
save_flags
(
flags
);
save_flags
(
flags
);
cli
();
cli
();
mb
=
HOSTDATA
(
scpnt
->
host
)
->
mb
;
mb
=
HOSTDATA
(
scpnt
->
host
)
->
mb
;
mbi
=
HOSTDATA
(
scpnt
->
host
)
->
last_mbi_used
+
1
;
last_mbi
=
HOSTDATA
(
scpnt
->
host
)
->
last_mbi_used
;
mbi
=
last_mbi
+
1
;
if
(
mbi
>=
2
*
BUSLOGIC_MAILBOXES
)
if
(
mbi
>=
2
*
BUSLOGIC_MAILBOXES
)
mbi
=
BUSLOGIC_MAILBOXES
;
mbi
=
BUSLOGIC_MAILBOXES
;
do
{
do
{
if
(
mb
[
mbi
].
status
!=
MBX_NOT_IN_USE
)
if
(
mb
[
mbi
].
status
!=
MBX_NOT_IN_USE
)
break
;
break
;
last_mbi
=
mbi
;
mbi
++
;
mbi
++
;
if
(
mbi
>=
2
*
BUSLOGIC_MAILBOXES
)
if
(
mbi
>=
2
*
BUSLOGIC_MAILBOXES
)
mbi
=
BUSLOGIC_MAILBOXES
;
mbi
=
BUSLOGIC_MAILBOXES
;
}
while
(
mbi
!=
HOSTDATA
(
scpnt
->
host
)
->
last_mbi_used
);
}
while
(
mbi
!=
HOSTDATA
(
scpnt
->
host
)
->
last_mbi_used
);
restore_flags
(
flags
);
if
(
mb
[
mbi
].
status
!=
MBX_NOT_IN_USE
)
{
if
(
mb
[
mbi
].
status
!=
MBX_NOT_IN_USE
)
{
buslogic_printk
(
"lost interrupt discovered on irq %d"
buslogic_printk
(
"lost interrupt discovered on irq %d
,
"
" - attempting to recover...
\n
"
,
" - attempting to recover...
\n
"
,
scpnt
->
host
->
irq
);
scpnt
->
host
->
irq
);
{
HOSTDATA
(
scpnt
->
host
)
->
last_mbi_used
=
last_mbi
;
buslogic_interrupt
(
scpnt
->
host
->
irq
,
NULL
);
buslogic_interrupt
(
scpnt
->
host
->
irq
,
NULL
);
restore_flags
(
flags
);
return
SCSI_ABORT_SUCCESS
;
return
SCSI_ABORT_SUCCESS
;
}
}
}
restore_flags
(
flags
);
/* OK, no lost interrupt. Try looking to see how many pending commands we
/* OK, no lost interrupt. Try looking to see how many pending commands we
think we have. */
think we have. */
...
...
drivers/scsi/eata_dma.c
View file @
f1bf8612
...
@@ -710,7 +710,7 @@ int get_conf_PIO(struct eata_register *base, struct get_conf *buf)
...
@@ -710,7 +710,7 @@ int get_conf_PIO(struct eata_register *base, struct get_conf *buf)
while
(
inb
((
uint
)
base
+
HA_RSTATUS
)
&
HA_SDRQ
)
while
(
inb
((
uint
)
base
+
HA_RSTATUS
)
&
HA_SDRQ
)
inw
((
uint
)
base
+
HA_RDATA
);
inw
((
uint
)
base
+
HA_RDATA
);
if
(
warning
==
TRUE
)
if
(
warning
==
TRUE
)
printk
(
"Warning: HBA with IO on 0x%p de
c
tected,
\n
"
printk
(
"Warning: HBA with IO on 0x%p detected,
\n
"
" this IO space is already allocated, probably by the IDE driver.
\n
"
" this IO space is already allocated, probably by the IDE driver.
\n
"
" This might lead to problems."
,
base
);
" This might lead to problems."
,
base
);
return
(
TRUE
);
return
(
TRUE
);
...
...
fs/nfs/file.c
View file @
f1bf8612
...
@@ -123,7 +123,7 @@ static int nfs_file_read(struct inode *inode, struct file *file, char *buf,
...
@@ -123,7 +123,7 @@ static int nfs_file_read(struct inode *inode, struct file *file, char *buf,
if
((
cache
[
i
].
inode_num
==
inode
->
i_ino
)
if
((
cache
[
i
].
inode_num
==
inode
->
i_ino
)
&&
(
cache
[
i
].
file_pos
<=
pos
)
&&
(
cache
[
i
].
file_pos
<=
pos
)
&&
(
cache
[
i
].
file_pos
+
cache
[
i
].
len
>=
pos
+
count
)
&&
(
cache
[
i
].
file_pos
+
cache
[
i
].
len
>=
pos
+
count
)
&&
(
abs
(
jiffies
-
cache
[
i
].
time
)
<
=
EXPIRE_CACHE
))
&&
(
abs
(
jiffies
-
cache
[
i
].
time
)
<
EXPIRE_CACHE
))
break
;
break
;
if
(
i
<
READ_CACHE_SIZE
)
{
if
(
i
<
READ_CACHE_SIZE
)
{
++
cache
[
i
].
in_use
;
++
cache
[
i
].
in_use
;
...
...
fs/select.c
View file @
f1bf8612
...
@@ -237,11 +237,10 @@ asmlinkage int sys_select( unsigned long *buffer )
...
@@ -237,11 +237,10 @@ asmlinkage int sys_select( unsigned long *buffer )
}
}
current
->
timeout
=
timeout
;
current
->
timeout
=
timeout
;
i
=
do_select
(
n
,
&
in
,
&
out
,
&
ex
,
&
res_in
,
&
res_out
,
&
res_ex
);
i
=
do_select
(
n
,
&
in
,
&
out
,
&
ex
,
&
res_in
,
&
res_out
,
&
res_ex
);
if
(
current
->
timeout
>
jiffies
)
timeout
=
current
->
timeout
-
jiffies
-
1
;
timeout
=
current
->
timeout
-
jiffies
;
else
timeout
=
0
;
current
->
timeout
=
0
;
current
->
timeout
=
0
;
if
((
long
)
timeout
<
0
)
timeout
=
0
;
if
(
tvp
&&
!
(
current
->
personality
&
STICKY_TIMEOUTS
))
{
if
(
tvp
&&
!
(
current
->
personality
&
STICKY_TIMEOUTS
))
{
put_fs_long
(
timeout
/
HZ
,
(
unsigned
long
*
)
&
tvp
->
tv_sec
);
put_fs_long
(
timeout
/
HZ
,
(
unsigned
long
*
)
&
tvp
->
tv_sec
);
timeout
%=
HZ
;
timeout
%=
HZ
;
...
...
include/asm-alpha/byteorder.h
View file @
f1bf8612
...
@@ -6,6 +6,9 @@
...
@@ -6,6 +6,9 @@
#undef htonl
#undef htonl
#undef htons
#undef htons
#define LITTLE_ENDIAN
#define LITTLE_ENDIAN_BITFIELD
extern
unsigned
long
int
ntohl
(
unsigned
long
int
);
extern
unsigned
long
int
ntohl
(
unsigned
long
int
);
extern
unsigned
short
int
ntohs
(
unsigned
short
int
);
extern
unsigned
short
int
ntohs
(
unsigned
short
int
);
extern
unsigned
long
int
htonl
(
unsigned
long
int
);
extern
unsigned
long
int
htonl
(
unsigned
long
int
);
...
...
include/asm-i386/byteorder.h
View file @
f1bf8612
...
@@ -6,6 +6,9 @@
...
@@ -6,6 +6,9 @@
#undef htonl
#undef htonl
#undef htons
#undef htons
#define LITTLE_ENDIAN 1234
#define LITTLE_ENDIAN_BITFIELD
extern
unsigned
long
int
ntohl
(
unsigned
long
int
);
extern
unsigned
long
int
ntohl
(
unsigned
long
int
);
extern
unsigned
short
int
ntohs
(
unsigned
short
int
);
extern
unsigned
short
int
ntohs
(
unsigned
short
int
);
extern
unsigned
long
int
htonl
(
unsigned
long
int
);
extern
unsigned
long
int
htonl
(
unsigned
long
int
);
...
...
include/asm-mips/byteorder.h
View file @
f1bf8612
...
@@ -6,6 +6,16 @@
...
@@ -6,6 +6,16 @@
#undef htonl
#undef htonl
#undef htons
#undef htons
#ifdef MIPSEL
#define LITTLE_ENDIAN
#define LITTLE_ENDIAN_BITFIELD
#elif MIPSEB
#define BIG_ENDIAN
#define BIG_ENDIAN_BITFIELD
#else
#error "MIPS but neither MIPSEL nor MIPSEB?"
#endif
extern
unsigned
long
int
ntohl
(
unsigned
long
int
);
extern
unsigned
long
int
ntohl
(
unsigned
long
int
);
extern
unsigned
short
int
ntohs
(
unsigned
short
int
);
extern
unsigned
short
int
ntohs
(
unsigned
short
int
);
extern
unsigned
long
int
htonl
(
unsigned
long
int
);
extern
unsigned
long
int
htonl
(
unsigned
long
int
);
...
...
include/asm-sparc/byteorder.h
View file @
f1bf8612
...
@@ -6,6 +6,9 @@
...
@@ -6,6 +6,9 @@
#undef htonl
#undef htonl
#undef htons
#undef htons
#define BIG_ENDIAN
#define BIG_ENDIAN_BITFIELD
extern
unsigned
long
int
ntohl
(
unsigned
long
int
);
extern
unsigned
long
int
ntohl
(
unsigned
long
int
);
extern
unsigned
short
int
ntohs
(
unsigned
short
int
);
extern
unsigned
short
int
ntohs
(
unsigned
short
int
);
extern
unsigned
long
int
htonl
(
unsigned
long
int
);
extern
unsigned
long
int
htonl
(
unsigned
long
int
);
...
...
include/linux/bios32.h
View file @
f1bf8612
...
@@ -48,5 +48,5 @@ extern int pcibios_write_config_word (unsigned char bus,
...
@@ -48,5 +48,5 @@ extern int pcibios_write_config_word (unsigned char bus,
unsigned
char
device_fn
,
unsigned
char
where
,
unsigned
short
value
);
unsigned
char
device_fn
,
unsigned
char
where
,
unsigned
short
value
);
extern
pcibios_write_config_dword
(
unsigned
char
bus
,
extern
pcibios_write_config_dword
(
unsigned
char
bus
,
unsigned
char
device_fn
,
unsigned
char
where
,
unsigned
long
value
);
unsigned
char
device_fn
,
unsigned
char
where
,
unsigned
long
value
);
extern
char
*
pcibios_strerror
(
int
error
);
#endif
/* ndef BIOS32_H */
#endif
/* ndef BIOS32_H */
include/linux/ip.h
View file @
f1bf8612
...
@@ -16,7 +16,7 @@
...
@@ -16,7 +16,7 @@
*/
*/
#ifndef _LINUX_IP_H
#ifndef _LINUX_IP_H
#define _LINUX_IP_H
#define _LINUX_IP_H
#include <asm/byteorder.h>
#define IPOPT_END 0
#define IPOPT_END 0
#define IPOPT_NOOP 1
#define IPOPT_NOOP 1
...
@@ -34,26 +34,14 @@ struct timestamp {
...
@@ -34,26 +34,14 @@ struct timestamp {
__u8
len
;
__u8
len
;
__u8
ptr
;
__u8
ptr
;
union
{
union
{
#if defined(__i386__)
#if defined(LITTLE_ENDIAN_BITFIELD)
__u8
flags
:
4
,
overflow:
4
;
#elif defined(__mc68000__)
__u8
overflow
:
4
,
flags:
4
;
#elif defined(__MIPSEL__)
__u8
flags
:
4
,
overflow:
4
;
#elif defined(__MIPSEB__)
__u8
overflow
:
4
,
flags:
4
;
#elif defined(__alpha__)
__u8
flags
:
4
,
__u8
flags
:
4
,
overflow:
4
;
overflow:
4
;
#elif defined(
__sparc__
)
#elif defined(
BIG_ENDIAN_BITFIELD
)
__u8
overflow
:
4
,
__u8
overflow
:
4
,
flags:
4
;
flags:
4
;
#else
#else
#error "
Adjust this structure to match your CPU
"
#error "
Please fix <asm/byteorder.h>
"
#endif
#endif
__u8
full_char
;
__u8
full_char
;
}
x
;
}
x
;
...
@@ -84,26 +72,14 @@ struct options {
...
@@ -84,26 +72,14 @@ struct options {
struct
iphdr
{
struct
iphdr
{
#if defined(__i386__)
#if defined(LITTLE_ENDIAN_BITFIELD)
__u8
ihl
:
4
,
version:
4
;
#elif defined (__mc68000__)
__u8
version
:
4
,
ihl:
4
;
#elif defined(__MIPSEL__)
__u8
ihl
:
4
,
version:
4
;
#elif defined(__MIPSEB__)
__u8
version
:
4
,
ihl:
4
;
#elif defined(__alpha__)
__u8
ihl
:
4
,
__u8
ihl
:
4
,
version:
4
;
version:
4
;
#elif defined (
__sparc__
)
#elif defined (
BIG_ENDIAN_BITFIELD
)
__u8
version
:
4
,
__u8
version
:
4
,
ihl:
4
;
ihl:
4
;
#else
#else
#error
"Adjust this structure to match your CPU
"
#error
"Please fix <asm/byteorder.h>
"
#endif
#endif
__u8
tos
;
__u8
tos
;
__u16
tot_len
;
__u16
tot_len
;
...
...
include/linux/tcp.h
View file @
f1bf8612
...
@@ -26,7 +26,7 @@ struct tcphdr {
...
@@ -26,7 +26,7 @@ struct tcphdr {
__u16
dest
;
__u16
dest
;
__u32
seq
;
__u32
seq
;
__u32
ack_seq
;
__u32
ack_seq
;
#if defined(
__i386__
)
#if defined(
LITTLE_ENDIAN_BITFIELD
)
__u16
res1
:
4
,
__u16
res1
:
4
,
doff:
4
,
doff:
4
,
fin:
1
,
fin:
1
,
...
@@ -36,47 +36,7 @@ struct tcphdr {
...
@@ -36,47 +36,7 @@ struct tcphdr {
ack:
1
,
ack:
1
,
urg:
1
,
urg:
1
,
res2:
2
;
res2:
2
;
#elif defined(__mc68000__)
#elif defined(BIG_ENDIAN_BITFIELD)
__u16
res2
:
2
,
urg:
1
,
ack:
1
,
psh:
1
,
rst:
1
,
syn:
1
,
fin:
1
,
doff:
4
,
res1:
4
;
#elif defined(__MIPSEL__)
__u16
res1
:
4
,
doff:
4
,
fin:
1
,
syn:
1
,
rst:
1
,
psh:
1
,
ack:
1
,
urg:
1
,
res2:
2
;
#elif defined(__MIPSEB__)
__u16
res2
:
2
,
urg:
1
,
ack:
1
,
psh:
1
,
rst:
1
,
syn:
1
,
fin:
1
,
doff:
4
,
res1:
4
;
#elif defined(__alpha__)
__u16
res1
:
4
,
doff:
4
,
fin:
1
,
syn:
1
,
rst:
1
,
psh:
1
,
ack:
1
,
urg:
1
,
res2:
2
;
#elif defined(__sparc__)
__u16
res2
:
2
,
__u16
res2
:
2
,
urg:
1
,
urg:
1
,
ack:
1
,
ack:
1
,
...
@@ -87,7 +47,7 @@ struct tcphdr {
...
@@ -87,7 +47,7 @@ struct tcphdr {
doff:
4
,
doff:
4
,
res1:
4
;
res1:
4
;
#else
#else
#error "Adjust
this structure for your cpu alignment rul
es"
#error "Adjust
your <asm/byteorder.h> defin
es"
#endif
#endif
__u16
window
;
__u16
window
;
__u16
check
;
__u16
check
;
...
...
kernel/ksyms.c
View file @
f1bf8612
...
@@ -34,9 +34,10 @@
...
@@ -34,9 +34,10 @@
#include <linux/delay.h>
#include <linux/delay.h>
#include <linux/config.h>
#include <linux/config.h>
#ifdef CONFIG_
I
NET
#ifdef CONFIG_NET
#include <linux/net.h>
#include <linux/net.h>
#include <linux/netdevice.h>
#include <linux/netdevice.h>
#ifdef CONFIG_INET
#include <linux/ip.h>
#include <linux/ip.h>
#include <linux/tcp.h>
#include <linux/tcp.h>
#include "../net/inet/protocol.h"
#include "../net/inet/protocol.h"
...
@@ -45,6 +46,7 @@
...
@@ -45,6 +46,7 @@
#include "../drivers/net/slhc.h"
#include "../drivers/net/slhc.h"
#endif
#endif
#endif
#endif
#endif
#ifdef CONFIG_PCI
#ifdef CONFIG_PCI
#include <linux/pci.h>
#include <linux/pci.h>
#endif
#endif
...
@@ -105,6 +107,7 @@ struct symbol_table symbol_table = {
...
@@ -105,6 +107,7 @@ struct symbol_table symbol_table = {
X
(
pcibios_read_config_byte
),
X
(
pcibios_read_config_byte
),
X
(
pcibios_read_config_word
),
X
(
pcibios_read_config_word
),
X
(
pcibios_read_config_dword
),
X
(
pcibios_read_config_dword
),
X
(
pcibios_strerror
),
X
(
pcibios_write_config_byte
),
X
(
pcibios_write_config_byte
),
X
(
pcibios_write_config_word
),
X
(
pcibios_write_config_word
),
X
(
pcibios_write_config_dword
),
X
(
pcibios_write_config_dword
),
...
@@ -277,6 +280,7 @@ struct symbol_table symbol_table = {
...
@@ -277,6 +280,7 @@ struct symbol_table symbol_table = {
X
(
inet_add_protocol
),
X
(
inet_add_protocol
),
X
(
inet_del_protocol
),
X
(
inet_del_protocol
),
#if defined(CONFIG_PPP) || defined(CONFIG_SLIP)
#if defined(CONFIG_PPP) || defined(CONFIG_SLIP)
/* VJ header compression */
X
(
slhc_init
),
X
(
slhc_init
),
X
(
slhc_free
),
X
(
slhc_free
),
X
(
slhc_remember
),
X
(
slhc_remember
),
...
@@ -321,6 +325,11 @@ struct symbol_table symbol_table = {
...
@@ -321,6 +325,11 @@ struct symbol_table symbol_table = {
#endif
#endif
#ifdef CONFIG_SCSI
#ifdef CONFIG_SCSI
/* Supports loadable scsi drivers */
/* Supports loadable scsi drivers */
/*
* in_scan_scsis is a hack, and should go away once the new
* memory allocation code is in the NCR driver
*/
X
(
in_scan_scsis
),
X
(
scsi_register_module
),
X
(
scsi_register_module
),
X
(
scsi_unregister_module
),
X
(
scsi_unregister_module
),
X
(
scsi_free
),
X
(
scsi_free
),
...
@@ -331,6 +340,8 @@ struct symbol_table symbol_table = {
...
@@ -331,6 +340,8 @@ struct symbol_table symbol_table = {
X
(
scsi_init_malloc
),
X
(
scsi_init_malloc
),
X
(
scsi_init_free
),
X
(
scsi_init_free
),
X
(
print_command
),
X
(
print_command
),
X
(
print_msg
),
X
(
print_status
),
#endif
#endif
/* Added to make file system as module */
/* Added to make file system as module */
X
(
set_writetime
),
X
(
set_writetime
),
...
...
mm/swap.c
View file @
f1bf8612
...
@@ -523,7 +523,7 @@ static int swap_out(unsigned int priority)
...
@@ -523,7 +523,7 @@ static int swap_out(unsigned int priority)
int
loop
,
counter
;
int
loop
,
counter
;
struct
task_struct
*
p
;
struct
task_struct
*
p
;
counter
=
2
*
nr_tasks
>>
priority
;
counter
=
6
*
nr_tasks
>>
priority
;
for
(;
counter
>=
0
;
counter
--
)
{
for
(;
counter
>=
0
;
counter
--
)
{
/*
/*
* Check that swap_task is suitable for swapping. If not, look for
* Check that swap_task is suitable for swapping. If not, look for
...
@@ -605,7 +605,7 @@ static int try_to_free_page(int priority)
...
@@ -605,7 +605,7 @@ static int try_to_free_page(int priority)
if
(
swap_out
(
i
))
if
(
swap_out
(
i
))
return
1
;
return
1
;
state
=
0
;
state
=
0
;
}
while
(
--
i
);
}
while
(
i
--
);
}
}
return
0
;
return
0
;
}
}
...
...
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