Commit Graph

27339 Commits

Author SHA1 Message Date
Matthew Dillon
f708f4d189 Giant Pushdown ACL syscalls:
__acl_get_file, __acl_set_file, __acl_get_fd, __acl_set_fd,
	__acl_delete_file, __acl_delete_fd, __acl_aclcheck_file,
	__acl_aclcheck_fd
2001-09-01 04:33:22 +00:00
Matthew Dillon
f7b200fd2f regenerate syscalls 2001-09-01 03:56:12 +00:00
Matthew Dillon
918c3b1361 Make yield() MPSAFE.
Synchronize syscalls.master with all MPSAFE changes to date.  Synchronize
new syscall generation follows because yield() will panic if it is out
of sync with syscalls.master.
2001-09-01 03:54:09 +00:00
Matthew Dillon
116734c4d1 Pushdown Giant for acct(), kqueue(), kevent(), execve(), fork(),
vfork(), rfork(), jail().
2001-09-01 03:04:31 +00:00
John Baldwin
8c8a7645c7 Axe stale mp_fixme(). 2001-09-01 00:49:29 +00:00
Mike Smith
2a4684aa19 Don't claim memory resources owned by a PNP0C01 device ("system memory")
as some systems claim the entire physical address space is owned by it.
2001-08-31 22:59:04 +00:00
Matthew Dillon
4e174404a3 Pushdown Giant for nfs syscalls (nfssvc()) 2001-08-31 22:39:36 +00:00
Matthew Dillon
2afac34da3 Make various posix4 system calls MPSAFE (will fixup syscalls.master later)
sched_setparam()
    sched_getparam()
    sched_setscheduler()
    sched_getscheduler()
    sched_yield()
    sched_get_priority_max()
    sched_get_priority_min()
    sched_rr_get_interval()
2001-08-31 22:34:40 +00:00
Matthew Dillon
7feaf028be make swapon() MPSAFE (will adjust syscalls.master later) 2001-08-31 22:15:37 +00:00
Matthew Dillon
7e39632bc8 Add FD_SETSIZE warning to types.h 2001-08-31 22:12:32 +00:00
Matthew Dillon
6a33d53c48 mark obreak() and ovadvise() as being MPSAFE 2001-08-31 22:10:03 +00:00
Murray Stokely
b64e68c520 Add ID for the Best Data Smart One 56SPS Voice modem.
PR:		kern/24851
Submitted by:	Daniel Rudy <dcrudy@aol.com>
2001-08-31 21:51:00 +00:00
Robert Watson
93f4fd1cb6 o Screw over users of the kern.{security.,}suser_permitted sysctl again,
by renaming it to kern.security.suser_enabled.  This makes the name
  consistent with other use: "permitted" now refers to a specific right
  or privilege, whereas "enabled" refers to a feature.  As this hasn't
  been MFC'd, and using this destroys a running system currently, I believe
  the user base of the sysctl will not be too unhappy.
o While I'm at it, un-staticize and export the supporting variable, as it
  will be used by kern_cap.c shortly.

Obtained from:	TrustedBSD Project
2001-08-31 21:44:12 +00:00
Murray Stokely
ba5b94fef7 Correct the ID for the ALS0120 PnP Joystick. It is different from the
ALS0110.

PR:		kern/22617
Submitted by:	Mike Holling <myke@fks.bt>
2001-08-31 21:40:56 +00:00
Matt Jacob
e8a0f829da note 2300/2312 support 2001-08-31 21:39:56 +00:00
Matt Jacob
126ec86486 Add 2 Gigabit Fibre Channel support (2300 && 2312 cards). This required
some reworking (and consequent cleanup) of the interrupt service code.

Also begin to start a cleanup of target mode support that will (eventually)
not require more inforamtion routed with the ATIO to come back with the
CTIO other than tag.

MFC after:	4 weeks
2001-08-31 21:39:04 +00:00
Matt Jacob
a2f1799115 Add 2300/2312 (2Gbit) firmware. 2001-08-31 21:25:15 +00:00
Murray Stokely
6e66dd6b62 Add OMRON ME5614ISA PnP modem.
PR:		kern/22801
Submitted by:	Ryuzo Okada <R.Okada@mm.neweb.ne.jp>
2001-08-31 20:37:02 +00:00
Murray Stokely
4fd606bfba Add PCI device IDs for Kuotech dual port serial cards.
Also give example of the flags needed to use these cards.

PR:		kern/21242
Submitted by:	Shigeki Moride <moride@portside.net>
2001-08-31 20:16:00 +00:00
Mike Smith
05c03ed9b8 Don't activate placeholder resources; it can be very expensive in the
SYS_RES_MEMORY case, and it shouldn't be necessary.
2001-08-31 18:08:50 +00:00
Jonathan Lemon
14b62f116d Add missing "opt_inet6.h" header. 2001-08-31 13:49:03 +00:00
Jonathan Lemon
255a018115 Whitespace change. 2001-08-31 13:46:22 +00:00
Ruslan Ermilov
162c0b2eff Synch with NetBSD and OpenBSD.
Allow non-superuser to open, listen to, and send safe commands on the
routing socket.  Superuser priviledge is required for all commands
but RTM_GET.

