80113 Commits

Author SHA1 Message Date
dwmalone
6acc49e3bd Some BIOSs are using MTRR values that are only documented under NDA
to control the mapping of things like the ACPI and APM into memory.

The problem is that starting X changes these values, so if something
was using the bits of BIOS mapped into memory (say ACPI or APM),
then next time they access this memory the machine would hang.

This patch refuse to change MTRR values it doesn't understand,
unless a new "force" option is given. This means X doesn't change
them by accident but someone can override that if they really want
to.

PR:		28418
Tested by:	Christopher Masto <chris@netmonger.net>,
		David Bushong <david@bushong.net>,
		Santos <casd@myrealbox.com>
MFC after:	1 week
2002-09-15 15:07:55 +00:00
bde
7819f421f3 Define __LONG_LONG_SUPPORTED if the compiler claims to support C99.
Don't set __LONG_LONG_SUPPORTED for gcc-1.  I didn't check exactly
when gcc started to support long long, but it was in the version
of gcc in FreeBSD-1.0 (gcc-2.4.5).

Other C99 features should be ifdefed similarly, but the ifdefs for
old versions of gcc will be more complicated since the features
weren't in all versions of gcc-2.
2002-09-15 14:17:29 +00:00
bde
57c36dbd6c Include <sys/systm.h> instead of depending on namespace pollution 2
layers deep in <sys/malloc.h> or 1 layer deep in <net/if_var.h>.
2002-09-15 13:54:12 +00:00
phk
2e40c65a70 Some change in src/share/mk seems to have made it possible to remove
50% of the active ingredients in these Makefiles.
2002-09-15 13:05:42 +00:00
phk
9db554d5ce Remove the unused _bio_buf field. I can't even remember if this ever got
to be used in the first place.

Spotted by:	bde
2002-09-15 12:50:37 +00:00
anholt
2c45f11386 Fix i810 after i830 commit.
Submitted by:	David Dawes <dawes@XFree86.Org>
2002-09-15 08:43:23 +00:00
tjr
8569d04e14 Add wcstod() as a wrapper around strtod(). It does not handle any characters
that strtod() does not (alternate digit characters, etc. are not handled).
2002-09-15 08:38:51 +00:00
bde
958421a4ec Fixed breakage from removing the used include of <sys/buf.h> in the
previous commit:
Include <sys/mutex.h> and its prerequisite <sys/lock.h> instead of
depending on namespace pollution in <sys/buf.h>.  Only do this in the
__FreeBSD_version > 500000 case although the __FreeBSD_version < 500000
case has already rotted.
2002-09-15 08:21:14 +00:00
tjr
b2a34e6f87 Use the heap instead of the stack to store temporary multibyte string
buffers; this is slower but safer for threaded programs where threads
often have relatively low stack size limits.
2002-09-15 08:06:17 +00:00
jmallett
c2e84aa40c Make a comment reflect less of a lie, NOCPU is used to generally mean that we
are not on a specific CPU in a distributed system, certainly not just for
<struct proc>.p_oncpu, which is of course now <struct kse>.ke_oncpu.
2002-09-15 04:45:56 +00:00
nectar
a0732e9360 Backout the increase of MAXPACKET from 1024 to 65536: it
broke pthreads.

Reported by:	mbr, tjr
2002-09-15 04:23:20 +00:00
phk
cff87abbac Un-inline the non-trivial "trivial" bio* functions.
Untangle devstat_end_transaction_bio()
2002-09-14 19:34:11 +00:00
imp
79ce8a243f Add additional information returned to userland by the device querying
functions.  We add pnpinfo, locationinfo, devflags (the newbus flags
on the device), flags (the flags that device_get_flags returns) and
state to the list of things we return.

pnpinfo and locationinfo are place holders at the moment that will be
filled in by the device's parent (optionally).  Userland programs will
likely use this information from time to time and take appropriate
actions.

