freebsd-dev/sys
Jung-uk Kim 7dd052c1d9 - Disable caches and flush caches/TLBs when we update PAT as we do for MTRR.
Flushing TLBs is required to ensure cache coherency according to the AMD64
architecture manual.  Flushing caches is only required when changing from a
cacheable memory type (WB, WP, or WT) to an uncacheable type (WC, UC, or
UC-).  Since this function is only used once per processor during startup,
there is no need to take any shortcuts.
- Leave PAT indices 0-3 at the default of WB, WT, UC-, and UC.  Program 5 as
WP (from default WT) and 6 as WC (from default UC-).  Leave 4 and 7 at the
default of WB and UC.  This is to avoid transition from a cacheable memory
type to an uncacheable type to minimize possible cache incoherency.  Since
we perform flushing caches and TLBs now, this change may not be necessary
any more but we do not want to take any chances.
- Remove Apple hardware specific quirks.  With the above changes, it seems
this hack is no longer needed.
- Improve pmap_cache_bits() with an array to map PAT memory type to index.
This array is initialized early from pmap_init_pat(), so that we do not need
to handle special cases in the function any more.  Now this function is
identical on both amd64 and i386.

Reviewed by:	jhb
Tested by:	RM (reuf_m at hotmail dot com)
		Ryszard Czekaj (rychoo at freeshell dot net)
		army.of.root (army dot of dot root at googlemail dot com)
MFC after:	3 days
2010-11-22 19:52:44 +00:00
..
amd64 - Disable caches and flush caches/TLBs when we update PAT as we do for MTRR. 2010-11-22 19:52:44 +00:00
arm Provide a mutex around the read/modify/write of the IXP425_GPIO_* 2010-11-14 20:41:22 +00:00
boot Check the OF_getprop() return value before proceeding. Allocate only as 2010-11-20 19:23:16 +00:00
bsm
cam If HBA doesn't report user-enabled SATA capabilies (like ATA_CAM wrapper) - 2010-11-18 13:38:33 +00:00
cddl zfs+sendfile: populate all requested pages, not just those already cached 2010-11-16 15:53:44 +00:00
compat Add the ability for GDB to printout the thread name along with other 2010-11-22 14:42:13 +00:00
conf Adds a USB packet filter feature to the stack that it could capture 2010-11-22 01:11:28 +00:00
contrib o) Recognize the Lanner MR-730. 2010-11-08 21:22:55 +00:00
crypto Only save FPU context when not executing in the context of the crypto 2010-11-17 16:17:15 +00:00
ddb One more use for _SIG_VALID. 2010-07-12 10:18:10 +00:00
dev Fix a TSO checksum bug on mxge(4): 2010-11-22 16:43:05 +00:00
fs Remove prtactive variable and related printf()s in the vop_inactive 2010-11-19 21:17:34 +00:00
gdb there must be only one SYSINIT with SI_SUB_RUN_SCHEDULER+SI_ORDER_ANY order 2010-09-30 17:05:23 +00:00
geom Use g_eventlock to protect against losing wakeups in the g_event process 2010-11-22 16:47:53 +00:00
gnu Remove prtactive variable and related printf()s in the vop_inactive 2010-11-19 21:17:34 +00:00
i386 - Disable caches and flush caches/TLBs when we update PAT as we do for MTRR. 2010-11-22 19:52:44 +00:00
ia64 - Remove <machine/mutex.h>. Most of the headers were empty, and the 2010-11-09 20:46:41 +00:00
isa bus_add_child: change type of order parameter to u_int 2010-09-10 11:19:03 +00:00
kern After some off-list discussion, revert a number of changes to the 2010-11-22 19:32:54 +00:00
kgssapi
libkern Add support for asterisk characters when filling in the GELI password 2010-11-14 14:12:43 +00:00
mips After some off-list discussion, revert a number of changes to the 2010-11-22 19:32:54 +00:00
modules Adds a USB packet filter feature to the stack that it could capture 2010-11-22 01:11:28 +00:00
net After some off-list discussion, revert a number of changes to the 2010-11-22 19:32:54 +00:00
net80211 The meshid element is memcpy()'ed into se_meshid if included in either 2010-11-22 19:01:47 +00:00
netatalk
netgraph After some off-list discussion, revert a number of changes to the 2010-11-22 19:32:54 +00:00
netinet After some off-list discussion, revert a number of changes to the 2010-11-22 19:32:54 +00:00
netinet6 After some off-list discussion, revert a number of changes to the 2010-11-22 19:32:54 +00:00
netipsec After some off-list discussion, revert a number of changes to the 2010-11-22 19:32:54 +00:00
netipx
netnatm
netncp Switch to our preferred 2-clause BSD license. 2010-04-07 16:50:38 +00:00
netsmb Switch to our preferred 2-clause BSD license. 2010-04-07 16:50:38 +00:00
nfs Fix the type of the 3rd argument for nm_getinfo so that it works 2010-10-19 11:55:58 +00:00
nfsclient Remove prtactive variable and related printf()s in the vop_inactive 2010-11-19 21:17:34 +00:00
nfsserver Fix a bug in r214049. The nvp == vp case shall be handled specially 2010-11-05 21:13:16 +00:00
nlm Modify the NFS clients and the NLM so that the NLM can be used 2010-10-19 00:20:00 +00:00
opencrypto Let cryptosoft(4) add its pseudo-device with a specific unit number and its 2010-11-14 13:09:32 +00:00
pc98 Move identical copies of apm_bios.h to sys/x86/include, replace them with 2010-11-11 19:36:21 +00:00
pci Remove standard PCI configuration space register definitions. 2010-11-08 22:10:51 +00:00
powerpc After some off-list discussion, revert a number of changes to the 2010-11-22 19:32:54 +00:00
rpc Fix the krpc so that it can handle NFSv3,UDP mounts with a read/write 2010-10-13 00:57:14 +00:00
security Fix typos. 2010-11-09 10:59:09 +00:00
sparc64 Convert drivers somehow missed in r200874 to multipass probing. 2010-11-15 21:58:10 +00:00
sun4v Fix a few more places to use cpumask_t rather than 'u_int'. These are 2010-11-11 16:06:47 +00:00
sys After some off-list discussion, revert a number of changes to the 2010-11-22 19:32:54 +00:00
teken Partially implement the mysterious cons25 \e[x escape sequence. 2010-11-05 00:56:21 +00:00
tools Add an extra comment to the SDT probes definition. This allows us to get 2010-08-22 11:18:57 +00:00
ufs Delete /sys/ufs/ffs/README.snapshot as it is no longer relevant. 2010-11-20 18:40:50 +00:00
vm Eliminate the mab, maf arrays and related variables. 2010-11-21 10:18:28 +00:00
x86 hwpstate: use CPU_FOREACH when binding to all available processors 2010-11-16 12:43:45 +00:00
xdr
xen Improve the Xen para-virtualized device infrastructure of FreeBSD: 2010-10-19 20:53:30 +00:00
Makefile Add lex and yacc sources to things cscope'd. 2010-11-21 03:58:11 +00:00