Lose `setuid root' bit of route(8).

Reviewed by:	wollman, dd
2001-08-31 12:31:09 +00:00
Bruce Evans
573e0948ea Don't clobber the default for CFLAGS.
Reviewed by:		dfr
2001-08-31 11:01:20 +00:00
Robert Watson
1b08f101ba o Move definition of CAP_MAX_BUF_LEN to sys/capability.h
(I could have sworn I committed this before, but apparently I missed it
 during the merge, breaking world)

Submitted by:		tmm
Obtained from:	TrustedBSD Project
Pointed out by:	Mike Barcroft <mike@FreeBSD.org>
2001-08-31 07:07:28 +00:00
Peter Wemm
b8603f0e57 Similar to changes on i386/alpha/etc pmap.c; converge on a similar
look/feel on pmap_new_proc() with some cosmetic style changes.
2001-08-31 06:42:45 +00:00
Peter Wemm
80d3dee1c9 Converge with i386/alpha/etc pmap.c for pmap_new_proc/pmap_dispose_proc(). 2001-08-31 06:30:27 +00:00
Peter Wemm
5a4b540da0 Same as i386/i386/pmap.c: clean up some style. This is irrelevant since
it is inside #if 0'ed code, but it would be a shame if this stuff got
cut/pasted elsewhere.
2001-08-31 06:25:28 +00:00
Peter Wemm
0a1b2dd6eb Same treatment as i386/isa/pmap.c - clean up some style to sync towards
KSE diff.
2001-08-31 06:19:08 +00:00
Takanori Watanabe
ff741bef86 Call OS-independent resume routine to execute _WAK .. etc.
This should also recover GPE bit,comment says, though not implemented yet.
2001-08-31 05:36:48 +00:00
Peter Wemm
43295941c4 Do a style cleanup pass for the pmap_{new,dispose,etc}_proc() functions
to get them closer to the KSE tree.  I will do the other $machine/pmap.c
files shortly.
2001-08-31 02:28:01 +00:00
Jonathan Lemon
7c21a36750 Remove already commented out entry for pci/fxp.c 2001-08-31 02:22:48 +00:00
Jonathan Lemon
cf9d4cbfc6 The fxp driver has lived in dev/fxp for some time, remove old files. 2001-08-31 02:21:03 +00:00
Robert Watson
2ac0ae9471 Prototypes for cap_equal_np() and cap_subset_np().
Submitted by:		tmm
Obtained from:	TrustedBSD Project
2001-08-31 02:17:43 +00:00
Robert Watson
197a9029de Note that ASU is now deprecated.
Submitted by:		tmm
Obtained from:	TrustedBSD Project
2001-08-31 02:15:13 +00:00
Mike Smith
91bca55f68 Revert previous "fix"; bus mice still have to be manually probed even in
the presence of PnP data.

Submitted by:	yokota
2001-08-31 02:14:34 +00:00
Peter Wemm
13fdaee622 Tidy up cpu_fork() a little. This is mainly for changes I've been
working on in the KSE area.
2001-08-31 02:11:24 +00:00
Matthew Dillon
d2c60af81a Cleanup 2001-08-31 01:26:30 +00:00
Matthew Dillon
36565f036f Get rid of most of the GIANT_XXX assertion defines. Nobody is going to use
them, including me.
2001-08-31 00:51:35 +00:00
Matthew Dillon
df9987602f Giant pushdown syscalls in kern/uipc_syscalls.c. Affected calls:
recvmsg(), sendmsg(), recvfrom(), accept(), getpeername(), getsockname(),
socket(), connect(), accept(), send(), recv(), bind(), setsockopt(), listen(),
sendto(), shutdown(), socketpair(), sendfile()
2001-08-31 00:37:34 +00:00
John Baldwin
55be7f3e8d Add a UGAR() macro to simplify the diff's for the Giant pushdown. 2001-08-31 00:36:29 +00:00
Matthew Dillon
b6a4b4f9ae Giant Pushdown: sysv shm, sem, and msg calls. 2001-08-31 00:02:18 +00:00
Warner Losh
f99a696093 Add names for the TI PCI-1210, TI PCI-4410 and TI PCI-4450 parts. I had
this for a while, and don't know how it didn't make it into the tree.
2001-08-30 22:48:47 +00:00
Nick Hibma
f3dfa83f4f Add safety belts. A control endpoint doesn't have an endpoint descriptor. 2001-08-30 21:45:28 +00:00
Matt Jacob
16565c1c3d Take CAM_REQUEUE_REQ out of the class of things we were trying to honor
retry count on.

MFC after:	4 weeks
2001-08-30 20:54:00 +00:00
Archie Cobbs
cf2010b81f Fix kernel crash when VLANs are combined with ng_ether(4), by attaching
interfaces of type IFT_L2VLAN as well as IFT_ETHER during module load.

Submitted by:	yar
2001-08-30 19:09:10 +00:00
Matthew Dillon
356861db03 Remove the MPSAFE keyword from the parser for syscalls.master.
Instead introduce the [M] prefix to existing keywords.  e.g.
MSTD is the MP SAFE version of STD.  This is prepatory for a
massive Giant lock pushdown.  The old MPSAFE keyword made
syscalls.master too messy.

Begin comments MP-Safe procedures with the comment:
/*
 * MPSAFE
 */
This comments means that the procedure may be called without
Giant held (The procedure itself may still need to obtain
Giant temporarily to do its thing).

sv_prepsyscall() is now MP SAFE and assumed to be MP SAFE
sv_transtrap() is now MP SAFE and assumed to be MP SAFE

ktrsyscall() and ktrsysret() are now MP SAFE (Giant Pushdown)
trapsignal() is now MP SAFE (Giant Pushdown)

Places which used to do the if (mtx_owned(&Giant)) mtx_unlock(&Giant)
test in syscall[2]() in */*/trap.c now do not.  Instead they
explicitly unlock Giant if they previously obtained it, and then
assert that it is no longer held to catch broken system calls.

Rebuild syscall tables.
2001-08-30 18:50:57 +00:00
Mike Smith
1e670ee4e8 Remove old acpica module 2001-08-30 17:11:11 +00:00
Mike Smith
4804c8adbf ACPI no longer has an ISA attachment. 2001-08-30 17:00:33 +00:00
Matt Jacob
83e9f270b3 Clear SA_FLAG_ERR_PENDING for MTREW, MTERASE and MTRETENS ioctl cases.
Clear residual counts after a successful samount (the user doesn't
care that we got an N-kbyte residual on our test read).

Change a lot of error handling code.

1. If we end up in saerror, check more carefully about the kind of
error. If it is a CAM_SCSI_STATUS_ERROR and it is a read/write
command, we'll be handling this in saerror.  If it isn't a read/write
command, check to see whether this is just an EOM/EOP check condition-
if it is, just set residual and return normally. A residual and
then a NO SENSE check condiftion with the ASC of 0 and ASCQ of
between 1 and 4 are normal 'signifying' events, not errors per se,
and we shouldn't give the command to cam_periph_error to do something
relatively unpredictable with.

2. If we get a Bus Reset, had a BDR sent, or get the cam status of
CAM_REQUEUE_REQ, check the retry count on the command. The default
error handler, cam_periph_error, doesn't honor retry count in these
cases. This may change in the future, but for now, make sure we
set EIO and return without calling cam_periph_error if the retry
count for the command with an error is zero.

3. Clean up the pending error case goop and handle cases more
sensibly.

The rules are:

 If command was a Write:

  If we got a SSD_KEY_VOLUME_OVERFLOW, the resid is
  propagated and we set ENOSPC as the error.

  Else if we got an EOM condition- just mark EOM pending.

	And set a residual of zero. For the longest time I was just
        propagating residual from the sense data- but my tape
        comparison tests were always failing because all drives I
        tested with actually *do* write the data anyway- the EOM
        (early warning) condition occurred *prior* to all of the
        data going out to media- that is, it was still buffered by
        the drive. This case is described in SCSI-2, 10.2.14,
        paragraph #d for the meaning of 'information field'. A
        better fix for this would be to issue a WFM command of zero
        to cause the drive to flush any buffered data, but this
        would require a fairly extensive rewrite.

 Else if the command was a READ:

  If we got a SSD_KEY_BLANK_CHECK-
	If we have a One Filemark EOT model- mark EOM as pending,
	otherwise set EIO as the erorr.
  Else if we found a Filemark-
	If we're in Fixed Block mode- mark EOF pending.

 If we had an ILI (Incorrect Length Indicator)-
  If the residual is less than zero, whine about tape record
  being too big for user's buffer, otherwise if we were in
  Fixed Block mode, mark EIO as pending.

All 'pending' conditions mean that the command in question completes
without error indication. It had succeeded, but a signifying event
occurred during its execution which will apply to the *next* command
that would be exexcuted. Except for the one EOM case above, we always
propagate residual.

Now, way back in sastart- if we notice any of the PENDING bits set,
we don't run the command we've just pulled off the wait queue. Instead,
we then figure out it's disposition based upon a previous command's
association with a signifying event.

 If SA_FLAG_EOM_PENDING is set, we don't set an error. We just complete
 the command with residual set to the request count (not data moved,
 but no error). We continue on.

 If SA_FLAG_EOF_PENDING- if we have this, it's only because we're in
 Fixed Block mode- in which case we traverse all waiting buffers (which
 we can get in fixed block mode because physio has split things up) and
 mark them all as no error, but no data moved and complete them.

 If SA_FLAG_EIO_PENDING, just mark the buffer with an EIO error
 and complete it.

Then we clear all of the pending state bits- we're done.

MFC after:	4 weeks
2001-08-30 16:25:24 +00:00