Commit Graph

11192 Commits

Author SHA1 Message Date
bde
6d03d74f4d Don't pretend to support ix86's with 16-bit ints by using longs
just to ensure 32-bit variables.  Doing so broke i386's with 64-bit
longs.
1998-07-14 11:42:05 +00:00
bde
e36151731d If object pointers need to be cast to [unsigned] integers, then cast
to [u]intptr_t instead of to [u_]long.

Don't cast pointers to integers just to do ordinary pointer arithmetic
on them, especially when the casts use gcc's feature of casting lvalues.
1998-07-14 11:34:22 +00:00
bde
953a0fb050 Avoid some casts of pointers to integers (of possibly different sizes). 1998-07-14 11:19:32 +00:00
ahasty
f50a6d3380 I checked in the wrong version yesterday . The correct version is 1.38
Amancio
1998-07-14 07:11:20 +00:00
bde
d6c062241e Don't pretend to support ix86's with 16-bit ints and 32-bit registers
by using longs just to ensure 32-bit variables.  Long variables don't
fit in 32-bit registers on ix86's with 64-bit longs.
1998-07-14 06:17:28 +00:00
bde
2859579bb3 Changed to the C9x draft spelling of the (unsigned) integral type
suitable for holding object pointers (ptrint_t -> uintptr_t).
Added corresponding signed type (intptr_t).  Changed/added
corresponding non-C9x types for function pointers to match.  Don't
use nonstandard types to implement these types, and don't comment
on them in <machine/types.h>.
1998-07-14 05:09:48 +00:00
wpaul
d664e9e266 Declare pointers to CSR register space to be volatile. This seems to
cure the problems I was having with interrupts not being acknowledged
on time. This fixes a problem I observed where starting two ping -f
processes at 10Mbps would cause an adapter check due to TX GO commands
being issued before TXEOC interrupts were being acked.

Also fix a small problem with tl_start(): the mechanism I was using
to queue new packets onto the TX chain was bogus.

Change adapter check handler so that it resets card state after
tl_softreset() is stored.

Moved all EEPROM-related macro definitions into if_tlreg.h.

Don't allow an autoneg session to start until after the TX queue has
been drained, and don't transmit anything until after the autoneg
session is complete.

Also add support for two more Compaq ThunderLAN-based cards, and three
cards from Olicom which also use the ThunderLAN chip. The only thing
different about the Olicom cards is that they store the station address
at a different location within the EEPROM.
1998-07-13 18:15:48 +00:00
bde
4fbe38255e Removed a bogus forward struct declaration.
Cleaned up ifdefs.
1998-07-13 12:20:07 +00:00
bde
d65126c9e0 Fixed some longs that should have been fixed-sized types. 1998-07-13 12:12:25 +00:00
bde
30206db799 Fixed overflow and sign extension bugs in
`len = min(so->so_snd.sb_cc, win) - off;'.  min() has type u_int
and `off' has type int, so when min() is 0 and `off' is 1, the RHS
overflows to 0U - 1 = UINT_MAX.  `len' has type long, so when
sizeof(long) == sizeof(int), the LHS normally overflows to to the
correct value of -1, but when sizeof(long) > sizeof(int), the LHS
is UINT_MAX.

Fixed some u_long's that should have been fixed-sized types.
1998-07-13 11:53:59 +00:00
bde
b2dbf7c615 Declare tcp_seq and tcp_cc as fixed-size types. Half fixed type
mismatches exposed by this (the prototype for tcp_respond() didn't
match the  function definition lexically, and still depends on a
gcc feature to match if ints have more than 32 bits).
1998-07-13 11:09:52 +00:00
bde
9565f437d7 Declare id_mask as a fixed-size type. 1998-07-13 11:01:03 +00:00
bde
49e0b7f31b Declare n_short, n_long and n_time as fixed-sized types. Don't ifdef
n_long or n_short specially for alphas.
1998-07-13 10:54:24 +00:00
bde
eaa849202d Don't attempt to optimize the space allocated for bpf headers if
sizeof(struct bpf_hdr) > 20.  20 is normal on 32-bit systems with
32-bit alignment, but we still assume that the last 2 bytes of the
struct are unnecessary padding on such systems.  On systems with
64-bit longs, struct timeval is bloated to 16 bytes, so bpf headers
certainly don't fit in 18 bytes.
1998-07-13 10:44:02 +00:00
bde
d404dbc5cf Fixed printf format errors (only 1 left in GENERIC now). 1998-07-13 09:53:11 +00:00
kato
7d57e44de9 Sync with sys/i386/isa/fd.c and wd.c revisions 1.117 and 1.172,
respectively.
1998-07-13 09:29:25 +00:00
julian
864388fa4c SLICE probing becomes asynchronous. It can now be triggered by
interupt level events. This needs a lot of cleanup, but has been working
here for a month or two.. originally needed for CAM integration
but that hasn't happenned yet. The probing  state machines for each
handler should be replaced by a more generic state-service. It's
still quite messy in there..
1998-07-13 08:23:05 +00:00
bde
7e4a3824c0 Fixed printf format errors. 1998-07-13 07:05:55 +00:00
bde
ead15fb933 Added macros __printflike() and __scanflike() to <sys/cdefs.h>.
Use them to `make gcc -Wformat' check formats for all printf-like
and scanf-like functions in /usr/src except for the err()/warn()
family.  err() isn't quite printf-like since its format arg can
legitimately be NULL.  syslog() isn't quite printf-like, but gcc
already accepts %m, even for plain printf() when it shouldn't.
1998-07-13 06:45:23 +00:00
julian
322fc7915b Fix braino in last commit.
Not even sure how I got this commit in as it didn't even compile.
1998-07-13 06:34:02 +00:00
ahasty
59819825b6 Improved Hauppauge's tuner detection and bt878 support
Amancio
1998-07-13 02:16:34 +00:00
se
9c8b4678da Remove unused member reselet from struct tstamp. 1998-07-12 20:32:52 +00:00
se
5e31a07d44 Fix size of time stamps (had been time_t before the variable "time" was
hidden). Now "ticks" are used, which are 4 byte, not 8 byte in size.
The size mismatch did not matter due to sufficient padding at the end
of the structure that holds time stamps (there is an unused member).

