Commit Graph

88767 Commits

Author SHA1 Message Date
John Baldwin
eeec6bab2e Prefer the proc lock to sched_lock when testing PS_INMEM now that it is
safe to do so.
2003-04-22 20:01:56 +00:00
John Baldwin
664f718ba1 - Always call faultin() in _PHOLD() if PS_INMEM is clear. This closes a
race where a thread could assume that a process was swapped in by
  PHOLD() when it actually wasn't fully swapped in yet.
- In faultin(), always msleep() if PS_SWAPPINGIN is set instead of doing
  this check after bumping p_lock in the PS_INMEM == 0 case.  Also,
  sched_lock is only needed for setting and clearning swapping PS_*
  flags and the swap thread inhibitor.
- Don't set and clear the thread swap inhibitor in the same loops as the
  pmap_swapin/out_thread() since we have to do it under sched_lock.
  Instead, mimic the treatment of the PS_INMEM flag and use separate loops
  to set the inhibitors when clearing PS_INMEM and clear the inhibitors
  when setting PS_INMEM.
- swapout() now returns with the proc lock held as it holds the lock
  while adjusting the swapping-related PS_* flags so that the proc lock
  can be used to test those flags.
- Only use the proc lock to check the swapping-related PS_* flags in
  several places.
- faultin() no longer requires sched_lock to be held by callers.
- Rename PS_SWAPPING to PS_SWAPPINGOUT to be less ambiguous now that we
  have PS_SWAPPINGIN.
2003-04-22 20:00:26 +00:00
Johan Karlsson
c0bb08c5ed Make this WARNS=2 clean by using %j and (uintmax_t).
Reviewed by:	tjr@ on audit@
Approved by:	silence from sos@
2003-04-22 19:57:46 +00:00
John Baldwin
828e7683bf Protect p_swtime with the sched_lock. 2003-04-22 19:48:25 +00:00
John Baldwin
a6f37ac9d6 - Mark the kse_purge_group() and kse_purge() definitions static to match
their prototypes.
- Remove sched_lock locking from kse_purge() as all callers already lock
  the sched_lock before calling it.
- Hold the proc lock slightly longer to protect P_SHOULDSTOP().
2003-04-22 19:47:55 +00:00
John Baldwin
7b5e3e1239 Keep the proc locked while we set PS_INMEM so that either of the proc lock
or sched_lock are sufficient to test this flag.

XXX: vinum should really be using a kernel process via kthread_create()
instead of this hack.  I'm not even sure PS_INMEM can be clear at this
point anyways.
2003-04-22 19:45:26 +00:00
Poul-Henning Kamp
70b4ddbb09 Collapse meta arguments into regular arguments, the distinction is
more trouble than it is worth.
2003-04-22 19:42:05 +00:00
Poul-Henning Kamp
64a5766ef7 Collapse the meta arguments into normal arguments, trying to distinguish
just makes our own life harder.
2003-04-22 19:31:00 +00:00
Tom Rhodes
2d93d309a7 Use .Pa for the pccard_ether file.
s/spppconfig/spppcontrol/

Submitted by:	"Simon L. Nielsen" <simon@nitro.dk>
2003-04-22 18:53:14 +00:00
John Baldwin
fe8cdcae87 - Replace inline implementations of sigprocmask() with calls to
kern_sigprocmask() in the various binary compatibility emulators.
- Replace calls to sigsuspend(), sigaltstack(), sigaction(), and
  sigprocmask() that used the stackgap with calls to the corresponding
  kern_sig*() functions instead without using the stackgap.
2003-04-22 18:23:49 +00:00
Tom Rhodes
3301bb2349 Catch this file up with ufs/ffs/fs.h.
PR:		51189
Submitted by:	Lukas Ertl <l.ertl@univie.ac.at>
2003-04-22 18:20:44 +00:00
Alan Cox
2e9d00a15d Revision 1.246 should have also included
- Weaken the assertion in vm_page_insert() to require Giant only if the
   vm_object isn't locked.

Reported by:	 "Ilmar S. Habibulin" <ilmar@watson.org>
2003-04-22 14:26:02 +00:00
Ruslan Ermilov
7cc7315cfb chdir(1) into a source directory before attempting to determine the
OBJS list.  This is needed to crunch any program that relies on the
correct .CURDIR setting, e.g. src/bin/csh.

