Sascha Wildner [Fri, 12 Oct 2012 06:25:36 +0000 (08:25 +0200)]
usb4bsd/uether: Missing argument in usb_ether_method's ue_ioctl() member.
Sascha Wildner [Fri, 12 Oct 2012 06:24:06 +0000 (08:24 +0200)]
usb4bsd/if_udav: Comment out a variable (usage is not yet enabled).
Sascha Wildner [Fri, 12 Oct 2012 06:23:02 +0000 (08:23 +0200)]
usb4bsd/audio: 'static' has to be at the beginning of the declaration.
Sascha Wildner [Fri, 12 Oct 2012 05:44:34 +0000 (07:44 +0200)]
Remove old USB stuff when the new stack is requested.
Sascha Wildner [Thu, 11 Oct 2012 13:40:41 +0000 (15:40 +0200)]
usb4bsd: Add uether dependency for compiling udav into the kernel.
Sascha Wildner [Thu, 11 Oct 2012 13:35:38 +0000 (15:35 +0200)]
usb4bsd: Fix the compilation of the remaining drivers into the kernel.
Sascha Wildner [Thu, 11 Oct 2012 13:35:22 +0000 (15:35 +0200)]
usb4bsd: Fix some compilation warnings.
Sascha Wildner [Thu, 11 Oct 2012 09:24:08 +0000 (11:24 +0200)]
usb4bsd: Allow some parts to be built into the kernel.
This is for the core support, and for uhci, ohci, ehci and xhci.
To do this, replace:
device usb
with
device "usb4bsd"
in the config. The quotes are needed at the moment to cope with a
weakness in our config(8) that needs fixing.
Based-on-patch-submitted-by: Markus Pfeiffer <markus.pfeiffer@morphism.de>
Sascha Wildner [Thu, 11 Oct 2012 09:18:50 +0000 (11:18 +0200)]
kernel/mii_layer: Little indentation fix.
Sascha Wildner [Thu, 11 Oct 2012 09:18:06 +0000 (11:18 +0200)]
usb4bsd: Port network devices (uether, udav, axe) and hook into build.
Submitted-by: Markus Pfeiffer <markus.pfeiffer@morphism.de>
Sascha Wildner [Wed, 10 Oct 2012 22:55:15 +0000 (00:55 +0200)]
usb4bsd: Port input devices (uep, uhid, ukbd, ums) and hook into build.
Submitted-by: Markus Pfeiffer <markus.pfeiffer@morphism.de>
Sascha Wildner [Wed, 10 Oct 2012 22:06:44 +0000 (00:06 +0200)]
usb4bsd: Fixes, fixes, fixes.
* Fix a panic when trying to free null pointer in usb_free_device.
* Fix a panic due to wrong assignment of locks.
* Fix kqueue handling.
* Add debug helpers.
Submitted-by: Markus Pfeiffer <markus.pfeiffer@morphism.de>
Sascha Wildner [Wed, 10 Oct 2012 21:46:53 +0000 (23:46 +0200)]
usb4bsd: Implement umass scsi probing on attach.
Submitted-by: Markus Pfeiffer <markus.pfeiffer@morphism.de>
Sascha Wildner [Sun, 7 Oct 2012 15:25:03 +0000 (17:25 +0200)]
usb4bsd: Bring in FreeBSD's uaudio driver.
This is based on FreeBSD SVN r231881.
Submitted-by: Markus Pfeiffer <markus.pfeiffer@morphism.de>
Sascha Wildner [Tue, 2 Oct 2012 04:21:24 +0000 (06:21 +0200)]
usb4bsd: Separate building of the old USB modules.
Don't build the old USB driver modules when WANT_USB4BSD is set.
Also, do some cleanup in some of the Makefiles, while I'm here.
Sascha Wildner [Mon, 1 Oct 2012 04:04:09 +0000 (06:04 +0200)]
usb4bsd: Cleanup pass.
* Adjust indentation, whitespace and typos.
* Uniformly use #if 0 to deactivate code instead of C comments.
Sascha Wildner [Thu, 27 Sep 2012 07:51:55 +0000 (09:51 +0200)]
usb4bsd: Hook usb, ehci, ohci, uhci, xhci, umass, and usfs into the build.
Adds some missing Makefiles and adjusts others.
With this commit, the corresponding modules all build when WANT_USB4BSD
is set, but they are not guaranteed to work. More bugs will be fixed in
subsequent commits.
The new USB code can't yet be built into the kernel.
Submitted-by: Markus Pfeiffer <markus.pfeiffer@morphism.de>
Sascha Wildner [Wed, 26 Sep 2012 17:31:51 +0000 (19:31 +0200)]
usb4bsd: Perform the usual porting on the controller, storage and core code.
malloc -> kmalloc, printf -> kprintf, locking, and so forth.
Submitted-by: Markus Pfeiffer <markus.pfeiffer@morphism.de>
Sascha Wildner [Wed, 26 Sep 2012 16:00:13 +0000 (18:00 +0200)]
usb4bsd: Generate usbdevs.h and usbdevs_data.h.
Also, rename devlist2h.awk to usbdevs2h.awk and remove our CVS ID in
Makefile.usbdevs.
Submitted-by: Markus Pfeiffer <markus.pfeiffer@morphism.de>
Sascha Wildner [Wed, 26 Sep 2012 07:27:25 +0000 (09:27 +0200)]
<bus/pci/pcireg.h>: Add a definition for XHCI programming interface.
Submitted-by: Markus Pfeiffer <markus.pfeiffer@morphism.de>
Sascha Wildner [Wed, 26 Sep 2012 00:00:09 +0000 (02:00 +0200)]
usb4bsd: Hook the userland part into the build.
Define a new make.conf(5) variable, WANT_USB4BSD, which (if set) causes
the new USB's userland to be built (similar to WANT_NETGRAPH7).
Sascha Wildner [Tue, 25 Sep 2012 21:15:43 +0000 (23:15 +0200)]
usb4bsd: Adjust header paths in libusbhid, usbhidctl, and public headers.
Also remove some __FBSDID's.
Submitted-by: Markus Pfeiffer <markus.pfeiffer@morphism.de>
Sascha Wildner [Tue, 25 Sep 2012 21:11:40 +0000 (23:11 +0200)]
usb4bsd: Bring in FreeBSD's libusbhid, usbhidctl and USB kernel code.
In order to make it live peacefully along with our old USB code, name
all directories with new USB code *u4b* instead of *usb*.
This is FreeBSD SVN r231881.
Submitted-by: Markus Pfeiffer <markus.pfeiffer@morphism.de>
John Marino [Sun, 21 Oct 2012 09:08:28 +0000 (11:08 +0200)]
gcc4X man pages: Introduce generic MLINK handling
A few months ago, the MLINK handling for binutils was updated to make
it easier to switch the primary version. For binutils, every manpage
has a suffix based on the binutils version and the "real" man page is
linked to the primary version.
The two base compilers had the same organization, but the manual system
was not converted when binutils system was. When gcc47 was brought in,
the manual organization wasn't implemented correctly and the gcc47 pages
ended up getting linked to the "real" man page instead of the primary
compiler gcc44.
While fixing this, bring in the binutils MLINK handling to prepare for
switching gcc47 to the primary compiler in the future.
John Marino [Sat, 20 Oct 2012 13:19:06 +0000 (15:19 +0200)]
libgomp47: link pthread library
John Marino [Sat, 20 Oct 2012 06:37:48 +0000 (08:37 +0200)]
gcc47: Add libgomp
This library was not part of the gcc 4.7 system compiler set.
By request for the purpose of supporting OpenMP with system compiler,
libgomp is being added to the gcc 4.7 library set.
John Marino [Fri, 19 Oct 2012 15:43:21 +0000 (17:43 +0200)]
gcc47: Add libssp and libssp_noshared
These libraries were not part of the gcc 4.4 system compiler set.
Some pkgsrc packages assume the ssp libraries come with the compiler,
so add them to the gcc 4.7 library set.
John Marino [Sun, 21 Oct 2012 07:39:34 +0000 (09:39 +0200)]
Merge branch 'vendor/GCC47' into RELEASE_3_2
John Marino [Sat, 20 Oct 2012 00:06:27 +0000 (02:06 +0200)]
gcc47: Add __stack_chk_fail_local hack from gcc44
Like gcc44 before it, gcc47 is complaining about the hidden symbol of
__stack_chk_fail_local. This patch swildner added to gcc44 will fix the
issue, but it is a bit of a hack. A true fix may end up touching libc,
rtld, and other bits. The original code is supposd to conserve a PIC
register.
Note that vendor-built GCCs on FreeBSD exhibit the same behavior and as
a consequence only the patched base compiler can be used to build certain
ports.
This hack should be fixed properly as soon as convenient.
John Marino [Sat, 20 Oct 2012 06:35:34 +0000 (08:35 +0200)]
Add libgomp source files to gcc 4.7 vendor branch
Sascha Wildner [Sat, 20 Oct 2012 08:49:14 +0000 (10:49 +0200)]
udevd(8): Reduce the scope of a yet unused variable.
Sascha Wildner [Sat, 20 Oct 2012 08:39:26 +0000 (10:39 +0200)]
newfs(8): Remove an unused variable.
Found-by: gcc47
Sascha Wildner [Sat, 20 Oct 2012 08:18:27 +0000 (10:18 +0200)]
mount{,_ufs}(8): Check for mountctl() error before printing buf.
John Marino [Fri, 19 Oct 2012 15:27:07 +0000 (17:27 +0200)]
Add libssp source files to gcc 4.7 vendor branch
Matthew Dillon [Fri, 19 Oct 2012 20:26:45 +0000 (13:26 -0700)]
kernel - Fix UP build for usched_dfly
* Fix UP build for usched_dfly (primarily for the 3.2 release, UP is being
removed post-release).
Sascha Wildner [Fri, 19 Oct 2012 19:22:23 +0000 (21:22 +0200)]
rshd(8): Add an error check for getnameinfo().
Matthew Dillon [Fri, 19 Oct 2012 17:41:01 +0000 (10:41 -0700)]
kernel - Detect edge cases in ELF note handling
* Do more stringent tests on ELF note structures and headers to
avoid possible panics on page-crossings.
* Patch constructed from examination of a similar fix made to FreeBSD
cvs/1.227. However, our patch is written a different way.
Reported-by: Lukasz Wojcik <lukasz.wojcik@zoho.com>
Sascha Wildner [Fri, 19 Oct 2012 15:47:17 +0000 (17:47 +0200)]
Revert a few additions of __unused that need some more thought.
We can postpone it until WARNS gets raised to 4 (at the moment, all
this stuff is WARNS = 2).
Sascha Wildner [Fri, 19 Oct 2012 08:49:34 +0000 (10:49 +0200)]
Revert some no longer needed local CFLAGS modifications.
Sascha Wildner [Fri, 19 Oct 2012 08:47:11 +0000 (10:47 +0200)]
crypto: Revert some changes in contributed code.
Sascha Wildner [Fri, 19 Oct 2012 08:43:55 +0000 (10:43 +0200)]
Move gcc47's -Wunused-but-set-{parameter,variable} to WARNS >= 4.
It's not really important stuff that they uncover.
Also, -Wunused-parameter is added at >= 4 too.
Sascha Wildner [Fri, 19 Oct 2012 07:36:36 +0000 (09:36 +0200)]
ndis_events(8): Check a read().
Found-by: gcc47
John Marino [Fri, 19 Oct 2012 07:15:22 +0000 (09:15 +0200)]
libstdc++47: Rework to prevent regeneration during install
The installincludes target regenerated files such as c++config.h during
the install phase. It may be a minor bug as "bits/c++config.h:" would
trigger it but "c++config.h:" without the subdirectory wouldn't. In any
case, generating it and two other headers to the local working bits
directory wasn't necessary as installincludes target installs them in an
accessible location. Reworking the makefiles prevents a write operation
during installworld.
Reported-by: dillon
Sascha Wildner [Thu, 18 Oct 2012 22:54:03 +0000 (00:54 +0200)]
IPXrouted(8): Oops removed too much in the last commit.
Sascha Wildner [Thu, 18 Oct 2012 22:30:13 +0000 (00:30 +0200)]
<bsd.sys.mk>: Rename -W to -Wextra.
-Wextra is a newer name and it is a bit more descriptive.
While here, break a long line.
Sascha Wildner [Thu, 18 Oct 2012 22:13:41 +0000 (00:13 +0200)]
watchdogd(8): Silence a warning differently.
Also satisfies -Wunused-but-set-parameter.
Found-by: gcc47
Sascha Wildner [Thu, 18 Oct 2012 15:53:36 +0000 (17:53 +0200)]
kernel/x86_64: In pmap_enter(), entry is, in fact, used.
Sascha Wildner [Thu, 18 Oct 2012 13:36:07 +0000 (15:36 +0200)]
mptable(8): Remove an unused variable.
Found-by: gcc47
Sascha Wildner [Thu, 18 Oct 2012 13:35:08 +0000 (15:35 +0200)]
inetd(8): Fix initialization of se_rpc_{low,high}vers.
Found-by: gcc47
Sascha Wildner [Thu, 18 Oct 2012 13:34:20 +0000 (15:34 +0200)]
fwcontrol(8): f_cycle is only used in #if 0'd code, so #if 0 it too.
Found-by: gcc47
Sascha Wildner [Thu, 18 Oct 2012 13:32:19 +0000 (15:32 +0200)]
IPXrouted(8): Remove dead code, DragonFly has RTM_ADD.
Sascha Wildner [Thu, 18 Oct 2012 12:56:38 +0000 (14:56 +0200)]
ypxfr(8): Use the correct enum member for checking yp_errno.
Revert local CFLAGS, too.
Found-by: gcc47
Sascha Wildner [Thu, 18 Oct 2012 12:30:27 +0000 (14:30 +0200)]
yppoll(8): Comment out -h option.
The implementation of it is missing (see e.g. NetBSD or OpenBSD). Until
someone works on it, comment out the existing code to silence a warning
about 'hostname' being set but unused.
Found-by: gcc47
Sascha Wildner [Thu, 18 Oct 2012 12:22:38 +0000 (14:22 +0200)]
ldconfig(8): Remove -s from usage(), too.
Sascha Wildner [Thu, 18 Oct 2012 12:03:04 +0000 (14:03 +0200)]
make(1): Use an inline function instead of a macro for Lst_Valid().
This gives -Waddress something to test even if the address of a local
variable is passed.
Remove local CFLAGS and put back under -Werror.
Sascha Wildner [Thu, 18 Oct 2012 06:45:59 +0000 (08:45 +0200)]
Sync zoneinfo database with tzdata2012g from ftp://ftp.iana.org/tz/releases
* asia (Asia/Gaza, Asia/Hebron): Fall transition was Sep 21, not Sep 28.
Thanks to Steffen Thorsen for this.
* australasia (Pacific/Apia): New DST rules for Western Samoa.
Thanks to Nicholas Pereira for the heads-up and to Robert Elz
for coding up the rules.
Sascha Wildner [Wed, 17 Oct 2012 20:51:15 +0000 (22:51 +0200)]
ndiscvt(8): Unbreak build.
Sascha Wildner [Wed, 17 Oct 2012 16:15:54 +0000 (18:15 +0200)]
compilers.conf: Add -Wno-unknown-warning-option for clang.
When compiling with clang, add -Wno-unknown-warning-option to silence
warnings about unknown warning options. We'll not maintain compatibility
for warning options in our wrapper.
Reported-by: Joris Giovannangeli <joris@giovannangeli.fr>
Sascha Wildner [Wed, 17 Oct 2012 16:08:46 +0000 (18:08 +0200)]
Remove more unused variables in userland.
Found-by: gcc47
Sepherosa Ziehau [Wed, 17 Oct 2012 13:22:59 +0000 (21:22 +0800)]
snd/hda: Restore the magic register setting to enable cache snooping
It looks like certain chips ignore NOSNOOP settings in PCIe device
control configuration register. Restore the magic register setting
to enable cache snooping.
Reported-by: many
Tested-by: Goetz Isenmann <info@goetz-isenmann.de>
Sascha Wildner [Tue, 16 Oct 2012 10:41:43 +0000 (12:41 +0200)]
vinum(8): Remove some unused variables.
Found-by: gcc47
Sascha Wildner [Tue, 16 Oct 2012 09:44:53 +0000 (11:44 +0200)]
growfs(8): Remove an unused variable.
Found-by: gcc47
Sascha Wildner [Tue, 16 Oct 2012 09:19:46 +0000 (11:19 +0200)]
rcs(1): Remove an unused variable.
Found-by: gcc47
Sascha Wildner [Tue, 16 Oct 2012 08:50:40 +0000 (10:50 +0200)]
loader(8): Remove an unused variable.
Found-by: gcc47
Sascha Wildner [Tue, 16 Oct 2012 08:16:22 +0000 (10:16 +0200)]
fsirand(8): Remove an unused variable.
Found-by: gcc47
Sascha Wildner [Tue, 16 Oct 2012 08:08:33 +0000 (10:08 +0200)]
ldconfig(8): Make -s a no-op.
The functionality of -s was removed in
a369de1639fc. Also comment it out
in the manpage, but leave the option for compatibility.
Found-by: gcc47
Sascha Wildner [Tue, 16 Oct 2012 08:01:27 +0000 (10:01 +0200)]
ffsinfo(8): Remove an unused variable.
Found-by: gcc47
Sascha Wildner [Tue, 16 Oct 2012 07:58:08 +0000 (09:58 +0200)]
cryptdisks(8): The 'ok' variable is only needed in #ifdef DEBUG.
Found-by: gcc47
Sascha Wildner [Tue, 16 Oct 2012 07:53:02 +0000 (09:53 +0200)]
ccdconfig(8): Remove some unused variables.
Found-by: gcc47
Sascha Wildner [Tue, 16 Oct 2012 07:48:42 +0000 (09:48 +0200)]
camcontrol(8): Remove some unused variables.
Found-by: gcc47
Sascha Wildner [Tue, 16 Oct 2012 06:49:09 +0000 (08:49 +0200)]
usched_set.2: Mention usched(8).
Sascha Wildner [Tue, 16 Oct 2012 06:48:06 +0000 (08:48 +0200)]
usched(8): Add a minimal manual page.
Sascha Wildner [Tue, 16 Oct 2012 06:47:26 +0000 (08:47 +0200)]
usched(8): #if 0 out some (yet) unused code.
Found-by: gcc47
Sascha Wildner [Tue, 16 Oct 2012 05:00:32 +0000 (07:00 +0200)]
tcplay(3): The 'ok' variable is only needed in #ifdef DEBUG.
Found-by: gcc47
Sascha Wildner [Tue, 16 Oct 2012 04:38:14 +0000 (06:38 +0200)]
reboot(8): Remove an unused variable.
Found-by: gcc47
Sascha Wildner [Tue, 16 Oct 2012 04:36:35 +0000 (06:36 +0200)]
rcorder(8): Whitespace fix.
Sascha Wildner [Tue, 16 Oct 2012 04:36:09 +0000 (06:36 +0200)]
monitor(1): Check kevent().
Found-by: gcc47
Sascha Wildner [Tue, 16 Oct 2012 02:59:08 +0000 (04:59 +0200)]
dfregress(8): Check prop_dictionary_get_uint32()'s return value.
Consistent with the rest of the file.
Found-by: gcc47
Sascha Wildner [Tue, 16 Oct 2012 02:51:22 +0000 (04:51 +0200)]
brandelf(1): Make -v a no-op.
-v never did anything, so remove the verbose variable and comment it out
in the manpage, but leave the option for compatibility.
Found-by: gcc47
Sascha Wildner [Mon, 15 Oct 2012 07:16:38 +0000 (09:16 +0200)]
Add dragonfly.vim, for changing vim indentation rules to match style(9).
Assuming it works, haven't personally used it.
Taken-from: FreeBSD
Sascha Wildner [Mon, 15 Oct 2012 06:58:31 +0000 (08:58 +0200)]
Update the pciconf(8) database.
October 14, 2012 snapshot from http://pciids.sourceforge.net/
Sascha Wildner [Sun, 14 Oct 2012 08:34:36 +0000 (10:34 +0200)]
compilers.conf.5: Some more cleanup.
* Remove a reference to an old patch I did for building world with clang.
The changes which are currently needed remain to be determined.
* Make the examples more generic and indicate that buildworld/kernel
do not necessarily survive with the compilers listed. Also, stuff them
into an EXAMPLES section.
* Add a comma.
Reported-by: Carsten Mattner <carstenmattner@gmail.com>
Matthew Dillon [Sat, 13 Oct 2012 17:22:02 +0000 (10:22 -0700)]
vkernel - Adjust parameters for vkernel test build
* Increase root partition from 512M to 2G to accomodate DEBUG_FLAGS=-g
kernels.
* Increase default memory from 128M to 256M
* Create the /var/vkernel directory if necessary.
Matthew Dillon [Sat, 13 Oct 2012 17:11:43 +0000 (10:11 -0700)]
kernel - Fix sysclock_t comparison in usched code
* Fix a sysclock_t comparison that was attempting to detect an overflow
by checking if an unsigned field was negative. The field has
to be cast to signed for the test to work as expected.
Reported-by: enjolras
Matthew Dillon [Sat, 13 Oct 2012 17:03:03 +0000 (10:03 -0700)]
HAMMER VFS - Use full-block undos for B-Tree nodes
* Use a full-block undos instead of small byte-range undos for
B-Tree nodes.
There is no bug here per-say, but we are trying to improve
HAMMER's ability to recover after a power failure where a disk
drive is writing to the platter at the time of the failure.
While we have no control over any unrelated sectors that might
get smashed by such an event, the concern is that sectors being
specifically written might get corrupted beyond the ability for
the byte-range undo to fix.
The reason is that if, say, only 50 bytes in a B-Tree node need
updating, HAMMER must still do a 16K physical write to disk, so
really any portion of that 16K can wind up corrupt on a power
failure, not just the 50 bytes being changed.
So instead of writing a byte-ranged 50-byte UNDO we now write
a 16K undo for B-Tree elements.
* The hope is that this will improve cases where HAMMER has become
unmountable due to CRC errors in the B-Tree closer to the root of
the B-Tree (which are usually updated to update only the mirror_tid)
Reported-by: sgeorge, marino
Tim [Tue, 25 Jan 2011 05:29:55 +0000 (21:29 -0800)]
make device_probe_child() public
Sascha Wildner [Sat, 13 Oct 2012 05:53:04 +0000 (07:53 +0200)]
compilers.conf.5: Remove docs about *_VERSION, it no longer exists.
Sascha Wildner [Fri, 12 Oct 2012 19:38:50 +0000 (21:38 +0200)]
sleep.9: Really write PINTERLOCKED in the example.
Reported-by: vsrinivas
Sascha Wildner [Fri, 12 Oct 2012 19:27:22 +0000 (21:27 +0200)]
sleep.9: s/PINTERLOCK/PINTERLOCKED/
Sascha Wildner [Fri, 12 Oct 2012 08:57:12 +0000 (10:57 +0200)]
customcc/compilers.conf: Some adjustments and simplifications.
* pkgsrc's clang no longer needs special handling for C++ compilation.
* Use gcc44's cpp, gcc41 is gone.
* -dumpversion is now understool by both pkgsrc's and SVN trunk's
clang, so no special handling needed for that either.
Based on an older patch I did with Juan Francisco a year ago.
Reported-by: Juan Francisco Cantero Hurtado <iam@juanfra.info>
Joris Giovannangeli <joris@giovannangeli.fr>
Tested-by: Joris Giovannangeli <joris@giovannangeli.fr>
Dragonfly-bug: <http://bugs.dragonflybsd.org/issues/2205>
Sascha Wildner [Fri, 12 Oct 2012 08:16:20 +0000 (10:16 +0200)]
kernel: Some adjustments for the GCC 4.1 removal in Makefiles.
Sascha Wildner [Fri, 12 Oct 2012 08:12:57 +0000 (10:12 +0200)]
UPDATING: Some words about GCC 4.7.
Sascha Wildner [Fri, 12 Oct 2012 07:53:20 +0000 (09:53 +0200)]
compilers.conf.5: We only describe non-base compilers here.
"gcc47" is no longer handled via compilers.conf.
Sascha Wildner [Fri, 12 Oct 2012 05:00:48 +0000 (07:00 +0200)]
Makefile_upgrade.inc: Adjust modules path.
This can be helpful in cases where old modules for some reason
had not been cleaned when the location was still /boot/modules
and have ended up getting objcopy'd to /boot/kernel after the
location was changed.
Matthew Dillon [Thu, 11 Oct 2012 21:34:09 +0000 (14:34 -0700)]
kernel - Fix i386 pmap bug
* mpte will be NULL for KVM page table pages, there is no need to track
the wire count. Conditionalize-out the unwiring call.
* This is believed to be (this time for sure to the third power!) the
PG_BUSY crash that vsrinivas was getting on i386 related to paging
in a swapped kernel pipe buffer.
Matthew Dillon [Thu, 11 Oct 2012 19:12:25 +0000 (12:12 -0700)]
kernel - Make pcb_onfault more robust.
* Record the expected kernel stack pointer along with the pcb_onfault
action. Adjust the trap code to only take the action if the frame's
stack pointer matches the recorded expected stack pointer.
Otherwise this might be a recursive trap and we definitely do NOT want
to execute the on-fault stuff in that situation.
* Prior to these changes recursive traps during uiomove()s could result
in a kernel stack so corrupt that finding the actual cause of the panic
becomes impossible. This is believed to be making life difficult for us
trying to track down a particular i386 panic.
* On x86-64 we had to increase the size of the pcb structure. kgdb on
kernel cores and live kernels will be effected (needs recompile).
Matthew Dillon [Thu, 11 Oct 2012 15:36:45 +0000 (08:36 -0700)]
top - Use RES by default instead of PRES
* The kernel support for PRES was removed during the SMP fine-grained
locking work on the VM system last year so top was reporting 0K for
everything. Change top to go back to RES.
Sepherosa Ziehau [Thu, 11 Oct 2012 06:54:52 +0000 (14:54 +0800)]
acpi/pstate: Be lenient about wrong # of processors in the power domain
Some stupid BIOSes seem to consider two logic CPUs (hyperthreading) as
one CPU. Don't bail out; just print some error messages.
Reported-by: dillon@
Matthew Dillon [Thu, 11 Oct 2012 06:43:03 +0000 (23:43 -0700)]
kernel - Use atomic op for usched_global_cpumask
* Use atomic op for usched_global_cpumask in the cpu init code. This
code is serialized anyway, I think, but it is best to be safe.
* Add cpu_ccfence() to ensure that the compiler does not reorder the
clearing of the mask in the cpusync code.
Matthew Dillon [Wed, 10 Oct 2012 23:43:57 +0000 (16:43 -0700)]
kernel - Remove debugging from i386 pmap
* Remove i386 pmap debugging kprintf.