Commit Graph

24 Commits

Author SHA1 Message Date
ed
5e4b02fe97 Mark global functions and/or variables in memcontrol(8) static where possible.
This allows compilers and static analyzers to do more thorough analysis.
2011-11-06 19:01:59 +00:00
ed
073cafdd42 The last big commit: let usr.sbin/ use WARNS=6 by default. 2010-01-02 11:07:44 +00:00
anholt
750ac28e3d Correct formatting of pointers in the listing by using "0x%" PRIx64 instead of
"%" PRIu64 "x".
2005-03-29 20:17:47 +00:00
delphij
3dde50a830 WARNS=6 cleanup. This includes:
- Apply __unused on unused parameters
	- Use const where suitable
	- Use PRIu64 instead of the deprecated %q
	- Bump WARNS to 6
2005-01-07 12:06:30 +00:00
ru
fef14a0ffe mdoc(7) police: markup fixes.
Approved by:	re
2002-11-27 15:31:08 +00:00
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
charnier
d2168fe021 The .Nm utility 2002-07-14 14:47:15 +00:00
dwmalone
eb5d75ea83 Make the MTRR code a bit more defensive - this should help people
trying to run X on some Athlon systems where the BIOS does odd things
(mines an ASUS A7A266, but it seems to also help on other systems).

Here's a description of the problem and my fix:

        The problem with the old MTRR code is that it only expects
        to find documented values in the bytes of MTRR registers.
        To convert the MTRR byte into a FreeBSD "Memory Range Type"
        (mrt) it uses the byte value and looks it up in an array.
        If the value is not in range then the mrt value ends up
        containing random junk.

        This isn't an immediate problem. The mrt value is only used
        later when rewriting the MTRR registers. When we finally
        go to write a value back again, the function i686_mtrrtype()
        searches for the junk value and returns -1 when it fails
        to find it. This is converted to a byte (0xff) and written
        back to the register, causing a GPF as 0xff is an illegal
        value for a MTRR byte.

	To work around this problem I've added a new mrt flag
	MDF_UNKNOWN.  We set this when we read a MTRR byte which
	we do not understand.  If we try to convert a MDF_UNKNOWN
	back into a MTRR value, then the new function, i686_mrt2mtrr,
	just returns the old value of the MTRR byte. This leaves
	the memory range type unchanged.

I have seen one side effect of the fix, which is that ACPI calls
after X has been run seem to hang my machine. As running X would
previously panic the machine, this is still an improvement ;-)

I'd like to MFC this before the 4.6 code freeze - please let me
know if it causes any problems.

PR:		28418, 25958
Tested by:	jkh, Christopher Masto <chris@netmonger.net>
MFC after:	2 weeks
2002-04-14 20:19:13 +00:00
obrien
9c97c8f02d Perform a major cleanup of the usr.sbin Makefiles.
These are not perfectly in agreement with each other style-wise, but they
are orders of orders of magnitude more consistent style-wise than before.
2001-07-20 06:20:32 +00:00
dd
911ca14c87 Remove whitespace at EOL. 2001-07-15 08:06:20 +00:00
ru
0d5f9334cf mdoc(7) police: removed HISTORY info from the .Os call. 2001-07-10 15:12:08 +00:00
dd
7894e59b7f Nuke unused variables. 2001-06-24 23:41:57 +00:00
ru
2d1b95a96f mdoc(7) police: normalize .Nd. 2001-04-18 15:54:10 +00:00
ru
afd506414e - Backout botched attempt to introduce MANSECT feature.
- MAN[1-9] -> MAN.
2001-03-26 14:42:20 +00:00
ru
f10dc9aca1 Set the default manual section for usr.sbin/ to 8. 2001-03-20 18:17:26 +00:00
obrien
c2ee1dcc02 Add `_PATH_DEVZERO'.
Use _PATH_* where where possible.
2000-12-09 09:35:55 +00:00
ru
71e2293ad4 mdoc(7) police: use the new features of the Nm macro. 2000-11-20 20:10:44 +00:00
green
68d5f97eed Make memcontrol(8) able to delete the segments starting at a base of 0
which it can create..
2000-03-20 22:53:32 +00:00
sheldonh
b2240fc1c0 Remove single-space hard sentence breaks. These degrade the quality
of the typeset output, tend to make diffs harder to read and provide
bad examples for new-comers to mdoc.
2000-03-01 14:09:25 +00:00
chris
6505efaabc Remove an unnecessary cross-reference to ioctl(2) 1999-10-09 16:37:37 +00:00
chris
4bac1949f4 Add and activate the man page for memcontrol(8).
Reviewed by:	msmith
1999-09-29 21:43:31 +00:00
peter
efabb9ccb1 $Id$ -> $FreeBSD$ 1999-08-28 01:35:59 +00:00
msmith
4ec71ddc19 Make memcontrol's internal help actually work. No substitute for a real
manpage, but at least now you can get syntax help without resorting
to reading the source.
1999-07-20 04:33:14 +00:00
msmith
adf731f0ab Commandline tool for manipulating memory range attributes. 1999-04-07 04:11:14 +00:00