Commit Graph

1778 Commits

Author SHA1 Message Date
ticso
cb06145f3a Approved by: gallatin (mentor)
Sync with i386.
Don't write crashdumps outside partition boundaries.
2003-01-03 00:19:54 +00:00
alc
c608ea9b28 - Use VM_ALLOC_WIRED.
- Hold the page queues lock around calls to vm_page_flag_clear() and
   vm_page_wakeup().
2002-12-28 22:47:45 +00:00
alc
149de5cd04 Use VM_ALLOC_WIRED in pmap_pinit(). 2002-12-28 08:10:29 +00:00
tjr
cbdfee6d6f MB_LEN_MAX is not MD, move it to the MI limits.h. 2002-12-22 06:38:45 +00:00
alc
c558268681 MFi386 revisions 1.375 and 1.376
Hold the page queues lock when calling pmap_unwire_pte_hold() or
 pmap_remove_pte().  Use vm_page_sleep_if_busy() in
 _pmap_unwire_pte_hold() so that the page queues lock is released
 when sleeping.
2002-12-14 22:25:35 +00:00
alfred
5da2d203a3 SCARGS removal take II. 2002-12-14 01:56:26 +00:00
alfred
2b58666422 Backout removal SCARGS, the code freeze is only "selectively" over. 2002-12-13 22:41:47 +00:00
alfred
420936257d Remove SCARGS.
Reviewed by: md5
2002-12-13 22:27:25 +00:00
julian
cfb81f2986 Unbreak the KSE code. Keep track of zobie threads using the Per-CPU storage
during the context switch. Rearrange thread cleanups
to avoid problems with Giant. Clean threads when freed or
when recycled.

Approved by:	re (jhb)
2002-12-10 02:33:45 +00:00
alc
5873afed59 MFi386
Hold the page queues lock around vm_page_unhold() in vunmapbuf().

Approved by:	re (blanket)
2002-12-02 01:12:05 +00:00
mux
ade777863c Under certain circumstances, we were calling kmem_free() from
i386 cpu_thread_exit().  This resulted in a panic with WITNESS
since we need to hold Giant to call kmem_free(), and we weren't
helding it anymore in cpu_thread_exit().  We now do this from a
new MD function, cpu_thread_dtor(), called by thread_dtor().

Approved by:	re@
Suggested by:	jhb
2002-11-22 23:57:02 +00:00
alc
3baece811b MFi386 r1.369
- Clear the PG_WRITEABLE flag in pmap_changebit() if write access is
   being removed.  Return immediately if write access is being removed and
   PG_WRITEABLE is already clear.

Note: For efficiency, pmap_changebit() should be replaced by a function
similar to sparc64's pmap_clear_write().
2002-11-18 01:36:09 +00:00
deischen
c173708724 Add getcontext, setcontext, and swapcontext as system calls.
Previously these were libc functions but were requested to
be made into system calls for atomicity and to coalesce what
might be two entrances into the kernel (signal mask setting
and floating point trap) into one.

A few style nits and comments from bde are also included.

Tested on alpha by: gallatin
2002-11-16 06:35:53 +00:00
jhb
3f1237c685 Add hints for ISA ATA controllers. At least one Digital AlphaPC 64 has
one such beast.

Reported by:	Rob Byrnes <rbyrnes@ozemail.com.au>
2002-11-14 14:59:27 +00:00
alc
9d27d6b6ea Move pmap_collect() out of the machine-dependent code, rename it
to reflect its new location, and add page queue and flag locking.

Notes: (1) alpha, i386, and ia64 had identical implementations
of pmap_collect() in terms of machine-independent interfaces;
(2) sparc64 doesn't require it; (3) powerpc had it as a TODO.
2002-11-13 05:39:58 +00:00
alc
9fa92171da - Clear the page's PG_WRITEABLE flag in the i386's pmap_changebit()
if we're removing write access from the page's PTEs.
 - Export pmap_remove_all() on alpha, i386, and ia64.  (It's already
   exported on sparc64.)
2002-11-11 05:17:34 +00:00
des
9634218b3d Print real / avail memory in megabytes rather than kilobytes. 2002-11-09 16:19:14 +00:00
jhb
fc33c79678 Fix warnings when compiled with SIMOS defined. 2002-11-08 20:52:21 +00:00
jhb
66bbac7760 Cast pointers in mem*_io() compat macros to uintptr_t so that they can be
used as bus handles by the bus_space functions implementing these macros.
2002-11-08 20:49:43 +00:00
jhb
7b94664a97 - Update the SIMOS fp-stealing code to KSE-II and beyond.
- Wrap a variable only used in !SIMOS case in #ifndef SIMOS.
2002-11-08 15:24:32 +00:00
jhb
84d4c20382 Remove #ifdef DEBUG signal debugging code brought over from NetBSD with the
original signal handling code.  It doesn't compile and it seems the rest of
the infrastructure was never brought over from NetBSD.
2002-11-08 15:16:38 +00:00
tmm
d9ab4e307e Move the definitions of the hw.physmem, hw.usermem and hw.availpages
sysctls to MI code; this reduces code duplication and makes all of them
available on sparc64, and the latter two on powerpc.
The semantics by the i386 and pc98 hw.availpages is slightly changed:
previously, holes between ranges of available pages would be included,
while they are excluded now. The new behaviour should be more correct
and brings i386 in line with the other architectures.