Submitted by:	Tim Kientzle <kientzle@acm.org>
2003-04-22 14:01:33 +00:00
Mike Barcroft
90e0c23cb9 IP addresses can be up to 15 characters long, not 12.
PR:     50904
2003-04-22 13:24:56 +00:00
Yoshihiro Takahashi
2f4f42d484 Comment out firewire devices. 2003-04-22 12:14:19 +00:00
Ruslan Ermilov
2244cda2bc Axe CXXINCLUDES from CXXFLAGS, it serves no useful purpose anymore.
Reviewed by:	bde
2003-04-22 11:04:25 +00:00
Greg Lehey
fc9726d014 Add Vladimir Ulyanov's birthday.
Reminded by: joerg (born 92 years later, to the day).
2003-04-22 10:33:43 +00:00
Ruslan Ermilov
8d739a3f28 Bump document date for previous revision.
Fix list type.
2003-04-22 09:39:10 +00:00
David Xu
97637bcfb2 Move down intr level testing code a bit, cpu_switch_load_gs fault can be at
interrupt nested time.
2003-04-22 08:12:03 +00:00
Hidetoshi Shimokawa
18321f9a37 add FireWire drivers. 2003-04-22 07:57:20 +00:00
David Xu
5515888875 Fix some problems for cpu_switch_load_gs. when fault address is at
cpu_switch_load_gs, cpu is in context switch, so don't enable interrupt.
because it is in context switch, it is expected sched_lock was held,
so don't PROC_LOCK(p) and psignal, it is LOR, probably we can
set a P_XSIGBUS like flag in p_sflags, and set TDF_ASTPENDING in
td_flags, in ast(), post a SIGBUS to process if P_XSIGBUS was set.
2003-04-22 07:45:47 +00:00
Alan Cox
26da32cc73 Remove unused declarations. 2003-04-22 06:26:42 +00:00
Alan Cox
03d4c1e644 Revision 1.52 of vm/uma_core.c has led to UMA's obj_alloc() being
called without Giant; and obj_alloc() in turn calls vm_page_alloc()
without Giant.  This causes an assertion failure in vm_page_alloc().
Fortunately, obj_alloc() is now MPSAFE.  So, we need only clean up
some assertions.

 - Weaken the assertion in vm_page_lookup() to require Giant only
   if the vm_object isn't locked.
 - Remove an assertion from vm_page_alloc() that duplicates a check
   performed in vm_page_lookup().

In collaboration with:	gallatin, jake, jeff
2003-04-22 05:36:14 +00:00
Poul-Henning Kamp
32c44cd7bb Fix compilation errors.
I wonder how I managed to cross-compile this yesterday.
2003-04-22 05:34:35 +00:00
Doug Barton
62bb7f3301 FreeBSD has no systrace(1), and our rc.subr does not support it.
Submitted by:	Simon L. Nielsen <simon@nitro.dk>
2003-04-22 05:13:55 +00:00
Alan Cox
1c067f7ebc Add VM_OBJECT_LOCKED(). 2003-04-22 04:47:29 +00:00
Hidetoshi Shimokawa
f73a5a7f66 add scbus for FireWire. 2003-04-22 04:39:20 +00:00
Warner Losh
bf2331bae4 Document device_set_driver(9)
# now all driver_* functions used outside of subr_bus.o in my kernel
# are documented.
2003-04-22 03:43:44 +00:00
Warner Losh
6e684dce35 Document device_printf(9). 2003-04-22 03:32:31 +00:00
Warner Losh
c56c6bab42 Document device_set_ivars(9) as well. 2003-04-22 03:25:14 +00:00
David Xu
5b70587b8a Remove single threading detecting code, these code really should be
replaced by thread_user_enter(), but current we don't want to enable
this in trap.
2003-04-22 03:17:41 +00:00
Hidetoshi Shimokawa
85b2d114c0 Set the local bus address in xfer->dst.
Submitted by: Buzz Slye <buzz@gaia.arc.nasa.gov>
2003-04-22 02:31:31 +00:00
Marcel Moolenaar
148eac48f1 Don't use the tpa instruction to implement pmap_kextract. The tpa
instruction requires that a translation is present in the TC. This
may trigger a TLB miss and a subsequent call to vm_fault().
This implementation is deliberately non-inline for debugging and
profiling purposes. Partial or full inlining should eventually be
done.

