Commit Graph

11224 Commits

Author SHA1 Message Date
Doug Rabson
adf93ebc41 Point at the right place for alpha registers. 1998-07-15 20:18:00 +00:00
Doug Rabson
a22401deb1 Make ptrace work. 1998-07-15 20:16:28 +00:00
Doug Rabson
6a5694427a Tweaks for cross-building from NetBSD/alpha.
Submitted by: Andrew Gallatin <gallatin@cs.duke.edu>
1998-07-15 20:12:54 +00:00
Doug Rabson
718c0cbefb Add some debug code. 1998-07-15 20:07:33 +00:00
Doug Rabson
a6481f0baf An mc146818a clock attached to an isa bus. 1998-07-15 19:21:31 +00:00
Doug Rabson
28c3132268 Linker script for alpha kernel. 1998-07-15 19:19:24 +00:00
Bruce Evans
18da528d41 Changed %n to %r in devfs name format strings. %n has almost gone away. 1998-07-15 12:18:34 +00:00
Bruce Evans
1be1e72fd8 Don't cast pointers to longs in asm statements.
These asm statments are not quite as pessimal as when I complained
about them in rev.1.9 of audio.c.  They seem to be only 40% slower
than the C version on P5's and the same speed on K6's.
1998-07-15 11:47:58 +00:00
Bruce Evans
0fc3927d33 %n in a comment was a poor abbreviation for Immediate-byte-signed,
especially now that %n format has almost gone away.
1998-07-15 11:27:11 +00:00
Bruce Evans
51d5e97efa The ioctl request arg is unsigned log, so don't attempt to pass it
around as signed int.

Fixed printf format error for ioctl request arg hidden in ifdefed code.
1998-07-15 10:11:21 +00:00
Bruce Evans
29d6b96d69 The ioctl request arg is unsigned long, so don't attempt to pass it
around as signed int.
1998-07-15 09:59:31 +00:00
Bruce Evans
ea878c61f1 Don't pretend to support ix86's with 16-bit ints by using longs
just to ensure 32-bit variables.
1998-07-15 09:38:10 +00:00
Bruce Evans
c3f62164d5 Don't cast pointers to longs in asms. Changed all remaining longs
to int32_t's and all unsigned longs to u_int32_t's.  Fixed the one
printf format broken by this.  The old math emulator now compiles
cleanly on i386's with 64-bit longs.  It may even work, provided
suword() doesn't actually write a long.
1998-07-15 09:01:18 +00:00
Bruce Evans
30166fabb6 Cast between longs and pointers via intptr_t. There shouldn't be
nearly so many casts here.  Casting an pointer that was an integer
back to an integer just to compare it with -1 is bad, and casting
it back just to compare it with NULL is just wrong.
1998-07-15 06:51:14 +00:00
Bruce Evans
d4d88b1e4d Cast between u_longs and object pointers via uintptr_t.
Access the entry address as a uintfptr_t, not as a long, and not
necessarily as what modload(8) passes (it takes a u_long from the
exec header and passes a u_int).
1998-07-15 06:39:12 +00:00
Bruce Evans
aae0aa4593 Cast between longs and pointers via intptr_t. The results of fuword()
should be checked before casting.  The results of suword() should be
checked.
1998-07-15 06:19:33 +00:00
Bruce Evans
1ede4662be Cast longs to intptr_t before casting them to pointers.
Fixed bitrot in pseudo-declaration of `struct fcntl_args'.  fcntl()
is now broken in some cases when ints are larger than longs.
1998-07-15 06:10:16 +00:00
Bruce Evans
c2da0fd903 Cast pointers to intptr_t instead of or before casting to long.
Fixed bitrot in K&R support (suword() now takes a long word).
Didn't fix corresponding bitrot in store.9 and fetch.9.

The correct types for the store and fetch families are problematic.
The `word' functions are unfortunately named and need to be split
to handle ints/longs/object pointers/function pointers.  Storing
argv[] as longs is quite broken when longs are longer than pointers,
but usually works because it clobbers variables that will soon be
reinitialized.
1998-07-15 05:21:48 +00:00
Bruce Evans
7cd99438f8 Cast u_longs to uintptr_t before casting them to pointers. Don't
attempt to even partially support systems with function pointers
larger than object pointers.
1998-07-15 05:00:26 +00:00
Bruce Evans
6a206dd96a Cast function pointers to uintfptr_t before casting them to u_long.
Hopefully caddr_t is large enough to hold function pointers.

