Peter Avalos [Sat, 18 Jun 2011 01:29:44 +0000 (15:29 -1000)]
Merge branch 'vendor/AWK'
Peter Avalos [Sat, 18 Jun 2011 01:05:21 +0000 (15:05 -1000)]
Import awk-
20110506.
* added #ifdef for isblank (allows -ffoo as well as -f foo arguments).
* fixed a subtle (and i hope low-probability) overflow error in
fldbld, by adding space for one extra \0.
* changed srand() to return the previous seed
Alex Hornung [Sat, 18 Jun 2011 00:23:28 +0000 (01:23 +0100)]
padlock - initial rng support
* Please note that the rng support is completely experimental as I
don't have a VIA CPU available for testing.
* NOTE: this might cause a kernel panic until it's tested properly.
Peter Avalos [Fri, 17 Jun 2011 23:14:54 +0000 (13:14 -1000)]
Merge branch 'vendor/AWK'
Alex Hornung [Fri, 17 Jun 2011 23:05:57 +0000 (00:05 +0100)]
cryptdisks - Add retval checks for popen and alloc
Peter Avalos [Fri, 17 Jun 2011 23:05:07 +0000 (13:05 -1000)]
Delete old versions of awk and unversion directory name.
Alex Hornung [Fri, 17 Jun 2011 22:54:16 +0000 (23:54 +0100)]
cryptdisks - update to support options
* Update cryptdisks to support options in the last column of the
crypttab file.
* Supported options are:
- 'tries' specifies the number of password retries before failing
- 'timeout' specifies the timeout before the interactive prompt
times out.
- 'keyscript' specifies a script to use instead of a passphrase
prompt.
* Changed default number of 'tries' to 3 (was 1).
Matthew Dillon [Fri, 17 Jun 2011 06:03:27 +0000 (23:03 -0700)]
kernel - Deal with inconsistencies between IP aliases and primary IPs
These changes allow normal IP aliases with proper network masks to be
ifconfig'd instead of forcing people to use non-obvious /32's for their
IP aliases. It may also be possible to use overlapping subnets with
this change but this is not tested.
* When ifconfig'ing an interface with aliases using the correct netmask
instead of a /32, the network route will point to only one of the
addresses.
Trying to connect to a local IP alias wound up failing due to the
mismatch between the network route's interface address (ifaddr)
entry and the actual ifaddr being requested. The target was not
being considered a local address when it was.
* Fix in_addroute()'s detection of local host routes when cloning a
route to check against all aliases instead of the one the gateway
network route happens to be pointed to, and adjust the route entry
appropriately.
This fix also properly sets RTF_LOCAL for all such cloned routes
whereas before RTF_LOCAL was only being set for the interface's
primary IP.
* Minor syntax adjustments and documentation changes.
Reported-by: Peter Avalos <peter@theshell.com>
Matthew Dillon [Fri, 17 Jun 2011 02:45:48 +0000 (19:45 -0700)]
kernel - Add AHCI workaround for Intel mobo / Intel SSD probing bug
* On cold boot Intel SSDs for some reason seem to fail to initialize on
the first attempt. The AHCI port winds up getting stuck in BSY mode.
Adjusting timeouts fails to solve the problem. Ignoring the BSY state
does solve the problem but is undesireable.
* Retry the initialization sequence once if a stuck BSY is detected
as a workaround. This appears to properly detect the SSD on the second
attempt.
* Add a delay after clearing the power control state before starting the
COMINIT sequence. This solves no known issues but is probably a good
idea.
Sepherosa Ziehau [Thu, 16 Jun 2011 09:11:58 +0000 (17:11 +0800)]
bce(4): Properly setup RX buffer DMA for the alignment requirement
Obtained-from: FreeBSD (rev.179695)
Sepherosa Ziehau [Thu, 16 Jun 2011 08:57:54 +0000 (16:57 +0800)]
bce(4): Increase firmware timeout value from 100 to 1000
Obtained-from: FreeBSD (rev.179695)
Matthew Dillon [Wed, 15 Jun 2011 15:49:07 +0000 (08:49 -0700)]
HAMMER VFS - Handle RLIMIT_FSIZE
* Handle the RLIMIT_FSIZE resource.
Matthew Dillon [Wed, 15 Jun 2011 15:47:44 +0000 (08:47 -0700)]
kernel - Adjust vm_object->paging_in_progress to use refcount API
* Adjust vm_object->paging_in_progress to use refcount API
* Fixes races related to release / wait which could stall a process.
Matthew Dillon [Wed, 15 Jun 2011 15:46:26 +0000 (08:46 -0700)]
kernel - Enhance refcount API
* Add functions that take a count in addition to the functions already
present which assume a count of 1.
Matthew Dillon [Wed, 15 Jun 2011 06:37:29 +0000 (23:37 -0700)]
test - test commit 2
Matthew Dillon [Wed, 15 Jun 2011 06:25:08 +0000 (23:25 -0700)]
test - test commit
Venkatesh Srinivas [Tue, 14 Jun 2011 14:10:42 +0000 (07:10 -0700)]
Merge branch 'master' of /repository/git/dragonfly
Venkatesh Srinivas [Tue, 14 Jun 2011 14:09:43 +0000 (07:09 -0700)]
kernel -- vm_object DEBUG_LOCKS: Record file/line of vm_object holds.
Sepherosa Ziehau [Tue, 14 Jun 2011 08:42:37 +0000 (16:42 +0800)]
Merge branch 'devel'
Sepherosa Ziehau [Tue, 14 Jun 2011 08:42:35 +0000 (16:42 +0800)]
Merge branch 'devel' (early part)
Sepherosa Ziehau [Tue, 14 Jun 2011 08:42:33 +0000 (16:42 +0800)]
Merge branch 'devel' (early part)
Sepherosa Ziehau [Tue, 14 Jun 2011 08:42:31 +0000 (16:42 +0800)]
Merge branch 'devel' (early part)
Sepherosa Ziehau [Tue, 14 Jun 2011 08:42:28 +0000 (16:42 +0800)]
Merge branch 'devel' (early part)
Sepherosa Ziehau [Tue, 14 Jun 2011 08:41:06 +0000 (16:41 +0800)]
i386: Remove unused macros in apic/apicvar.h
Sepherosa Ziehau [Tue, 14 Jun 2011 08:33:25 +0000 (16:33 +0800)]
i386: Don't log cores per CPU and logical CPUs per core
Sepherosa Ziehau [Tue, 14 Jun 2011 08:18:31 +0000 (16:18 +0800)]
x86_64: Remove unused macros in apic/apicvar.h
Sepherosa Ziehau [Tue, 14 Jun 2011 07:54:19 +0000 (15:54 +0800)]
x86_64: Don't log cores per CPU and logical CPUs per core
For Intel CPUs, the cores per CPU we printed probably is wrong; it
merely means the max cores per CPU. Since these two values are not
used by any effective code at all, these confusing logging is removed.
If correct cores per CPU is needed, it probably should be done after
lapic_config().
Sepherosa Ziehau [Tue, 14 Jun 2011 06:43:52 +0000 (14:43 +0800)]
acpi: AE_NOT_EXIST is quite common return value of AcpiReset()
Venkatesh Srinivas [Tue, 14 Jun 2011 03:59:59 +0000 (20:59 -0700)]
kernel -- vm: Restore vm_token in page fault path.
This partly reverts
b4460ab356b9d7f1bd11c8badbf2a6dc97a7776f. The vm_object has
not been fully tokenized, so removing vm_token takes there was premature.
Sascha Wildner [Sun, 12 Jun 2011 22:09:48 +0000 (00:09 +0200)]
kernel: Move aesni(4) and padlock(4) from sys/crypto to sys/dev/crypto.
Pointed-out-by: alexh
Sascha Wildner [Mon, 13 Jun 2011 18:29:00 +0000 (20:29 +0200)]
nrelease: Change back to building an ISO for the LiveDVD, too.
The reasons are:
* People have boxes that don't support booting off USB, yet want the
convenience of having Xorg installed etc.
* People want to boot this from virtual machines, and thise want ISOs.
Sepherosa Ziehau [Mon, 13 Jun 2011 11:18:50 +0000 (19:18 +0800)]
x86_64: Unbreak UP kernel building by moving NAPICID around
Sepherosa Ziehau [Mon, 13 Jun 2011 11:12:48 +0000 (19:12 +0800)]
x86_64: Remove unused declaration in apicvar.h
Sepherosa Ziehau [Mon, 13 Jun 2011 11:13:21 +0000 (19:13 +0800)]
i386: Unbreak UP kernel building by moving NAPICID around
Sepherosa Ziehau [Mon, 13 Jun 2011 11:03:32 +0000 (19:03 +0800)]
i386: Remove unused declaration in apicvar.h
Sepherosa Ziehau [Sun, 12 Jun 2011 10:55:49 +0000 (18:55 +0800)]
i386/ioapic: Remove unused global variable declaration
Sepherosa Ziehau [Sun, 12 Jun 2011 10:55:03 +0000 (18:55 +0800)]
i386/ioapic: Staticize ioapic_config()
Sepherosa Ziehau [Sun, 12 Jun 2011 10:53:17 +0000 (18:53 +0800)]
i386/ioapic: Cleanup header inclusion
Sascha Wildner [Sun, 12 Jun 2011 08:58:50 +0000 (10:58 +0200)]
bsd-family-tree: Sync with FreeBSD.
Matthew Dillon [Sat, 11 Jun 2011 19:13:20 +0000 (12:13 -0700)]
kernel - Fix directory scanning bug in Samba
* Bring in the patch from FreeBSD PR 78953
Taken-from: http://www.freebsd.org/cgi/query-pr.cgi?pr=kern/78953
Reported-by: uv <uv.negativa@gmail.com>
Matthew Dillon [Thu, 9 Jun 2011 20:28:08 +0000 (13:28 -0700)]
kernel - Fix a 'vm_page_unhold: hold count < 0' panic in kern_execve()
* imgp->firstpage is preloaded with lwbuf storage but we failed to NULL
it out on error, causing the code to later attempt to release a bogus
lwbuf.
* Fixes a hold count panic on random vm_page's.
Venkatesh Srinivas [Tue, 14 Jun 2011 03:59:59 +0000 (20:59 -0700)]
kernel -- vm: Restore vm_token in page fault path.
This partly reverts
b4460ab356b9d7f1bd11c8badbf2a6dc97a7776f. The vm_object has
not been fully tokenized, so removing vm_token takes there was premature.
Sascha Wildner [Sun, 12 Jun 2011 22:09:48 +0000 (00:09 +0200)]
kernel: Move aesni(4) and padlock(4) from sys/crypto to sys/dev/crypto.
Pointed-out-by: alexh
Sascha Wildner [Mon, 13 Jun 2011 18:29:00 +0000 (20:29 +0200)]
nrelease: Change back to building an ISO for the LiveDVD, too.
The reasons are:
* People have boxes that don't support booting off USB, yet want the
convenience of having Xorg installed etc.
* People want to boot this from virtual machines, and thise want ISOs.
Sepherosa Ziehau [Mon, 13 Jun 2011 11:18:50 +0000 (19:18 +0800)]
x86_64: Unbreak UP kernel building by moving NAPICID around
Sepherosa Ziehau [Mon, 13 Jun 2011 11:12:48 +0000 (19:12 +0800)]
x86_64: Remove unused declaration in apicvar.h
Sepherosa Ziehau [Mon, 13 Jun 2011 11:13:21 +0000 (19:13 +0800)]
i386: Unbreak UP kernel building by moving NAPICID around
Sepherosa Ziehau [Mon, 13 Jun 2011 11:03:32 +0000 (19:03 +0800)]
i386: Remove unused declaration in apicvar.h
Sepherosa Ziehau [Sun, 12 Jun 2011 10:55:49 +0000 (18:55 +0800)]
i386/ioapic: Remove unused global variable declaration
Sepherosa Ziehau [Sun, 12 Jun 2011 10:55:03 +0000 (18:55 +0800)]
i386/ioapic: Staticize ioapic_config()
Sepherosa Ziehau [Sun, 12 Jun 2011 10:53:17 +0000 (18:53 +0800)]
i386/ioapic: Cleanup header inclusion
Sascha Wildner [Sun, 12 Jun 2011 08:58:50 +0000 (10:58 +0200)]
bsd-family-tree: Sync with FreeBSD.
Matthew Dillon [Sat, 11 Jun 2011 19:13:20 +0000 (12:13 -0700)]
kernel - Fix directory scanning bug in Samba
* Bring in the patch from FreeBSD PR 78953
Taken-from: http://www.freebsd.org/cgi/query-pr.cgi?pr=kern/78953
Reported-by: uv <uv.negativa@gmail.com>
Sascha Wildner [Sat, 11 Jun 2011 01:02:11 +0000 (03:02 +0200)]
token.9: Some cleanup.
* Add missing MLINKS for lwkt_token_swap().
* Start sentences on a new line.
* Trailing whitespace removal.
* Bump date.
Matthew Dillon [Fri, 10 Jun 2011 17:35:24 +0000 (10:35 -0700)]
kernel - do not have hold ref on object across a vm_map_split()
* Just use vm_object_lock() (which uses a pool token) and do not hold
a count on the object which can cause a deadlock when vm_map_split()
tries to destroy the original object.
Found-by: Venkatesh Srinivas <me@endeavour.zapto.org>
Matthew Dillon [Fri, 10 Jun 2011 07:32:22 +0000 (00:32 -0700)]
kernel - Fix MP races in recent vm_object work
* lwkt_token_swap() needs a critical section to ensure that an interrupt
does not catch it mid-swap.
* Adjust vm_object_terminate() and vm_object_vnterminate() mechanics to
require that the object be locked and to eat the lock.
* Use vm_object_hold/drop in vm_map_copy_entry() (object must be locked
upon call to vm_object_collapse()).
* Acquire object locks in various places and swap the token order as
needed to chain locks in various loops.
* Shift some code around in vm_object.c
Matthew Dillon [Thu, 9 Jun 2011 20:34:10 +0000 (13:34 -0700)]
kernel - make vm_add_new_page() static
* Make vm_add_new_page() a static function
Matthew Dillon [Thu, 9 Jun 2011 20:28:08 +0000 (13:28 -0700)]
kernel - Fix a 'vm_page_unhold: hold count < 0' panic in kern_execve()
* imgp->firstpage is preloaded with lwbuf storage but we failed to NULL
it out on error, causing the code to later attempt to release a bogus
lwbuf.
* Fixes a hold count panic on random vm_page's.
Venkatesh Srinivas [Thu, 9 Jun 2011 19:41:41 +0000 (12:41 -0700)]
kernel -- vm: Mark vm_contig_pg_free and vm_contig_pg_kmap static.
Venkatesh Srinivas [Thu, 9 Jun 2011 15:34:23 +0000 (08:34 -0700)]
Document lwkt_token_swap in token(9).
Venkatesh Srinivas [Thu, 9 Jun 2011 15:31:00 +0000 (08:31 -0700)]
kernel -- Implement lwkt_token_swap; swaps most recent tokens in tokref stack.
Venkatesh Srinivas [Thu, 9 Jun 2011 15:11:34 +0000 (08:11 -0700)]
kernel -- Remove vestigial token flags field.
Sepherosa Ziehau [Thu, 9 Jun 2011 09:35:33 +0000 (17:35 +0800)]
x86_64/ioapic: Staticize ioapic_config()
Sepherosa Ziehau [Thu, 9 Jun 2011 09:29:22 +0000 (17:29 +0800)]
x86_64/ioapic: Cleanup header inclusion
Sepherosa Ziehau [Thu, 9 Jun 2011 07:31:27 +0000 (15:31 +0800)]
i386/mptable: Always dump MPTABLE PCI interrupt routing information
Sepherosa Ziehau [Thu, 9 Jun 2011 07:06:24 +0000 (15:06 +0800)]
i386/lapic: lapic_map() should take vm_paddr_t instead of vm_offset_t
Sepherosa Ziehau [Thu, 9 Jun 2011 06:49:24 +0000 (14:49 +0800)]
i386/madt: Cleanup interrupt source override processing
Sepherosa Ziehau [Thu, 9 Jun 2011 06:36:10 +0000 (14:36 +0800)]
i386/acpi: Remove unnecessary headers
Sepherosa Ziehau [Thu, 9 Jun 2011 06:28:09 +0000 (14:28 +0800)]
i386/lapic: Include <machine/smp.h> for smp_active_mask
Samuel J. Greear [Thu, 9 Jun 2011 07:34:27 +0000 (01:34 -0600)]
kernel - Allow signal delivery via KQ even if the process SIG_IGN's the signal
Reported-by: swildner@
Venkatesh Srinivas [Thu, 9 Jun 2011 02:06:38 +0000 (19:06 -0700)]
Move in6_addr's s6_addr16 and s6_addr32 definitions to __BSD_VISIBLE.
Sepherosa Ziehau [Wed, 8 Jun 2011 08:42:02 +0000 (16:42 +0800)]
x86_64/mptable: Always dump MPTABLE PCI interrupt routing information
Sepherosa Ziehau [Wed, 8 Jun 2011 08:28:26 +0000 (16:28 +0800)]
x86_64/lapic: lapic_map() should take vm_paddr_t instead of vm_offset_t
Sepherosa Ziehau [Wed, 8 Jun 2011 06:59:00 +0000 (14:59 +0800)]
x86_64/madt: Cleanup interrupt source override processing
Sepherosa Ziehau [Wed, 8 Jun 2011 06:26:50 +0000 (14:26 +0800)]
x86_64/acpi: Remove unnecessary headers
Sepherosa Ziehau [Wed, 8 Jun 2011 06:26:13 +0000 (14:26 +0800)]
x86_64/lapic: Include <machine/smp.h> for smp_active_mask
Matthew Dillon [Wed, 8 Jun 2011 02:09:32 +0000 (19:09 -0700)]
world - Fix buildworld after ifnet changes
* Use the _KERNEL_STRUCTURES mechanic to conditionalize struct ifnet
and related structures needed by buildworld.
Reported-by: matthiasr
Matthew Dillon [Tue, 7 Jun 2011 20:50:40 +0000 (13:50 -0700)]
kernel - Serialize ifioctl() with a mutex
* ifioctl() calls (aka via ifconfig) make various assumptions about the
stability of certain data structures and can panic otherwise. Concurrent
calls to ifioctl via ifconfig can create inconsistencies in the ifnet
structure.
* Rearrange the ifioctl() code into a fall-through modem, add a struct mtx
to the ifnet structure, and acquire and release the mutex in ifioctl()
to enforce stability relative to concurrent ifconfig/ioctl commands
issued on the interface.
* Fixes a panic reproduced via a while(1):
while (1)
echo -n x
ifconfig re0 inet6 fe80::201:2eff:fe31:5469%re0 &
ifconfig re0 inet6 fe80::201:2eff:fe31:5469%re0 delete &
sleep 0.1
end
* May fix other related panics.
NOTE: This mutex does not protect internal data structures related to
network operation. It is currently being used strictly to serialize
ifconfig style operations on the interface.
Reported-by: Francois Tigeot <ftigeot@wolfpond.org>
Sascha Wildner [Tue, 7 Jun 2011 20:28:37 +0000 (22:28 +0200)]
<vm/vm_object.h>: Some little style cleanup.
Venkatesh Srinivas [Tue, 7 Jun 2011 20:13:34 +0000 (13:13 -0700)]
kernel -- vm_object locking: Interlock vm_object work in vm_fault.c
and vm_map.c with per-object token. Handle NULL objects for _hold and _drop.
Sepherosa Ziehau [Mon, 6 Jun 2011 11:38:24 +0000 (19:38 +0800)]
i386: Allow UP kernel to use LAPIC timer and I/O APIC
Sepherosa Ziehau [Mon, 6 Jun 2011 10:18:45 +0000 (18:18 +0800)]
i386: Remove unnecessary #ifdef SMP from files compiled with options SMP
YONETANI Tomokazu [Mon, 6 Jun 2011 05:09:04 +0000 (14:09 +0900)]
kernel: Add a final p_lock wait loop before kfree'ing the process
Since p_lock can be acquired during the process removal, there
needs to be a final wait loop after the proc has been removed
from all queues, just before the kfree(p). It will be a very
rare case but it definitely can still occur if e.g. the SYSCTL_OUT
code blocks on a VM fault or something like that.
Requested-by: dillon@
Dragonfly-bug: <http://bugs.dragonflybsd.org/issue1996>
Sepherosa Ziehau [Sat, 4 Jun 2011 13:29:32 +0000 (21:29 +0800)]
i386: Split mp_enable() into multiple SYSINITs
Sepherosa Ziehau [Sat, 4 Jun 2011 12:00:43 +0000 (20:00 +0800)]
i386: Split cpu_startup() into pic_finish() and cpu_finish()
Sepherosa Ziehau [Sat, 4 Jun 2011 11:47:24 +0000 (19:47 +0800)]
i386: Prepare mp_enable() for multi-stage procedure segmentation
Sepherosa Ziehau [Thu, 2 Jun 2011 12:10:41 +0000 (20:10 +0800)]
i386: Move base_memory from mp_machdep.c to machdep.c
Sascha Wildner [Fri, 3 Jun 2011 12:42:50 +0000 (14:42 +0200)]
coretemp(4): Sync with FreeBSD.
Sascha Wildner [Fri, 3 Jun 2011 12:42:25 +0000 (14:42 +0200)]
kernel: Add rdmsr_safe() in preparation for the coretemp(4) update.
Sepherosa Ziehau [Fri, 3 Jun 2011 09:10:10 +0000 (17:10 +0800)]
x86_64: Allow UP kernel to use LAPIC timer and I/O APIC
Sepherosa Ziehau [Fri, 3 Jun 2011 06:58:54 +0000 (14:58 +0800)]
x86_64: Remove unnecessary #ifdef SMP from files compiled with options SMP
Sepherosa Ziehau [Fri, 3 Jun 2011 06:42:16 +0000 (14:42 +0800)]
x86_64: Split mp_enable() into multiple SYSINITs
Each SYSINIT is put into the proper file. Garbage collect mp_start()
and mp_enable().
Venkatesh Srinivas [Fri, 3 Jun 2011 08:24:11 +0000 (01:24 -0700)]
kernel -- snp: Correct bug in snpfilter_detach().
Signed-off-by: Nathaniel Filardo <nwfilardo@gmail.com>
Submitted-by: Nick Prokharau <nickprok@gmail.com>
Sascha Wildner [Thu, 2 Jun 2011 18:36:13 +0000 (20:36 +0200)]
mandoc(1): Bump version.
Sascha Wildner [Thu, 2 Jun 2011 18:33:01 +0000 (20:33 +0200)]
Merge branch 'vendor/MDOCML'
Sascha Wildner [Thu, 2 Jun 2011 18:31:59 +0000 (20:31 +0200)]
Import mdocml-1.11.3
Sascha Wildner [Thu, 2 Jun 2011 15:52:46 +0000 (17:52 +0200)]
Fix the VKERNEL build.
Reported-by: Thomas Nikolajsen
Sascha Wildner [Thu, 2 Jun 2011 08:37:58 +0000 (10:37 +0200)]
Add manpages for mkcsmapper(1) and mkesdb(1) (taken from FreeBSD).
Sascha Wildner [Thu, 2 Jun 2011 06:20:01 +0000 (08:20 +0200)]
kernel/x86_64: Rename some macros to allow easier i386/x86_64 code sharing.
YONETANI Tomokazu [Thu, 2 Jun 2011 05:17:46 +0000 (14:17 +0900)]
kernel: Remove an extra p_lock == 0 check
proc_remove_zombie() waits for p_lock to drop to zero before removing
the process off zombproc, so this assertion is not needed (any more).