Valuable insights by: jake
2003-04-22 01:48:43 +00:00
Warner Losh
44d993e38a man page for device_get_parent. 2003-04-22 00:26:02 +00:00
Warner Losh
c82d43ff7a device_is_alive already was documented in device_get_state, so remove the
separate man page.  Document new device_is_attached there and remove that
new man page too.

Connect device_get_name to build, and install a link for
device_get_nameunit.

strangely nobody noticed this yet...
2003-04-22 00:21:28 +00:00
Warner Losh
f6bcbf520a Add man page for device_get_name and device_get_nameunit. 2003-04-22 00:18:55 +00:00
Robert Watson
b5abb6e6b0 Don't use UFS2 by default during the install process on PC98, as the
PC98 boot blocks don't support UFS2.  We keep newfs(8) defaulting to
UFS2.

Warn users that FreeBSD can only boot from a root file system smaller
than 1.5TB; hopefully this will get fixed by the patches currently
floating around on -CURRENT.

Reviewed by:	nyan
2003-04-21 20:57:20 +00:00
Poul-Henning Kamp
18fdae6bd8 Now that all uses of this file use explicit encoding/decoding, remove
all the bits we do not need, and drop the attempt at "disk-image"
structure definition.

Add idempotency (sp?) #ifdef
2003-04-21 20:40:41 +00:00
Poul-Henning Kamp
6ad44047ca Use explicit encoding/decoding funtions for sunlabel data structures.
Use #defines for various magic numbers.

Attach test-case to makefile.

Reviewed by:    jake
2003-04-21 20:38:15 +00:00
Poul-Henning Kamp
9ad2132174 Update libdisk to use the explicing encoding function for sunlabel data
structures.
2003-04-21 20:36:44 +00:00
Poul-Henning Kamp
3d9c928705 Add minimal regression test for hotspot handling of the sunlabel. 2003-04-21 20:16:07 +00:00
Poul-Henning Kamp
989afda211 Implement a hotspot for the sunlabel.
This means that you can no longer trash your opened partitions by writing to
the sunlabel through another partition.  This is similar to the semantics
implemented for BSD labels.
2003-04-21 20:14:36 +00:00
John Baldwin
e72380dd09 - Don't highlight options APIC_IO at the top since it only applies to i386
and this manpage is somewhat machine independent.
- Don't redundantly say that SMP support is present for all supported
  architectures.  Instead, say that it is present for all Tier-1
  architectures.
- Note that an SMP kernel not booting on a UP machine is an i386-only
  exception.
- Add a paragraph about hyperthreading support including some docco on the
  machdep.hlt_logical_cpus sysctl ps@ recently added.
- Note that SMP support for alpha, ia64, and sparc64 debuted in 5.0.
2003-04-21 20:05:33 +00:00
Poul-Henning Kamp
666223979c Update GEOM::SUN to use the decoding functions in geom_sunlabel_enc.c
and #defines from sys/sun_disklabel.h.
2003-04-21 19:54:11 +00:00
Poul-Henning Kamp
9bd6be665d Use #defines from <sys/sun_disklabel.h> instead of private ones. 2003-04-21 19:42:36 +00:00
Poul-Henning Kamp
e268e8c725 Add defines for number of partitions, raw partition index and size of
encoded data structure.
2003-04-21 19:38:33 +00:00
Poul-Henning Kamp
0b60aa467b Add prototypes for sunlabel_dec() and sunlabel_enc().
Assume (for now) that all sun labels are big endian.
2003-04-21 19:31:42 +00:00
Ruslan Ermilov
ca7b358a91 Removed mount_devfs from progs since there is no "mount_devfs"
source directory (it's spelled mount_std nowadays), so it was
a no-op anyway, and DEVFS is now the default.
2003-04-21 19:14:32 +00:00
Christian Brueffer
a4d4bca179 Grammar and spelling fixes, improved the wording a bit
A slightly different patch than the one from the PR was applied

PR:		38815
Submitted by:	Chris Pepper <pepper@guest.reppep.com>
MFC after:	3 days
2003-04-21 19:08:35 +00:00
Poul-Henning Kamp
941a2f8cb5 Functions to encode and decode Sun Microsystems disk partitioning data
structures.

Mostly by:	jake
2003-04-21 18:41:12 +00:00