Commit Graph

28111 Commits

Author SHA1 Message Date
dwmalone
86cf053ae0 Hopefully improve control message passing over Unix domain sockets.
1) Allow the sending of more than one control message at a time
over a unix domain socket. This should cover the PR 29499.

2) This requires that unp_{ex,in}ternalize and unp_scan understand
mbufs with more than one control message at a time.

3) Internalize and externalize used to work on the mbuf in-place.
This made life quite complicated and the code for sizeof(int) <
sizeof(file *) could end up doing the wrong thing. The patch always
create a new mbuf/cluster now. This resulted in the change of the
prototype for the domain externalise function.

4) You can now send SCM_TIMESTAMP messages.

5) Always use CMSG_DATA(cm) to determine the start where the data
in unp_{ex,in}ternalize. It was using ((struct cmsghdr *)cm + 1)
in some places, which gives the wrong alignment on the alpha.
(NetBSD made this fix some time ago).

This results in an ABI change for discriptor passing and creds
passing on the alpha. (Probably on the IA64 and Spare ports too).

6) Fix userland programs to use CMSG_* macros too.

7) Be more careful about freeing mbufs containing (file *)s.
This is made possible by the prototype change of externalise.

PR:		29499
MFC after:	6 weeks
2001-10-04 13:11:48 +00:00
dwmalone
4be03ca19c Allow sbcreatecontrol to make cluster sized control messages. 2001-10-04 12:59:53 +00:00
jhb
825c3e09f6 Remove extraneous semicolon.
Submitted by:	Maxime Henrion <mux@qualys.com>
2001-10-04 10:39:56 +00:00
jhb
5adad7bfe9 Comment out RESTARTABLE_PANICS so that it is not defined in LINT. It
introduces many useless warnings obscuring the useful ones.
2001-10-04 10:31:51 +00:00
jhb
7d9178b7e1 Whitespace fixes. 2001-10-04 10:18:00 +00:00
dfr
f75497bb3b Add a couple of low-level acpi support files. 2001-10-04 08:45:54 +00:00
dfr
b5a44e4761 Add low-level ACPI support code and make a start on parsing the ACPI
interrupt information.
2001-10-04 08:45:19 +00:00
dfr
9c65ee6d6b Add busspace hacks for ia64. 2001-10-04 08:33:16 +00:00
dfr
974d6a2329 Use return_PTR, not return_VALUE when returning pointers. 2001-10-04 08:32:18 +00:00
dfr
158d043f88 Check the compatible ID as well as the hardware ID in acpi_MatchHid. 2001-10-04 08:31:17 +00:00
bde
c5bb23781e Fixed pedantic syntax error (trailing semicolon in enum). 2001-10-04 07:51:42 +00:00
bde
1e25e4053d Fixed style bugs (indentation errors, missing punctuation, and unsorting)
in rev.1.61.
2001-10-04 07:25:16 +00:00
bde
d46fa27980 Fixed a missing forward declaration and unsorting of prototypes in rev.1.18. 2001-10-04 07:12:37 +00:00
bde
47d228f315 Fixed a missing proc -> thread substitution.
Broke future detection of this bug in userland by not declaring kernel
prototypes in userland.
2001-10-03 17:23:26 +00:00
sos
174605ab56 Doh! committed from the wrong tree, this is the right "stuff"... 2001-10-03 11:36:25 +00:00
sos
f6777e1335 Proberly support the Promise TX2/4.
Programming info kindly provided by Daniela Engert <dani@ngrt.de>
2001-10-03 08:27:29 +00:00
dfr
17f2c62587 The encoding for the bus being passed to SAL was completely wrong. 2001-10-03 08:25:58 +00:00
sos
f181b807ce cosmetics in the bootverbose probe- 2001-10-03 08:25:37 +00:00
sos
8f9173fea7 Hopefully fix the identify failed on ATAPI slaves on some notebooks. 2001-10-03 08:25:11 +00:00
takawata
f24a98e690 Add PnP ID 'IBM3781' for TP240 mouse. 2001-10-03 07:26:28 +00:00
mjacob
a8a01b12b0 Let's not kid ourselves- we don't *really* support jumbframes yet.
We only support the size of frame we are currently allocating, which
is MCLBYTES - sizeof (struct ether_header) usable, so don't set an
MTU that would go over this.
2001-10-02 22:36:49 +00:00
des
e96a60dd27 Add a PFS_DISABLED flag; pfs_visible() automatically returns 0 if it is set
on the node in question.  Also add two API functions for setting and clearing
this flag; setting it also reclaims all vnodes associated with the node.
2001-10-02 22:22:42 +00:00
mjacob
1a3f19d036 Various fixes and improvements- some from the folks at Sitara Networks (thx) 2001-10-02 22:21:21 +00:00
des
6ac4dc906e Only print "XXX (un)registered" message if bootverbose. 2001-10-02 22:21:07 +00:00
mjacob
37494cc800 Fix problem where a user buffer outside of the area being tested
will be corrupted.

