freebsd-nq/sys
John Baldwin 6d40361585 The changes in r233781 attempted to make logging during a machine check
exception more readable.  In practice they prevented all logging during
a machine check exception on at least some systems.  Specifically, when
an uncorrected ECC error is detected in a DIMM on a Nehalem/Westmere
class machine, all CPUs receive a machine check exception, but only
CPUs on the same package as the memory controller for the erroring DIMM
log an error.  The CPUs on the other package would complete the scan of
their machine check banks and panic before the first set of CPUs could
log an error.  The end result was a clearer display during the panic
(no interleaved messages), but a crashdump without any useful info about
the error that occurred.

To handle this case, make all CPUs spin in the machine check handler
once they have completed their scan of their machine check banks until
at least one machine check error is logged.  I tried using a DELAY()
instead so that the CPUs would not potentially hang forever, but that
was not reliable in testing.

While here, don't clear MCIP from MSR_MCG_STATUS before invoking panic.
Only clear it if the machine check handler does not panic and returns
to the interrupted thread.
2014-01-08 21:04:12 +00:00
..
amd64 Use the 'Virtual Interrupt Delivery' feature of Intel VT-x if supported by 2014-01-07 21:04:49 +00:00
arm Add option USB_HOST_ALIGN to configs that contain 'device usb'. Setting 2014-01-08 03:42:09 +00:00
boot Update dts files of Cubieboard1,2 to use 1GB memory. 2014-01-08 09:33:16 +00:00
bsm
cam Allow delete_method sysctl to be set to "DISABLE". 2014-01-07 20:12:10 +00:00
cddl In atomic_or_8_nv() load 1 and not 8 bytes from the address 2014-01-06 05:00:58 +00:00
compat
conf Remove aicasm as a build dependency. It made sense when the ahc and ahd 2014-01-07 19:33:17 +00:00
contrib Add firmware version 18.168.6.1 (API version 6) for Intel Centrino 2014-01-05 01:07:14 +00:00
crypto
ddb
dev Restore VGA mode on vt switch. It fix VESA mode left by Xorg on exit. 2014-01-08 14:42:26 +00:00
fs Fix off-by-one error in r260229. 2014-01-07 11:43:51 +00:00
gdb
geom
gnu/fs/reiserfs
i386
ia64 Implement atomic_swap_<type>. 2014-01-01 22:51:19 +00:00
isa
kern Add a compile-time control over the size of KN_HASHSIZE. 2014-01-07 01:17:27 +00:00
kgssapi
libkern
mips Fix the geom mappings for WR1043ND. 2014-01-07 13:09:35 +00:00
modules Remove aicasm as a build dependency. It made sense when the ahc and ahd 2014-01-07 19:33:17 +00:00
net Remove dead code. 2014-01-07 19:00:40 +00:00
net80211 Rename definition of IEEE80211_FC1_WEP to IEEE80211_FC1_PROTECTED. 2014-01-08 08:06:56 +00:00
netatalk
netgraph Fix circular math macro. 2014-01-03 12:06:54 +00:00
netinet Make failure of ifpromisc() a non-fatal error. This makes it possible to 2014-01-03 11:03:12 +00:00
netinet6 Use pointer to struct sockaddr_in6 in lla_lookup() call. 2014-01-03 02:40:56 +00:00
netipsec
netipx
netnatm
netpfil When pf_get_translation() fails, it should leave *sn pointer pristine, 2014-01-06 19:05:04 +00:00
netsmb
nfs Move most of NFS file handle affinity code out of the heavily congested 2013-12-30 20:23:15 +00:00
nfsclient
nfsserver
nlm
ofed Similar to r260020, only use -fms-extensions with gcc, for all other 2013-12-30 20:34:53 +00:00
opencrypto
pc98
pci
powerpc Retire machine/fdt.h as a header used by MI code, as its function is now 2014-01-05 18:46:58 +00:00
rpc Fix NULL dereference panic on UDP requests introduced in r260229. 2014-01-06 12:40:46 +00:00
security
sparc64
sys Reserve an event type for the upcoming EVENT_SENDFILE and 2014-01-07 20:24:25 +00:00
teken
tools
ufs Fine tune filesystem block allocations under low free-space 2013-12-30 17:04:24 +00:00
vm Since the introduction of the popmap to reservations in r259999, there is 2013-12-31 18:25:15 +00:00
x86 The changes in r233781 attempted to make logging during a machine check 2014-01-08 21:04:12 +00:00
xdr
xen
Makefile Add netpfil to CSCOPEDIRS. 2013-12-30 08:36:17 +00:00