Improvements to devinfo to follow.
2002-09-14 19:15:12 +00:00
phk
9f453489a6 remove #includes of <sys/bio.h> where not needed. 2002-09-14 18:59:32 +00:00
phk
2c8750a6ca FreeBSD -current doesn't need <sys/buf.h> or <sys/bio.h>. 2002-09-14 18:58:36 +00:00
njl
8b6282f88a Move setugidsafety() call outside of process lock. This prevents a lock
recursion when closef() calls pfind() which also wants the proc lock.
This case only occurred when setugidsafety() needed to close unsafe files.

Reviewed by:	truckman
2002-09-14 18:55:11 +00:00
njl
72ca599da8 Userland changes to go with vnode->v_tag change. 2002-09-14 18:51:10 +00:00
tmm
c14b63a0b9 Use the macros from machine/fsr.h; some minor cleanups. 2002-09-14 18:07:03 +00:00
tmm
6bea77d590 Add implementations of fpgetmask(), fpgetround(), fpgetsticky(),
fpsetround(), fpsetsticky(), obtained from NetBSD and tweaked a little
to use definitions from machine/fsr.h instead of magic numbers.
2002-09-14 18:06:21 +00:00
tmm
69c3f107e2 Use the definitions in machine/fsr.h instead of duplicating these magic
numbers here (the values need to correspond to the %fsr ones for some
libc functions to work right).
2002-09-14 18:00:44 +00:00
tmm
a139e40971 Clean up a bit, and add some more macros to access %fsr fields. 2002-09-14 17:58:54 +00:00
ume
db96f2a540 Limit UDP payload size for EDNS0 to 0xffff, not use lower 16bit value.
Obtained from:	KAME
2002-09-14 17:28:40 +00:00
scottl
d77892e0d5 kthread.h is not needed 2002-09-14 16:54:46 +00:00
mux
3ede14284c Removed a debugging printf() left here in peter's
last commit.

Spotted by:	kris
2002-09-14 15:14:29 +00:00
mux
fefd97fe38 Remove a conditional #include <sys/kernel.h>, it is already
included unconditionally before.

Submitted by:	Olivier Houchard <cognet@ci0.org>
2002-09-14 14:44:41 +00:00
tmm
208c1cb767 Return an error if a symbol is not found in reloc_jmpslots() instead of
crashing.
2002-09-14 12:14:24 +00:00
njl
0590c43070 Remove all use of vnode->v_tag, replacing with appropriate substitutes.
v_tag is now const char * and should only be used for debugging.

Additionally:
1. All users of VT_NTS now check vfsconf->vf_type VFCF_NETWORK
2. The user of VT_PROCFS now checks for the new flag VV_PROCDEP, which
is propagated by pseudofs to all child vnodes if the fs sets PFS_PROCDEP.

Suggested by:   phk
Reviewed by:    bde, rwatson (earlier version)
2002-09-14 09:02:28 +00:00
benno
bb76739de0 Reference the socket we're accepting. 2002-09-14 08:56:10 +00:00
julian
2689f8b40e Apparently something down in the guts of vm/uvm still needs giant
Obtained from:	 mini via P4 KSE tree.
2002-09-14 06:23:43 +00:00
rwatson
775b769d79 s/VOP_NULL/VATTR_NULL/ 2002-09-14 03:32:57 +00:00
mjacob
355caacf68 Put firewire under architectures it actually might conceivably
build on, let alone actually do some useful work on real hardware.

Namely, put it in i386/pc98. There is no bus_dma.h on the other architecures,
tra la.
2002-09-14 02:05:33 +00:00
archie
8e0a543689 Relax checking of incoming PPTP GRE packets a bit: ignore a bogus payload
length field when there's no payload indicated by the header 'S' bit.
This works around semi-brokenness in the Mac OS X PPTP client.
2002-09-14 00:00:49 +00:00
nectar
57c8809640 When using res_send/res_query/res_search, the caller must either
insure enough space is available for the response, or be prepared
to resize the buffer and retry as necessary.

