Commit Graph

96255 Commits

Author SHA1 Message Date
Marcel Moolenaar
fcaa2925a9 Change the clear_ret argument of get_mcontext() to be a flags argument.
Since all callers either passed 0 or 1 for clear_ret, define bit 0 in
the flags for use as clear_ret. Reserve bits 1, 2 and 3 for use by MI
code for possible (but unlikely) future use. The remaining bits are for
use by MD code.

This change is triggered by a need on ia64 to have another knob for
get_mcontext().
2003-11-09 20:31:04 +00:00
Warner Losh
116f7a3ddb Tweak the front end driver file list
Also some minor whitespace nits.
2003-11-09 20:02:47 +00:00
Warner Losh
740d18ecdc Add my copyright to aha_isa.c to make it crystal clear its license 2003-11-09 20:01:36 +00:00
Warner Losh
40f583c24a Let bus space manage softc. 2003-11-09 19:51:16 +00:00
Warner Losh
9b4fbfe900 Minor tweaks to make it behave better:
o When we're resetting the board, make sure that we error out the pending
  CCBs first.  Otherwise the aha_cmd won't accept further commands, such
  as those that are used to reset the card (AOP_INITIALIZE_MBOX).  This
  appears to cause a cascade failure where no more commands are possible
  to the card.
o Reduce from 10s down to 1s the amount of time we're willing to tolerate
  the card being awol.  This helps the above case.
o Add some error checking to two commands issued in the probe.

I have a dim memory of gibbs@ trying to tell me about this problem a
few years ago, so pointy hat to imp@ for sitting on it so long.
2003-11-09 17:16:39 +00:00
Warner Losh
716dfe3f18 Minor comment smithing 2003-11-09 17:05:55 +00:00
David Malone
5a8a13e0fc Use kern_sendit rather than sendit for the Linux send* syscalls.
This means we can avoid using the stack gap for most send* syscalls
now (it is still used in the IP_HDRINCL case).
2003-11-09 17:04:04 +00:00
Simon L. B. Nielsen
9fc9f23603 Sync the sym(4) manual page with the hardware notes, and change the
list of supported controllers into a list.

Note that the 53C875A has not been included in the list of supported
devices, since this controller does not seem to be supported by the
version of the sym(4) driver currently in FreeBSD.

PR:		docs/55557
Submitted by:	Lukas Ertl <l.ertl@univie.ac.at> (original version)
MFC after:	1 week
53C875A omission reviewed by:	silence from -scsi and groudier
2003-11-09 14:58:28 +00:00
Hidetoshi Shimokawa
0e49db83c5 Increase MAXDEV up to 10. 2003-11-09 14:49:43 +00:00
Bruce Evans
b698380f33 Quick fix for scaling of statclock ticks in the SMP case. As explained
in the log message for kern_sched.c 1.83 (which should have been
repo-copied to preserve history for this file), the (4BSD) scheduler
algorithm only works right if stathz is nearly 128 Hz.  The old
commit lock said 64 Hz; the scheduler actually wants nearly 16 Hz
but there was a scale factor of 4 to give the requirement of 64 Hz,
and rev.1.83 changed the scale factor so that the requirement became
128 Hz.  The change of the scale factor was incomplete in the SMP
case.  Then scheduling ticks are provided by smp_ncpu CPUs, and the
scheduler cannot tell the difference between this and 1 CPU providing
scheduling ticks smp_ncpu times faster, so we need another scale
factor of smp_ncp or an algorithm change.

This quick fix uses the scale factor without even trying to optimize
the runtime divisions required for this as is done for the other
scale factor.

The main algorithmic problem is the clamp on the scheduling tick counts.
This was 295; it is now approximately 295 * smp_ncpu.  When the limit
is reached, threads get free timeslices and scheduling becomes very
unfair to the threads that don't hit the limit.  The limit can be
reached and maintained in the worst case if the load average is larger
than (limit / effective_stathz - 1) / 2 = 0.65 now (was just 0.08 with
2 CPUs before this change), so there are algorithmic problems even for
a load average of 1.  Fortunately, the worst case isn't common enough
for the problem to be very noticeable (it is mainly for niced CPU hogs
competing with less nice CPU hogs).
2003-11-09 13:45:54 +00:00
Søren Schmidt
35e67f571f Fix typo in breaking up requests to size limit.
Found by: Peter Edwards <pmedwards@eircom.net>
2003-11-09 10:11:15 +00:00
Christian Brueffer
8c3bfd6934 Add the 'package-recursive' option
PR:		57838
Submitted by:	Alexander Haderer <alexander.haderer@charite.de>
MFC after:	5 days
2003-11-09 09:30:39 +00:00
Seigo Tanimura
512824f8f7 - Implement selwakeuppri() which allows raising the priority of a
thread being waken up.  The thread waken up can run at a priority as
  high as after tsleep().

- Replace selwakeup()s with selwakeuppri()s and pass appropriate
  priorities.