Move physmem to vm/vm_init.c, where this variable is used in MI code.
2002-11-07 23:57:17 +00:00
jhb
5b47aa48f2 Turn on GEOM. It works on Alpha and we are going to need it for installs. 2002-11-07 14:36:56 +00:00
jhb
941681d10d Wrap ()'s around an argument before casting it to a void *. If the
argument is an expression you can end up casting part of it to void *.
This resulted in bogus warnings about pointer arith using void *'s for
the ep(4) driver.
2002-11-06 22:18:26 +00:00
jmallett
c9da5e8fcb Remove what was a temporary bogus assignment of bits of siginfo_t, as it does
not look like the prerequisites to fill it in properly will be in the tree
for the upcoming release, but it's mostly done, so there is no need for these
to stay around to remind us.
2002-11-06 14:53:35 +00:00
jeff
0db82d8fb7 - Enable the use of UMA_MD_PAGE_ALLOC on alpha.
- Define uma_small_alloc and uma_small_free using K0SEG for virtual
   addresses.

Approved by:	re
2002-11-01 03:34:51 +00:00
gallatin
ed585c664a Remove extranious memory barriers, and correct the placement of a few others.
This provides a 30% reduction in system time and a 6% reduction in wallclock time
for a make buildworld on my xp1000 (one 21264).

FWIW, I've been running this for nearly 2 months without problems.

Portions submitted by: ticso, jhb
Tested by: jhb (ds20 dual 21264)
2002-10-30 01:41:44 +00:00
gallatin
da63b913f9 Make the second serial port available for general use by default.
We've been talking about this for years, but nobody has done it.
(and I don't think anybody has used this for debugging since Doug
and I were doing the initial bootstrapping..)
2002-10-30 01:34:41 +00:00
jhb
af6519e157 Use the newer "+" modifier on output contraints when a register or
memory datum is used for both input and output instead of using
matching constraints.
2002-10-25 20:22:12 +00:00
peter
72996ef6e6 Split 4.x and 5.x signal handling so that we can keep 4.x signal
handling clean and functional as 5.x evolves.  This allows some of the
nasty bandaids in the 5.x codepaths to be unwound.

Encapsulate 4.x signal handling under COMPAT_FREEBSD4 (there is an
anti-foot-shooting measure in place, 5.x folks need this for a while) and
finish encapsulating the older stuff under COMPAT_43.  Since the ancient
stuff is required on alpha (longjmp(3) passes a 'struct osigcontext *'
to the current sigreturn(2), instead of the 'ucontext_t *' that sigreturn
is supposed to take), add a compile time check to prevent foot shooting
there too.  Add uniform COMPAT_43 stubs for ia64/sparc64/powerpc.

Tested on: i386, alpha, ia64.  Compiled on sparc64 (a few days ago).
Approved by: re
2002-10-25 19:10:58 +00:00
julian
825e89d563 Extract out KSE specific code from machine specific code
so that there is ony one copy of it. Fix that one copy
so that KSEs with no mailbox in a KSE program are not a cause
of page faults (this can legitmatly happen).

Submitted by:	(parts) davidxu
2002-10-24 23:09:48 +00:00
peter
4c0230d2d9 psl.h isn't referenced anywhere that I could find on the alpha, so remove
this stub.
2002-10-21 21:08:32 +00:00
gallatin
05e493e95e Add a bus_space_unmap() for the puc (and possibly other) drivers. 2002-10-21 13:48:29 +00:00
alc
356026677e - Replace two instances of vm_page_sleep_busy() with the page queue
mutex-friendly vm_page_sleep_if_busy().
 - Introduce page queue locking in pmap_page_lookup() and
   pmap_release_free_page().
 - Simplify the invalidation of the pmap's ptphint in
   pmap_release_free_page().  (MFi386 pmap.c revision 1.362.)