Do the conservative thing and make sure enough space is available.

Reviewed by:	silence on freebsd-audit
2002-09-13 20:31:29 +00:00
peter
413ebcf5d2 The nfsroot code should be conditional on NFSCLIENT, not NFS (which no
longer exists as an option)
2002-09-13 20:29:42 +00:00
gioria
877ad7ab10 Begin of MFen 1.423 2002-09-13 20:23:26 +00:00
mike
1162fbef38 mlockall() and munlockall() are unimplemented; remove their prototypes. 2002-09-13 18:29:15 +00:00
peter
c8ada7e754 Promote gcore from i386-specific to the MI section.
Compiled on: alpha, sparc64, ia64
2002-09-13 18:29:08 +00:00
peter
2b79601456 Add #include <sys/queue.h> for sparc64's benefit. The MD includes there
have less polution.
2002-09-13 18:24:59 +00:00
peter
2efd9305d0 Use a crowbar to move the a.out code out of gcore.c and into its own
file so that we have a chance of using gcore on non-i386 platforms.  Use
linker sets to reduce the registration glue.  Remove md-sparc.c, we do not
have an a.out sparc32 port.  aoutcore.c was repocopied from gcore.c.
2002-09-13 16:33:35 +00:00
imp
f2ab40c05e For boot verbose, print resources assigned in a more asthetically pleasing
way.

PR: 42745 (although done in a different way)
2002-09-13 16:23:41 +00:00
tmm
c568640675 Add an implementation of fabs() (which is quite trivial).
When it is called directly, gcc is smart enough to generate inline
code for it, which is why it wasn't noticed before that it was missing.

fabs() would probably better fit into libm, but it has traditionally been
in libc on FreeBSD, so there is probably software around that makes
assumptions about this by now.
2002-09-13 16:01:26 +00:00
tmm
3103a45bbf Fix fcntl(..., F_GETOWN, ...) and fcntl(..., F_SETOWN, ...) on sparc64
by not passing a pointer to a register_t or intptr_t when the code in
the lower layers expects one to an int.
2002-09-13 15:15:16 +00:00
phk
798f40001b Overhaul the kernel-simulation bits here to use pthreads instead.
If somebody wanted to, this could for the beginning of a "libkernel"
which could be used to run kernel code in userland.

Sponsored by:	DARPA & NAI Labs.
2002-09-13 13:13:00 +00:00
ikob
d6356122cc Add firewire module 2002-09-13 12:42:57 +00:00
ikob
5941256529 Initial import for IEEE1394 OHCI chipdet device driver and SBP-2 (Serial
Bus Protocol 2:SCSI over IEEE1394) support for CAM.
2002-09-13 12:31:56 +00:00
phk
238e3d3255 "Fix" printf format issues by using %j
Sponsored by:	DARPA & NAI Labs.
2002-09-13 11:41:25 +00:00
phk
39330dc632 Use biowait() rather than DIY.
Sponsored by:	DARPA & NAI Labs
2002-09-13 11:39:11 +00:00
phk
c7f7c94e96 Fix a bug were a struct bio was freed and certain members subsequently
examined.  Use biowait() instead of DIY.
2002-09-13 11:37:38 +00:00
phk
725daf0b2d Oops, broke the build there. Uninline biodone() now that it is non-trivial.
Introduce biowait() function.  Currently there is a race condition and the
mitigation is a timeout/retry.  It is not obvious what kind of locking (if any)
is suitable for BIO_DONE, since the majority of users take are of this
themselves, and only a few places actually rely on the wakeup.

Sponsored by: DARPA & NAI Labs.
2002-09-13 11:28:31 +00:00
phk
4e012cc1d4 Make biodone() default to wakeup() on the struct bio if no bio_done
method was specified.
2002-09-13 11:00:48 +00:00