- Add cv_broadcastpri() which raises the priority of the broadcast
  threads.  Used by selwakeuppri() if collision occurs.

Not objected in:	-arch, -current
2003-11-09 09:17:26 +00:00
Marcel Moolenaar
2e55d247a6 Implement PAL_HALT_LIGHT now that the kernel halts the processor
when idle. All we have to do is return.
2003-11-09 07:42:16 +00:00
Marcel Moolenaar
84408cc05c Do not strip skiload when installed. The stripped binary does not load
in the simulator.
2003-11-09 06:53:37 +00:00
Alan Cox
950f8459d4 - Rename vm_map_clean() to vm_map_sync(). This better reflects the fact
that msync(2) is its only caller.
 - Migrate the parts of the old vm_map_clean() that examined the internals
   of a vm object to a new function vm_object_sync() that is implemented in
   vm_object.c.  At the same, introduce the necessary vm object locking so
   that vm_map_sync() and vm_object_sync() can be called without Giant.

Reviewed by:	tegge
2003-11-09 05:25:35 +00:00
Marcel Moolenaar
1bcb5f5a96 Port truss(1) to 64-bit architectures:
o  Syscall return values do not fit in int on 64-bit architectures.
   Change the type of retval in <arch>_syscall_exit() to long and
   change the prototype of said function to return a long as well.
o  Change the prototype of print_syscall_ret() to take a long for
   the return address and change the format string accordingly.
o  Replace the code sequence
	tmp = malloc(X);
	sprintf(tmp, format, ...);
   with X by definition too small on 64-bit platforms by
        asprintf(&tmp, format, ...);

With these changes the output makes sense again, although it does
mess up the tabulation on ia64. Go widescreen...

Not tested on: alpha, sparc64.
2003-11-09 03:48:13 +00:00
Scott Long
68153f43b6 Sprinkle GIANT_REQUIRED asserts around the xpt layer to aid with locking the
SCSI drivers.
2003-11-09 02:22:33 +00:00
Warner Losh
c4bc6c8ccd Update list of supported devices for ahb 2003-11-09 01:52:13 +00:00
Warner Losh
917f3a3222 Complete the variants of 1522/1520 cards 2003-11-09 01:46:28 +00:00
Warner Losh
3ebc19328e AHA-1505 also alegedly supported 2003-11-09 01:44:16 +00:00
Warner Losh
3a86eb3747 Flesh out the list of supported devices for this driver.
Add bugs that describe the current state of this driver.

# Note: Don't ask me about the driver: I can't get it to work well either :-)
2003-11-09 01:41:11 +00:00
Warner Losh
56b9aeaeda o Update to closer to the official names for these cards.
o Remove entries for 1510, 152x and 1535.  These are supported, for some value
  of supported, by the aic driver.
o Add notes about 1542-CP being plug and play, but it can still conflict with
  other resources because all the resources it uses are set with the onboard
  BIOS.
2003-11-09 01:30:46 +00:00
David E. O'Brien
dcae43e905 Alternate version of rev 1.20.
Comment out rather than totally remove the ipfilter pieces that we need
reconnected some day.  This is now only ipnat as it is for configuring NAT.
ipfstat is meant for reporting statistics/filter lists.  For /rescue it is
enough to configure lists but not view the installed ones.
2003-11-09 01:22:27 +00:00
Warner Losh
3cce43b94e Make this driver a little more style(9) compliant 2003-11-09 00:51:52 +00:00
Bruce A. Mah
cabcc122c7 Synchronize list of supported cards with hardware notes, reformat
as a bullet list.
2003-11-09 00:50:55 +00:00
David Xu
0e17930dd7 If a thread in critical region got a synchronous signal, according current
signal handling mode, there is no chance to handle the signal, something
must be wrong in the library, just call kse_thr_interrupt to dump its core.
I have the code for a long time, but forgot to commit it.
2003-11-09 00:37:14 +00:00
Bruce A. Mah
f8206c33ec Mention Olicom OC2220, which is listed in the hardware notes and
driver source.
2003-11-09 00:31:41 +00:00
Bruce A. Mah
f3389dd879 Capitalize "Fast Ethernet" and "Ethernet" consistently. 2003-11-09 00:27:45 +00:00
Bruce A. Mah
43263d5d44 Synchronize manual page with hardware notes and reformat list of
supported devices.
2003-11-09 00:26:55 +00:00
Sam Leffler
7138d65c3f replace explicit changes to rt_refcnt by RT_ADDREF and RT_REMREF
macros that expand to include assertions when the system is built
with INVARIANTS