PR:		29194
Obtained from:	Tor.Egge@fast.no
MFC after:	2 weeks
2001-10-02 18:34:20 +00:00
mjacob
531fdd5ce2 Documentation comment: note that the each NIC's softc is assumed to start
with an ifnet structure.

MFC after:	1 week
2001-10-02 18:08:34 +00:00
rwatson
63b7da3bb4 o Replace two direct uid!=0 comparisons with suser_xxx() calls.
Obtained from:	TrustedBSD Project
2001-10-02 14:41:43 +00:00
rwatson
bf46cc0b03 o Replace two direct uid!=0 comparisons with suser_td() calls.
Obtained from:	TrustedBSD Project
2001-10-02 14:34:22 +00:00
yokota
e40169e551 Fix the ANSI color escape sequence \E[m.
- Corretly map the ansi color number to a PC BIOS color.
- Handle multiple arguments to the escape sequence.
2001-10-02 13:11:35 +00:00
yokota
b377b77110 Fix the local macro: isvisible().
- The space char (0x20) IS a visible char :-)
2001-10-02 09:13:07 +00:00
marcel
0109c69c21 Remove redundant and misplaced "options DDB" line. 2001-10-02 06:18:23 +00:00
dillon
c998ec6a97 Backout the last commit. The problem is actually much worse then I
first thought and may require serious work to the VOP_RENAME() api itself.
Basically, by the time the VOP_RENAME() function is called, it's already
too late.
2001-10-02 04:26:58 +00:00
dillon
5eaf310a14 IN_RENAME should only be cleared by the routine that set it. This fixes
a rename/rmdir race that has been shown to cause a panic.

Bug reported by: Yevgeniy Aleynikov <eugenea@infospace.com>
MFC after:	3 days
2001-10-02 02:58:48 +00:00
mjacob
808dd02094 Remove all OpenBSD/NetBSD code. It was the right place to start from, but
it now really gets in the way.

This allows us to fix several problems- not least of which was problems
of ordering about when you'd have a device softc for an miibus child
available or not. Move some steps of things around.

Put the ifnet/arpcom structure at the head of the softc (PR 29249).

Don't do tx gc in the interrupt service routine- that seems to make
things a bit more efficient.

Enable jumbo support by default- but this version of 'jumbo' is broken
because it really is just using multiple tfd/rfd's to match a packet,
which will never be > CLSIZE anyway.

This should begin the first steps toward cleaning this driver up.

PR:		29249
MFC after:	1 week
2001-10-02 00:13:44 +00:00
silby
bee3ac5b1e grammar fix: to -> too 2001-10-01 23:41:13 +00:00
mjacob
cd878c913c Note the 'common knowledge' assumption that each NIC's softc starts
with an ifnet structure (so device_get_softc will get one).

If memory allocation fails in mii_phy_probe, don't just march ahead into
a panic- return ENOMEM.

MFC after:	1 week
2001-10-01 22:57:57 +00:00
jhb
57562e1667 Move the ap boot spin lock earlier in the lock order before the sio(4)
lock since we occasionally call printf() while holding the ap boot lock
which can call down into the sio(4) driver if using a serial console.
2001-10-01 22:50:30 +00:00
jhb
fb7fca45bb Sigh, statclock_process() takes a KSE instead of a thread for its first
argument.
2001-10-01 22:26:47 +00:00
imp
8b90844e6d Add d_thread_t. This is a typedef for struct thread in -current and
will be one for struct proc in stable.  those drivers needing to have
cross version portability should use d_thread_t instead of inventing
their own means.  Non-drivers, and drivers that either only run on
-current or must look under the covers of the struct proc/thread
should must not use this.