The fix suggested by Bruce Evans used "sizeof (ticks_t)", but I prefer
to use "sizeof ticks", and didn't seem to object in his last mail on
this topic.

Submitted by:	bde
1998-07-12 20:26:45 +00:00
dfr
1b514378e5 Set the minimum malloc bucket to 5. In a DIAGNOSTIC kernel, the extra
data in struct freelist is larger than 16 bytes on the alpha.
1998-07-12 16:49:54 +00:00
dfr
af95ec2c3e Point at the correct disk location for alpha disklabels. 1998-07-12 16:48:08 +00:00
dfr
2e1bd6559e Make sure the packet is aligned correctly for the alpha in if_simloop. 1998-07-12 16:46:52 +00:00
dfr
0fcef39f9c Initialise all the fields separately in vattr_null since on the alpha
they are not all the same width.
1998-07-12 16:45:39 +00:00
dfr
e0df23826a Overhaul the spl system so that it actually works properly. 1998-07-12 16:32:10 +00:00
dfr
7192e8a507 Don't bother calling pmap_emulate_reference() from cpu_fork(). It isn't
needed and it panics a DIAGNOSTIC kernel.
1998-07-12 16:30:58 +00:00
dfr
81ebcbfeae Define option DEC_EB164 1998-07-12 16:28:09 +00:00
dfr
e218271aed Add entry for prom console. 1998-07-12 16:27:34 +00:00
dfr
6c307ac694 Add some bits and pieces for my test box. 1998-07-12 16:26:52 +00:00
dfr
3422925a11 Update to new interrupt api. 1998-07-12 16:23:19 +00:00
dfr
22baca8c78 Change interrupt api to be closer to intr_create/intr_connect. 1998-07-12 16:20:52 +00:00
dfr
cd96e0d3b2 Implement CIA interrupts.
Obtained from: SRM console magic from NetBSD
1998-07-12 16:17:54 +00:00
dfr
a9fe2ae9f5 Implement intr_create/intr_connect. 1998-07-12 16:16:22 +00:00
dfr
ece5b8151e Implement promcncheckc. 1998-07-12 16:15:06 +00:00
dfr
66c8e2ce2f Add some debug code.
Always clear TLB in pmap_activate, even if activating curproc's pmap.
1998-07-12 16:13:54 +00:00
dfr
72e016ccc7 Add a couple of sysctls and implement sendsig/sigreturn.
Obtained from: signal code from NetBSD
1998-07-12 16:10:52 +00:00
dfr
0dd29639cc Add some generic interrupt dispatch code. 1998-07-12 16:09:30 +00:00
dfr
11ea53f077 Add definition of p_switchtime. 1998-07-12 16:08:15 +00:00
dfr
d5adff507b Include opt_ddb.h. 1998-07-12 16:07:43 +00:00
dfr
27739ed2f0 Hardwire the root disk of my test box for now. 1998-07-12 16:07:05 +00:00
kato
912b09ffb0 Sync with sys/i386/conf/Makefile.i386 revision 1.117. 1998-07-12 14:30:54 +00:00
bde
70b2d83b9c Removed historical dependencies on `Makefile'. They had rotted to being
mostly for objects that have the fewest dependencies on `Makefile'
(since they were mostly for utilities and objects generated from *.s
and these don't depend on profiling flags).

Give an explicit rule for building vnode_if.o.  This fixes building
it without ${PROF}.

Use .ORDER instead of a stamp file to avoid building vnode_if.[ch]
concurrently.

Removed explicit dependencies that will be generated by `make' (.c.o)
or will be generated by mkdep.

Added missing dependencies of special objects on opt_global.h.

Use ${NORMAL_C} instead of special rules for special objects where
possible.

FIxed dependencies of vers.o.
1998-07-12 10:47:32 +00:00
bde
315f3aed95 Removed all traces of PARAM in Makefile.i386. Incremented CONFIGVERS
to reflect the dependency of Makefile.i386 on nothing being put in
PARAM.

Config versioning is too closely coupled with the Makefile.i386.
1998-07-12 09:52:45 +00:00
bde
f1a9b4d6c4 Prepare to handle MAXUSERS as a normal option. 1998-07-12 01:48:14 +00:00
kato
1321442195 Sync with sys/i386/isa/wd.c revision 1.171. 1998-07-11 17:02:48 +00:00
kato
179fe4d055 Sync with sys/i386/isa/fd.c revision 1.116. 1998-07-11 17:02:07 +00:00
kato
48881fe821 Sync with sys/i386/isa/diskslice_machdep.c revision 1.28. 1998-07-11 17:01:25 +00:00