Supported by:	FreeBSD Foundation
2003-11-08 23:36:32 +00:00
Marcel Moolenaar
00bd917263 Remove the atkbd, psm, sc and vga devices. Most ia64 boxes out there
are zx1 based machines and they don't particularly like it when we
poke at them with PC legacy code. The atkbd and psm devices were
disabled in the hints file so that one could enable them on machines
that support legacy devices, but that's not really something you can
expect from a first-time installer. This still leaves syscons (sc)
and the vga device, which were enabled by default and wrecking havoc
anyway. We could disable them by default like the atkbd and psm
devices, but there's really no point in pretending we're in a better
shape that way.
2003-11-08 23:19:13 +00:00
Bruce A. Mah
0a24252410 Trim device entries for an(4), ray(4), and awi(4). 2003-11-08 23:16:43 +00:00
Sam Leffler
252f24a2cf divert socket fixups:
o pickup Giant in divert_packet to protect sbappendaddr since it
  can be entered through MPSAFE callouts or through ip_input when
  mpsafenet is 1
o add missing locking on output
o add locking to abort and shutdown
o add a ctlinput handler to invalidate held routing table references
  on an ICMP redirect (may not be needed)

Supported by:	FreeBSD Foundation
2003-11-08 23:09:42 +00:00
Sam Leffler
8484384564 assert optional inpcb is passed in locked
Supported by:	FreeBSD Foundation
2003-11-08 23:03:29 +00:00
Sam Leffler
59daba27d9 add locking assertions
Supported by:	FreeBSD Foundation
2003-11-08 23:02:36 +00:00
Sam Leffler
3c47a187b7 assert inpcb is locked in udp_output
Supported by:	FreeBSD Foundation
2003-11-08 23:00:48 +00:00
Sam Leffler
c29afad673 o correct locking problem: the inpcb must be held across tcp_respond
o add assertions in tcp_respond to validate inpcb locking assumptions
o use local variable instead of chasing pointers in tcp_respond

Supported by:	FreeBSD Foundation
2003-11-08 22:59:22 +00:00
Sam Leffler
2a0746208b use local values instead of chasing pointers
Supported by:	FreeBSD Foundation
2003-11-08 22:57:13 +00:00
Sam Leffler
fa286d7db2 replace mtx_assert by INP_LOCK_ASSERT
Supported by:	FreeBSD Foundation
2003-11-08 22:55:52 +00:00
Sam Leffler
50d7c061a3 add some missing locking
Supported by:	FreeBSD Foundation
2003-11-08 22:53:41 +00:00
Sam Leffler
1d78192b35 the sbappendaddr call in socket_send must be protected by Giant
because it can happen from an MPSAFE callout

Supported by:	FreeBSD Foundation
2003-11-08 22:51:18 +00:00
Sam Leffler
e3f268fc89 add locking assertions that turn into noops if INET6 is configured;
this is necessary because the ipv6 code shares the in_pcb code with
ipv4 but (presently) lacks proper locking

Supported by:	FreeBSD Foundation
2003-11-08 22:48:27 +00:00
Bruce A. Mah
56fe73c36e Mention Cisco and Xircom devices supported by an driver. 2003-11-08 22:48:23 +00:00
Sam Leffler
7902224c6b o add a flags parameter to netisr_register that is used to specify
whether or not the isr needs to hold Giant when running; Giant-less
  operation is also controlled by the setting of debug_mpsafenet
o mark all netisr's except NETISR_IP as needing Giant
o add a GIANT_REQUIRED assertion to the top of netisr's that need Giant
o pickup Giant (when debug_mpsafenet is 1) inside ip_input before
  calling up with a packet
o change netisr handling so swi_net runs w/o Giant; instead we grab
  Giant before invoking handlers based on whether the handler needs Giant
o change netisr handling so that netisr's that are marked MPSAFE may
  have multiple instances active at a time
o add netisr statistics for packets dropped because the isr is inactive

Supported by:	FreeBSD Foundation
2003-11-08 22:28:40 +00:00
Robert Watson
2d633fc879 Add /usr/share/security to reflect recent hookup of Makefile and
mtree entry for share/security/lomac-policy.contexts.

Pointed out by:	ru
2003-11-08 18:01:44 +00:00
Robert Watson
418ada78f4 Makefile.inc wasn't needed; this is a left-over of other files present
in share/security in the trustedbsd_sebsd branch that are not present
in the main tree.  Also, .include Makefile.inc from the parent directory
so that BINDIR is set right.

Pointed out by:	bde
2003-11-08 17:56:53 +00:00
Robert Watson
b573fedaf3 If available, also print the lomac label by default for processes, files,
and interfaces.  This avoids the need to manually add these when setting
up LOMAC.

Pointed out by:	tjr
2003-11-08 17:51:50 +00:00
Bruce A. Mah
4191aa3f97 Trim the following device sections and refer to device lists in
manpages: ahd(4), mly(4), vpo(4), rl(4), bktr(4), uscanner(4).

Tweak mlx(4) entry slightly.

Also trim USB hubs, ukbd(4) and ums(4).  We can't seriously expect a
device list for these classes of devices that is inclusive enough to
be useful to anybody.
2003-11-08 17:38:11 +00:00
Bruce A. Mah
2979b13acd Remove trailing commas from device list. 2003-11-08 17:31:49 +00:00