As noted in arch@, this minorly violates style(9), but the sys/conf.h
devsw already violates this and all I'm doing is extending the
violation to ease the burdon on device driver writers.  It was judged
that this minor violation, which doesn't impact userland or those
people not using it, was preferable to the alternatives (eg #define
proc thread).  C does not allow a way to rename or alias structs
easily, so we fall back to using a typedef.

Bump FreeBSD_version to reflect this change (porters guide to be done
in a separate commit).
2001-10-01 20:15:11 +00:00
rwatson
75a3f18a2a o Complete the migration from suser error checking in the following form
in vfs_syscalls.c:

    if (mp->mnt_stat.f_owner != p->p_ucred->cr_uid &&
        (error = suser_td(td)) != 0) {
            unwrap_lots_of_stuff();
            return (error);
    }

  to:

    if (mp->mnt_stat.f_owner != p->p_ucred->cr_uid) {
            error = suser_td(td);
            if (error) {
                unwrap_lots_of_stuff();
                return (error);
            }
    }

  This makes the code more readable when complex clauses are in use,
  and minimizes conflicts for large outstanding patchsets modifying the
  kernel authorization code (of which I have several), especially where
  existing authorization and context code are combined in the same if()
  conditional.

Obtained from:	TrustedBSD Project
2001-10-01 20:01:07 +00:00
jlemon
88dd97daaf Update the hash table when sppp mucks directly with the interface address. 2001-10-01 18:14:49 +00:00
jlemon
6bc13e1485 in_ifinit apparently can be used to rewrite an ip address; recalculate
the correct hash bucket for the entry.

Submitted by: iedowse  (with some munging by me)
2001-10-01 18:07:08 +00:00
jlemon
9453c7902b sppp rewrites the interface's ip address directly; this breaks when the
address is looked up via a hash table.  Add a hack to move the entry to
a new hash bucket when the address changes.

Submitted by: tmm
2001-10-01 18:03:56 +00:00
luigi
b607d229d2 Fix a problem with unnumbered rules introduced in latest commit.
Reported by: des
2001-10-01 17:35:54 +00:00
ru
623da62a5a mdoc(7) police: Use the new .In macro for #include statements. 2001-10-01 16:09:29 +00:00
sos
c1ee14e95c Change the way DAO/TAO mode is init'ed.
Fix a bogon introduced in the previous commit, that broke CDIOREADSUBCHANNEL.
2001-10-01 14:59:52 +00:00
sos
16fee969d4 Add test_write element. 2001-10-01 14:56:56 +00:00
yokota
d6dabd898e Fix the function CD(): "Clear to the end of the screen".
- When the video BIOS is called to clear the region (x, y)-(79, 24)
  (by scrolling), the slashed region in Fig.1 is cleared.  CD() is
  supposed to clear the region shown in Fig.2.
        x                 x
    +-------+         +-------+
    |       |         |       |
   y|   ////|        y|   ////|
    |   ////|         |///////|
    |   ////|         |///////|
    +-------+         +-------+
      Fig.1             Fig.2

- Don't move the cursor during this operation.
2001-10-01 11:48:02 +00:00
yokota
a82b496607 This is white-space only change. No functional difference.
- Be consistent about placing spaces around keywords and
  operators; don't mix statements like "if(A==B)" and "if (X == Y)",
  "return(0)" and "return (-1)", "P=10" and "Q = 0", etc.

- Consitently indent lines. It's not good to indent by 8 columns
  in one part of the file, and by 4 columns in the other part.
2001-10-01 11:42:25 +00:00
dillon
5a5b9f79f4 After extensive testing it has been determined that adding complexity
to avoid removing higher level directory vnodes from the namecache has
no perceivable effect and will be removed.  This is especially true
when vmiodirenable is turned on, which it is by default now.  ( vmiodirenable
makes a huge difference in directory caching ).  The vfs.vmiodirenable and
vfs.nameileafonly sysctls have been left in to allow further testing, but
I expect to rip out vfs.nameileafonly soon too.

I have also determined through testing that the real problem with numvnodes
getting too large is due to the VM Page cache preventing the vnode from
being reclaimed.  The directory stuff made only a tiny dent relative
to Poul's original code, enough so that some tests succeeded.  But tests
with several million small files show that the bigger problem is the VM Page
cache.  This will have to be addressed by a future commit.

MFC after:	3 days
2001-10-01 04:33:35 +00:00