2002-10-20 21:40:17 +00:00
gallatin
a06549d838 give alpha a bus_space_subregion() so that ahd_pci compiles and moves
LINT one file further on.  Only 999,999 or so more files to go..
2002-10-20 20:55:37 +00:00
marcel
536372849c Add two hooks to signal module load and module unload to MD code.
The primary reason for this is to allow MD code to process machine
specific attributes, segments or sections in the ELF file and
update machine specific state accordingly. An immediate use of this
is in the ia64 port where unwind information is updated to allow
debugging and tracing in/across modules. Note that this commit
does not add the functionality to the ia64 port. See revision 1.9
of ia64/ia64/elf_machdep.c.

Validated on: alpha, i386, ia64
2002-10-19 19:16:03 +00:00
rwatson
26d9752916 Permits UFS ACLs to be used with the GENERIC kernel. Due to recent
ACL configuration changes, this shouldn't result in different code paths
for file systems not explicitly configured for ACLs by the system
administrator.  For UFS1, administrators must still recompile their
kernel to add support for extended attributes; for UFS2, it's sufficient
to enable ACLs using tunefs or at mount-time (tunefs preferred for
reliability reasons).  UFS2, for a variety of reasons, including
performance and reliability, is the preferred file system for use with
ACLs.

Approved by:	re
2002-10-19 16:54:15 +00:00
peter
04a380c0ab The a.out md_coredump stuff isn't referenced anywhere anymore, and
hasn't been filled in for ages..  Nuked.
2002-10-15 00:02:50 +00:00
mike
80ac142913 Remove the P1003_1B kernel option; it is no longer used. 2002-10-13 16:29:17 +00:00
mike
66fe80f2dc Add standards visibility conditionals. Change any uses of sigset_t to
struct __sigset to avoid depending on objects from <sys/signal.h>.
2002-10-13 00:31:46 +00:00
mike
463e5ac71d Change iov_base's type from char *' to the standard void *'. All
uses of iov_base which assume its type is `char *' (in order to do
pointer arithmetic) have been updated to cast iov_base to `char *'.
2002-10-11 14:58:34 +00:00
sobomax
3a54fdd71c - Add support for IPC_64 extensions into shmctl(2), semctl(2) and msgctl(2);
- add wrappers for mmap2(2) and ftruncate64(2) system calls;
- don't spam console with printf's when VFAT_READDIR_BOTH ioctl(2) is invoked;
- add support for SOUND_MIXER_READ_STEREODEVS ioctl(2);
- make msgctl(IPC_STAT) and IPC_SET actually working by converting from
  BSD msqid_ds to Linux and vice versa;
- properly return EINVAL if semget(2) is called with nsems being negative.

Reviewed by:	marcel
Approved by:	marcel
Tested with:	LSB runtime test
2002-10-11 11:43:09 +00:00
mike
db35c89876 Add conditionals to allow va_list to be defined in other headers. 2002-10-06 22:02:06 +00:00
mike
20850bb1d6 o Add conditionals to allow va_list to be defined in other headers.
o Standardize on _MACHINE_STDARG_H_ to allow multiple header includes.
o Restrict the definition of va_copy() to C99 environments.
2002-10-06 22:01:07 +00:00
obrien
9f3c0bd96e CPU_MAXID should 2002-10-06 05:24:13 +00:00
phk
cd90c67683 NB: This commit does *NOT* make GEOM the default in FreeBSD
NB: But it will enable it in all kernels not having options "NO_GEOM"

Put the GEOM related options into the intended order.

Add "options NO_GEOM" to all kernel configs apart from NOTES.

In some order of controlled fashion, the NO_GEOM options will be
removed, architecture by architecture in the coming days.

There are currently three known issues which may force people to
need the NO_GEOM option:

boot0cfg/fdisk:
        Tries to update the MBR while it is being used to control
        slices.  GEOM does not allow this as a direct operation.

SCSI floppy drives:
        Appearantly the scsi-da driver return "EBUSY" if no media
        is inserted.  This is wrong, it should return ENXIO.

PC98:
        It is unclear if GEOM correctly recognizes all variants of
        PC98 disklabels.  (Help Wanted!  I have neither docs nor HW)

These issues are all being worked.

Sponsored by:	DARPA & NAI Labs.
2002-10-05 16:35:33 +00:00
mike
d50f9db5eb Fix namespace issues by using visibility conditionals from
<sys/cdefs.h>.
2002-10-05 05:47:56 +00:00
mike
d8a44cf9b4 style(9) <machine/setjmp.h> headers so they look mostly the same. 2002-10-04 22:10:06 +00:00
sam
f7237140db New bus_dma interfaces for use by crypto device drivers:
o bus_dmamap_load_mbuf
o bus_dmamap_load_uio

Test on i386.  Known to compile on alpha and sparc64, but not tested.
Otherwise untried.
2002-10-04 20:40:39 +00:00
keramida
0623cf3912 Add a couple of missing ':' in panic msgs.
Suggested by:	gallatin
2002-10-04 15:58:03 +00:00