Commit Graph

31630 Commits

Author SHA1 Message Date
Nick Hibma
2334e40985 intline == 0 is not a valid intline on 386. See pci_cfgintr() in
sys/i386/pci/pci_cfgreg.c.

This should resolve some cases where adding USB support to the kernel
produced an interrupt storm.
2002-04-10 07:35:28 +00:00
Peter Wemm
d637e9891d Add missing 'struct ifreq ifr;' that was forgotten in the last commit. 2002-04-10 06:07:16 +00:00
Warner Losh
81f027f8fe I've fixed the X11 port, so I can remove the (ioctl) hack.
This hack turns out to be a bad idea.  Many auto configuration scripts
will #include a bunch of system headers, run it through cpp and then
grep/sed to see if there was really a prototype.  The regular
expressions that are used to test this didn't accept all possible
legal ANSI-C prototypes.  In particular, they didn't accept the ()
around ioctl.  Several different programs do this, so eliminating the
parans will keep FreeBSD maximally compatible with other systems.

Appologies to: obrien (he was right in the end)

This potentally breaks some ports (and fixes vim and others that
haven't been fixed to deal with the parens).
2002-04-10 04:53:37 +00:00
SUZUKI Shinsuke
ee0a4f7ee7 fixed a kernel crash when enabling multicast on vlan interface
owing to a NULL argument to vlan_ioctl() at if_allmulti().

Reviewed by:    ume
MFC after:   	1 week
2002-04-10 04:18:42 +00:00
John Baldwin
7edfb592df - Change settime() to take a thread as its first argument instead of a proc
so it can use td_ucred.
- Push Giant down into the end of settime() where we actually set the time
  on the timecounter and time of day clock.
- Remove Giant from clock_settime().
- Push Giant down in settimeofday() to just protect the 'tz' global
  variable.
2002-04-10 04:09:07 +00:00
Dima Dorfman
f4c5dfbb9a Treat input on the snp device as an `unsigned char'. According to the
submitter, this permits Russian (and probably other locales') characters
to be entered via watch(8).

PR:		35636
Submitted by:	Gleb Smirnoff <glebius@rinet.ru>
2002-04-10 03:51:49 +00:00
Brian Somers
0df8bd54e6 Add a digi_delay() function and use it instead of tsleep() when polling
the card for command completion.

digi_delay() uses either tsleep() or DELAY() depending on the value of
``cold''.

Pointed in the right direction by: jhb
2002-04-10 03:13:28 +00:00
Jeff Roberson
bce9779110 Remember to unlock the zone if the fill count is too high.
Pointed out by:	pete, jake, jhb
2002-04-10 01:52:50 +00:00
Brian Somers
6ce6e2be71 Remove the code that masks an EEXIST returned from rtinit() when
calling ioctl(SIOC[AS]IFADDR).

This allows the following:

  ifconfig xx0 inet 1.2.3.1 netmask 0xffffff00
  ifconfig xx0 inet 1.2.3.17 netmask 0xfffffff0 alias
  ifconfig xx0 inet 1.2.3.25 netmask 0xfffffff8 alias
  ifconfig xx0 inet 1.2.3.26 netmask 0xffffffff alias

but would (given the above) reject this:

  ifconfig xx0 inet 1.2.3.27 netmask 0xfffffff8 alias

due to the conflicting netmasks.  I would assert that it's wrong
to mask the EEXIST returned from rtinit() as in the above scenario, the
deletion of the 1.2.3.25 address will leave the 1.2.3.27 address
as unroutable as it was in the first place.

Offered for review on: -arch, -net
Discussed with: stephen macmanus <stephenm@bayarea.net>
MFC after: 3 weeks
2002-04-10 01:42:44 +00:00
Brian Somers
5a43847d1c Don't add host routes for interface addresses of 0.0.0.0/8 -> 0.255.255.255.
This change allows bootp to work with more than one interface, at the
expense of some rather ``wrong'' looking code.  I plan to MFC this in
place of luigi's recent #ifdef BOOTP stuff that was committed to this
file in -stable, as that's slightly more wrong that this is.

Offered for review on: -arch, -net
MFC after: 2 weeks
2002-04-10 01:42:32 +00:00
John Baldwin
9522390c28 Display the recursion count in the lock_instance in the show locks
output.

Indirectly requested by:	peter
2002-04-10 01:25:11 +00:00
John Baldwin
9351347a17 Cosmetic fixup in output of lock types in show locks output. 2002-04-10 01:19:53 +00:00
Brian Somers
b50da81d3a Use the PCI port for pci cards, not just for PCIXR cards.
Add the card name to the error message for the first initialisation
failure, giving us more info about what was actually discovered.

This code has been tested by Robert Suetterlin <robert@mpe.mpg.de>
to work on a PCI Xem card.
2002-04-10 01:15:23 +00:00
Brian Somers
f1e4a6e941 In linker_load_module(), check that rootdev != NODEV before calling
linker_search_module().

Without this, modules loaded from loader.conf that then try to load
in additional modules (such as digi.ko loading a card's BIOS) die
badly in the vn_open() called from linker_search_module().

It may be worth checking (KASSERTing?) that rootdev != NODEV in
vn_open() too.
2002-04-10 01:14:45 +00:00
Brian Somers
96987c74d6 Change linker_reference_module() so that it's passed a struct
mod_depend * (which may be NULL).  The only consumer of this
function at the moment is digi_loadmoduledata(), and that passes
a NULL mod_depend *.

In linker_reference_module(), check to see if we've already got
the required module loaded.  If we have, bump the reference count
and return that, otherwise continue the module search as normal.
2002-04-10 01:13:57 +00:00
Brian Somers
a1b85c51bb Add some missing MODULE_VERSIONs
Without these, the kern_linker interface doesn't record these pseudo-drivers,
making them unavailable via modlist_lookup2*().
2002-04-10 01:12:55 +00:00
Daniel C. Sobral
231b8f199f Upgrade FICL to 3.02. Forgot this one, sorry.
PR:		36308
Submitted by:	dcs
2002-04-09 20:59:34 +00:00
John Baldwin
65c9b4303b - Change fill_kinfo_proc() to require that the process is locked when it
is called.
- Change sysctl_out_proc() to require that the process is locked when it
  is called and to drop the lock before it returns.  If this proves too
  complex we can change sysctl_out_proc() to simply acquire the lock at
  the very end and have the calling code drop the lock right after it
  returns.
- Lock the process we are going to export before the p_cansee() in the
  loop in sysctl_kern_proc() and hold the lock until we call
  sysctl_out_proc().
- Don't call p_cansee() on the process about to be exported twice in
  the aforementioned loop.
2002-04-09 20:10:46 +00:00
John Baldwin
ad278afdf0 Change the first argument of prison_xinpcb() to be a thread pointer instead
of a proc pointer so that prison_xinpcb() can use td_ucred.
2002-04-09 20:04:10 +00:00
John Baldwin
9b28af9165 Whitespace changes to wrap long lines. 2002-04-09 20:01:16 +00:00
John Baldwin
6dc958b9ff We don't need Giant to read the pgrp ID since the proc lock has protected
p_pgrp since the pgrp locking went in.  We also don't need it to check for
invalid values in the options argument to wait1(), so push Giant down
slightly.
2002-04-09 20:00:40 +00:00
John Baldwin
16e7bc7b90 - Remove an early KSE diagnostic panic. The thread pointer here is always
curthread.
- We don't need Giant to do suser() checks now, so don't lock Giant until
  after the check.
2002-04-09 19:58:38 +00:00
John Baldwin
7f5092f330 Round 2 of munging the MI/MD split in NOTES. Put almost all the device
drivers with MI portions into the MI notes.  Device drivers such as busses
like the isa, eisa, and pci devices are now in the MD NOTES section even
though they have some MI code.  This will ensure that only the proper bits
of device drivers will be included due to the optional bits dependent on
the busses in sys/conf/files.  This commit also takes the stance that since
hints are ignored in NOTES anyways, it is ok to include hints for a bus
that may not be present.

Advice from:    bde
2002-04-09 18:26:58 +00:00
Mike Silbersack
c3b2fe55ba Update comments to reflect the recent ephemeral port range
change.

Noticed by:	ru
MFC After:	1 day
2002-04-09 18:01:26 +00:00
Daniel C. Sobral
be88b71603 Upgrade to FICL version 3.02. Anything wrong is my fault, everything right is
due Jon Mini.

PR:		36308
Submitted by:	Jon Mini <mini@haikugeek.com>
MFC after:	4 weeks
2002-04-09 17:45:28 +00:00
John Baldwin
2b60cfc5ce Don't lock the ithread lock in ithread_create(). The ithread isn't on any
lists or in any tables yet so there are no other references to it, thus
we don't need to lock it.
2002-04-09 16:26:37 +00:00
Poul-Henning Kamp
1bdb20a68e Implement DIOCGFRONTSTUFF ioctl which reports how many bytes from the start
of the device magic stuff might occupy.

Sponsored by: DARPA & NAI Labs.
2002-04-09 15:43:32 +00:00
Poul-Henning Kamp
c7b1a1d1c3 Various stylistic nit picking.
Sponsored by: DARPA & NAI Labs.
2002-04-09 15:17:59 +00:00
Poul-Henning Kamp
a4ef1c5f92 Introduce the convenience function g_getattr() and make it DWIM.
Sponsored by: DARPA & NAI Labs.
2002-04-09 15:13:42 +00:00
Poul-Henning Kamp
0d3f37a804 Constifixation of attribute argument to g_io_[gs]etattr()
Sponsored by:	DARPA & NAI Labs
2002-04-09 15:12:05 +00:00
Poul-Henning Kamp
e2a685488d Describe the generic disk ioctls in some detail.
Sponsored by: DARPA & NAI Labs
2002-04-09 15:09:54 +00:00
Poul-Henning Kamp
85b16a0d1a Constifixion of bio_attribute. 2002-04-09 14:03:02 +00:00
Josef Karthauser
242fcd8d18 Slight tidy up to reduce the differences between our version and NetBSD's.
(No functional changes).
2002-04-09 12:55:46 +00:00
Poul-Henning Kamp
2ce7d7a033 GC various bits and pieces of USERCONFIG from all over the place. 2002-04-09 11:18:46 +00:00
Poul-Henning Kamp
1aec374128 machine/uc_device.h was only here for USERCONFIG and kget(1).
We have neither anymore.
2002-04-09 11:04:42 +00:00
Poul-Henning Kamp
7f086a0852 Rename DIOCGKERNELDUMP to DIOCSKERNELDUMP as it strictly speaking
is a "set" not a "get" operation.

Sponsored by:	DARPA & NAI Labs.
2002-04-09 10:04:09 +00:00
Doug Rabson
63fe680462 Define a complete set of accessors for application and control registers. 2002-04-09 09:03:30 +00:00
Doug Rabson
2d1fae48d5 Don't call make_dev from ssccnattach - its far too early to work properly. 2002-04-09 08:53:57 +00:00
David E. O'Brien
4961d6f99c Back out rev 1.11. People want a FUBARed prototype that breaks many
things.
2002-04-09 05:17:44 +00:00
Jeff Roberson
a59f8b9e6c Turn #ifdef LOOKUP_SHARED into #ifndef LOOKUP_EXCLUSIVE to enable this
behavior by default.  Also, change the options line to reflect this.

If there are no problems reported this will become the only behavior and the
knob will be removed in a month or so.

Demanded by:	obrien
2002-04-09 05:14:17 +00:00
David E. O'Brien
1de038230a Back out revision 1.11 which wrapped the ioctl prototype w/()'s.
While it may have allowed the XFree86 4 port to build; it killed TONS
of other ports.  The XFree86 4 can be patched to not use its macro a lot
easier than figuring how to deal with 1000 other now-broken ports.
2002-04-09 02:22:13 +00:00
Jake Burkholder
22d67801e6 Forgot these files in previous commit to frame.h. Also add needed include
of machine/emul.h.
2002-04-09 01:43:07 +00:00
Jake Burkholder
d134a05e90 Oops. machine/emul.h didn't exist yet. 2002-04-09 01:42:19 +00:00
Jake Burkholder
82436f1067 Rename some fields in struct frame to be compatible with NetBSD/OpenBSD,
and add some compatibility defines.  Add fields for ins and locals to
struct reg also for the same reason; these aren't filled in yet because
getting at those registers sucks and I'd rather not save them in the
trapframe just for this.  Reorder struct reg to be ABI compatible as
well.  Add needed include of machine/emul.h.

This gets pmdb (poor man's debugger) from OpenBSD mostly compiling but it
doesn't work yet :(
2002-04-09 00:57:23 +00:00
Jake Burkholder
530faa0f9e Add device se (commented out, most people won't find this useful yet). 2002-04-09 00:37:33 +00:00
Jake Burkholder
7c53bb3492 Use the right major number. 2002-04-09 00:35:26 +00:00
Jake Burkholder
24d1f113ab Grab a major number for the se driver. 2002-04-09 00:34:18 +00:00
Jake Burkholder
b1377f8959 Add the se driver. 2002-04-09 00:30:43 +00:00
Jake Burkholder
48af45c161 Add a low level console driver for the Siemens SAB82532 chip found in many
newer ultras and probably other sun machines.  This is a pretty decent
chip with 32 byte read and write fifos and support for many higher baud
rates.  It supports hdlc and sdlc as well as asynchronoue serial, but the
goal here is just decent serial console support for the sparc64 port, so
these modes are not expected to be supported.  So far this only has support
for the low level routines used by kernel printf and thus ddb over serial,
a character device which can be used for login consoles has not yet been
written.
2002-04-09 00:24:20 +00:00
Jake Burkholder
bb75d97e13 Fix another unsigned long used to index the symbol table which should be
Elf_Hashelt.
2002-04-09 00:05:46 +00:00