Cast object pointers to uintptr_t before casting them to u_long.

Types are wronger than usual for the PT_READ_U case.  ptrace() can
only return ints, but longs are accessed.
1998-07-15 04:43:49 +00:00
Bruce Evans
15c7382561 Cast pointers to [u]intptr_t instead of to [unsigned] long. 1998-07-15 04:17:55 +00:00
Bruce Evans
4b81ec76d1 Cast the value returned by strtoul() to a uintptr_t before casting
it to a pointer.  There's nothing better than strtoul() for reading
pointers from strings, but the range checking should be better.
1998-07-15 04:03:54 +00:00
Bruce Evans
fc93c1bd67 Cast virtual addresses that happen to be represented as u_longs to
uintptr_t before casting them to pointers.  Explicit u_longs should
never be used to represent virtual addresses... (vm_offset_t is
normally right).
1998-07-15 03:58:57 +00:00
Bruce Evans
a23d65bfc8 Cast pointers to uintptr_t/intptr_t instead of to u_long/long,
respectively.  Most of the longs should probably have been
u_longs, but this changes is just to prevent warnings about
casts between pointers and integers of different sizes, not
to fix poorly chosen types.
1998-07-15 02:32:35 +00:00
Søren Schmidt
aad7cac45a Add support for the AVer Media range of cards. 1998-07-14 21:19:58 +00:00
Mike Smith
bf707fd0b2 Add missing register name defines. 1998-07-14 17:13:23 +00:00
Bruce Evans
eb95adeff5 Print pointers using %p instead of attempting to print them by
casting them to long, etc.  Fixed some nearby printf bogons (sign
errors not warned about by gcc, and style bugs, but not truncation
of vm_ooffset_t's).
1998-07-14 12:26:15 +00:00
Bruce Evans
101eeb7f9f Print pointers using %p instead of attempting to print them by
casting them to long, etc.  Fixed some nearby printf bogons (sign
errors not warned about by gcc, and style bugs, but not truncation
of vm_ooffset_t's).

Use slightly less bogus casts for passing pointers to ddb command
functions.
1998-07-14 12:14:58 +00:00
Bruce Evans
3cc954df66 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
Bruce Evans
b017a12bfd 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
Bruce Evans
88472e74e8 Avoid some casts of pointers to integers (of possibly different sizes). 1998-07-14 11:19:32 +00:00
Amancio Hasty
596e9516c8 I checked in the wrong version yesterday . The correct version is 1.38
Amancio
1998-07-14 07:11:20 +00:00
Bruce Evans
8f5aca410f 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
Bruce Evans
37889b394a 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
Bill Paul
fb1305c426 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
Bruce Evans
5914e1ea80 Removed a bogus forward struct declaration.
Cleaned up ifdefs.
1998-07-13 12:20:07 +00:00
Bruce Evans
0c8d2590e3 Fixed some longs that should have been fixed-sized types. 1998-07-13 12:12:25 +00:00
Bruce Evans
9105bb4680 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
Bruce Evans
07a4df4fee 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
Bruce Evans
99c819ef77 Declare id_mask as a fixed-size type. 1998-07-13 11:01:03 +00:00
Bruce Evans
e53040ef71 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
Bruce Evans
c086febef5 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
Bruce Evans
9bffbcd4f5 Fixed printf format errors (only 1 left in GENERIC now). 1998-07-13 09:53:11 +00:00
KATO Takenori
6baa65474d 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 Elischer
ad27f8d9a5 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
Bruce Evans
9f14a215f4 Fixed printf format errors. 1998-07-13 07:05:55 +00:00
Bruce Evans
748993b899 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 Elischer
eaaeb9f30c 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
Amancio Hasty
63ca8cabf9 Improved Hauppauge's tuner detection and bt878 support
Amancio
1998-07-13 02:16:34 +00:00
Stefan Eßer
e1b7cfe2bf Remove unused member reselet from struct tstamp. 1998-07-12 20:32:52 +00:00
Stefan Eßer
e275daef22 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
Doug Rabson
722a066c80 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
Doug Rabson
8596f3994f Point at the correct disk location for alpha disklabels. 1998-07-12 16:48:08 +00:00
Doug Rabson
3a43ad8f22 Make sure the packet is aligned correctly for the alpha in if_simloop. 1998-07-12 16:46:52 +00:00
Doug Rabson
7a6c46b55a 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
Doug Rabson
52c008e810 Overhaul the spl system so that it actually works properly. 1998-07-12 16:32:10 +00:00
Doug Rabson
8e8c234f4d 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
Doug Rabson
bb8a6f725b Define option DEC_EB164 1998-07-12 16:28:09 +00:00
Doug Rabson
3a130d871a Add entry for prom console. 1998-07-12 16:27:34 +00:00
Doug Rabson
8777a8098d Add some bits and pieces for my test box. 1998-07-12 16:26:52 +00:00
Doug Rabson
d538e9fca6 Update to new interrupt api. 1998-07-12 16:23:19 +00:00
Doug Rabson
45c95fa1d6 Change interrupt api to be closer to intr_create/intr_connect. 1998-07-12 16:20:52 +00:00
Doug Rabson
d19af714d3 Implement CIA interrupts.
Obtained from: SRM console magic from NetBSD
1998-07-12 16:17:54 +00:00
Doug Rabson
b46e6c4115 Implement intr_create/intr_connect. 1998-07-12 16:16:22 +00:00
Doug Rabson
2895b128c7 Implement promcncheckc. 1998-07-12 16:15:06 +00:00
Doug Rabson
a85c203100 Add some debug code.
Always clear TLB in pmap_activate, even if activating curproc's pmap.
1998-07-12 16:13:54 +00:00
Doug Rabson
78e3c75746 Add a couple of sysctls and implement sendsig/sigreturn.
Obtained from: signal code from NetBSD
1998-07-12 16:10:52 +00:00
Doug Rabson
56abfaf4eb Add some generic interrupt dispatch code. 1998-07-12 16:09:30 +00:00
Doug Rabson
cefd88ce75 Add definition of p_switchtime. 1998-07-12 16:08:15 +00:00
Doug Rabson
3b7389bd33 Include opt_ddb.h. 1998-07-12 16:07:43 +00:00
Doug Rabson
323df54807 Hardwire the root disk of my test box for now. 1998-07-12 16:07:05 +00:00
KATO Takenori
0faba01ed8 Sync with sys/i386/conf/Makefile.i386 revision 1.117. 1998-07-12 14:30:54 +00:00
Bruce Evans
a872b9bdd0 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
Bruce Evans
784c3c3465 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
Bruce Evans
95de6ecfe8 Prepare to handle MAXUSERS as a normal option. 1998-07-12 01:48:14 +00:00
KATO Takenori
c435f1ef25 Sync with sys/i386/isa/wd.c revision 1.171. 1998-07-11 17:02:48 +00:00
KATO Takenori
13992e6dc1 Sync with sys/i386/isa/fd.c revision 1.116. 1998-07-11 17:02:07 +00:00
KATO Takenori
70e1187f6c Sync with sys/i386/isa/diskslice_machdep.c revision 1.28. 1998-07-11 17:01:25 +00:00
KATO Takenori
e1c32d9d2d Sync with sys/i386/i386/machdep.c revision 1.303. 1998-07-11 17:00:33 +00:00
Bruce Evans
bef7db2e66 Moved definition of fscale from param.c to kern_synch.c where it
should always have been (it has no user-servicable parts even at
compile time) and staticized it.
1998-07-11 13:06:41 +00:00
Bruce Evans
a435d1e61b Fixed printf format errors.
Use offsetof() instead of null pointer hacks.
1998-07-11 12:17:07 +00:00
Bruce Evans
92c4c4eb52 Fixed printf format errors. 1998-07-11 12:07:52 +00:00
Bruce Evans
fc62ef1fb5 Fixed printf format errors. 1998-07-11 11:30:46 +00:00
Bruce Evans
767dfb80f8 Fixed printf format errors. 1998-07-11 11:10:46 +00:00
Bruce Evans
da2181925b Fixed printf format errors. 1998-07-11 10:51:01 +00:00
Bruce Evans
2f18a2801b Fixed printf format errors. 1998-07-11 10:45:45 +00:00
Bruce Evans
ed62fb52ec Fixed printf format errors. 1998-07-11 10:28:47 +00:00
Poul-Henning Kamp
3d1af38b35 Don't disable pmap_setdevram() which isn't called, but which could be,
but instead disable pmap_setvidram() which is called, but probably
shouldn't be.

PR:		7227, 7240
1998-07-11 08:29:38 +00:00
Poul-Henning Kamp
3bc7e56592 Improve a couple of comment.
PR:		7242
Reviewed by:	phk
Submitted by:	Peter Jeremy <peter.jeremyp@alcatel.com.au>
1998-07-11 08:01:18 +00:00
Bruce Evans
ac1e407b32 Fixed printf format errors. 1998-07-11 07:46:16 +00:00
Bruce Evans
a838d83d8f Don't pretend to support ix86's with 7-bit ints by using longs just to
ensure 8-bit variables.  Doing so mainly bogotified some printf formats.
1998-07-11 06:35:39 +00:00
Bruce Evans
88bf59fcda Don't pretend to support ix86's with 16-bit ints by using longs just to
ensure 32-bit variables.  Doing so mainly bogotified some printf formats.

Fixed disorder in md_var.h.
1998-07-11 05:59:35 +00:00
Bruce Evans
00be8601cd Don't pretend to support ix86's with 16-bit ints by using longs
just to ensure 32-bit variables.  Doing so broke and/or pessimized
i386's with 64-bit longs (unnecessary use of 64-bit variables
caused remarkably few problems in C code, but the inline asm here
tended to fail because there are no 64-bit registers).  Since the
interfaces here are very machine-dependent and shouldn't be used
outside of the kernel, use a standard types of "known" width instead
of fixed-width types.

Changed all quad_t's to u_int64_t's.  quad_t isn't standard, and
using signed types for 64-bit registers was bogus (but made no
difference).
1998-07-11 04:58:25 +00:00
Julian Elischer
e06ccb171b Add ipforward option 1998-07-11 04:46:27 +00:00
Bruce Evans
9d508ad2d9 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.  Use fixed-size integral types instead of plain ints, shorts,
chars and pointers since the bootinfo struct layout is a binary
interface.  The boot blocks could reasonably be implemented using
16-bit code.
1998-07-11 04:02:49 +00:00
Jordan K. Hubbard
d14897d381 Quick and dirty support for Linux's mremap. Not used by anything
but quake2 AFAIK.

Submitted by:   Luoqi Chen <luoqi@watermarkgroup.com>
1998-07-10 22:30:08 +00:00
Alexander Langer
c5b75d8223 Removed no longer valid comment about swb_block being int instead of
daddr_t.

PR:		7238
Submitted by:	Stefan Eggers <seggers@semyam.dinoco.de>
1998-07-10 21:50:17 +00:00
Alexander Langer
427e99a0b8 Removed unnecessary test from if/else construct.
PR:		7233
Submitted by:	Stefan Eggers <seggers@semyam.dinoco.de>
1998-07-10 17:58:35 +00:00
Bruce Evans
930a642372 Oops, fptrint_t still needs to be declared in <machine/profile.h> in the
!KERNEL case.  The kludge to get it declared in libc/gmon/mcount.c wasn't
sufficient because fptrint_t is used in <sys/gmon.h>.
1998-07-10 09:26:41 +00:00
Bruce Evans
1009171eb2 Oops, forgot to modify the pointer-int typedefs from the i386 version. 1998-07-10 02:34:50 +00:00