Peter Avalos [Sun, 8 Jan 2012 20:43:07 +0000 (12:43 -0800)]
Merge branch 'vendor/TNFTP'
Peter Avalos [Sun, 8 Jan 2012 20:36:27 +0000 (12:36 -0800)]
ftp: Import NetBSD's latest version.
Move determination of socket buffer sizes from startup to the first
time a socket is used, as the previous logic assumed AF_INET sockets
were available (which they may not be in an IPv6-only system).
Use __dead
Fix warnings.
Obtained-from: NetBSD
Sascha Wildner [Sun, 8 Jan 2012 19:03:57 +0000 (20:03 +0100)]
mfiutil(8): Use dehumanize_number() instead of rolling our own.
Sascha Wildner [Sun, 8 Jan 2012 18:39:18 +0000 (19:39 +0100)]
mfiutil(8): Remove some compatibility defines which we don't need.
Sascha Wildner [Sun, 8 Jan 2012 17:14:47 +0000 (18:14 +0100)]
mfi(4): Fix volume creation with mfiutil(8).
This change (taken from LSI in
175660922b2422bdda81a5967c5dadd176fe1c3c)
caused the mfi_config_data structure to change size which ultimately
ended up in the MFI_DCMD_CFG_ADD command failing. Stuff seems to work fine
without it.
Reported-by: Tomi Juvonen <tomi.juvonen@kenou.biz>
Sepherosa Ziehau [Sun, 8 Jan 2012 13:27:16 +0000 (21:27 +0800)]
ahci: Black list more chips which do not support MSI properly
According-to: Linux
Sepherosa Ziehau [Sun, 8 Jan 2012 13:26:52 +0000 (21:26 +0800)]
pcidevs: regen
Sepherosa Ziehau [Sun, 8 Jan 2012 13:26:27 +0000 (21:26 +0800)]
pcidevs: More device IDs for AHCI chips
Sepherosa Ziehau [Sun, 8 Jan 2012 12:19:44 +0000 (20:19 +0800)]
vmstat: Always print interrupts cpuid under verbose mode
Sepherosa Ziehau [Sun, 8 Jan 2012 11:22:46 +0000 (19:22 +0800)]
jme: Use MSI, if the device supports it
Sepherosa Ziehau [Sun, 8 Jan 2012 11:04:54 +0000 (19:04 +0800)]
dntpd: Don't assume that reconnect to server always succeeds
Sascha Wildner [Sun, 8 Jan 2012 03:16:11 +0000 (04:16 +0100)]
Update the pciconf(8) database.
Jan 6, 2012 snapshot from http://pciids.sourceforge.net/
Sascha Wildner [Sat, 7 Jan 2012 11:58:28 +0000 (12:58 +0100)]
mfi(4): Remove two NULL checks after kmalloc() with M_WAITOK.
Sascha Wildner [Fri, 6 Jan 2012 18:06:48 +0000 (19:06 +0100)]
mfi(4): Avoid some code duplication.
Sascha Wildner [Fri, 6 Jan 2012 17:26:10 +0000 (18:26 +0100)]
mfi(4): Use callout_init_mp() for the watchdog callout.
mfi_timeout() is MP safe. When porting, I missed that FreeBSD passes
CALLOUT_MPSAFE here.
Sepherosa Ziehau [Fri, 6 Jan 2012 16:10:33 +0000 (00:10 +0800)]
ioapic_abi/x86_64: Remove no longer applied warning
While I'm here, strip blank lines
Sepherosa Ziehau [Fri, 6 Jan 2012 15:49:47 +0000 (23:49 +0800)]
ahci: Create black list for devices which do not support MSI properly
Sepherosa Ziehau [Fri, 6 Jan 2012 15:33:05 +0000 (23:33 +0800)]
pcidevs: regen
Sepherosa Ziehau [Fri, 6 Jan 2012 15:32:36 +0000 (23:32 +0800)]
pcidevs: Add ATI SB7x0/SB8x0/SB9x0 AHCI device ID
Sepherosa Ziehau [Fri, 6 Jan 2012 15:20:55 +0000 (23:20 +0800)]
i386: Add MSI support for ICU MachIntrABI
This merges
759fc5332c2b97c3a48b5aefb94b6cab57de07a4
Sepherosa Ziehau [Fri, 6 Jan 2012 14:54:59 +0000 (22:54 +0800)]
Sepherosa Ziehau [Fri, 6 Jan 2012 14:02:18 +0000 (22:02 +0800)]
msi/i386: Add setup/map function
This merges
c9852c4cdc5706115542e9c0f6228b2612e359d4
Sepherosa Ziehau [Fri, 6 Jan 2012 13:52:45 +0000 (21:52 +0800)]
msi/i386: Add interrupt vectors
This is mainly based on apic/apic_vector.s
Sascha Wildner [Fri, 6 Jan 2012 03:37:51 +0000 (04:37 +0100)]
mfi(4) & mfiutil(8): Sync with FreeBSD.
Sascha Wildner [Wed, 4 Jan 2012 23:29:38 +0000 (00:29 +0100)]
mfi(4): Use MSI if it is supported by the device.
Francois Tigeot [Thu, 5 Jan 2012 17:40:50 +0000 (18:40 +0100)]
kernel: do not try to always build IPv4-specific code
* it fails when no INET support is present
* and people may want to start running IPv6-only hosts
Sascha Wildner [Thu, 5 Jan 2012 17:41:50 +0000 (18:41 +0100)]
kernel: gre(4) should depend on 'options INET' if it is in the config.
Sascha Wildner [Thu, 5 Jan 2012 15:55:20 +0000 (16:55 +0100)]
dfregress(8): Fix a typo in an error message.
Sascha Wildner [Wed, 4 Jan 2012 23:22:07 +0000 (00:22 +0100)]
isp(4): Use MSI if it is supported by the device.
Sascha Wildner [Thu, 5 Jan 2012 15:05:35 +0000 (16:05 +0100)]
isp(4): Fix a typo in a message.
Sascha Wildner [Thu, 5 Jan 2012 13:30:39 +0000 (14:30 +0100)]
dma.8: Fix a few small issues.
Sascha Wildner [Thu, 5 Jan 2012 13:30:10 +0000 (14:30 +0100)]
UPDATING: Add some info about the dma(8) upgrade.
Peter Avalos [Thu, 5 Jan 2012 02:30:17 +0000 (18:30 -0800)]
pam: Need to list ruser for pam_group.
Peter Avalos [Thu, 5 Jan 2012 00:25:38 +0000 (16:25 -0800)]
Update files for OpenSSL-1.0.0f import.
Peter Avalos [Thu, 5 Jan 2012 00:20:06 +0000 (16:20 -0800)]
Merge branch 'vendor/OPENSSL'
Peter Avalos [Thu, 5 Jan 2012 00:06:12 +0000 (16:06 -0800)]
Import OpenSSL-1.0.0f.
o Fix for DTLS plaintext recovery attack CVE-2011-4108
o Clear block padding bytes of SSL 3.0 records CVE-2011-4576
o Only allow one SGC handshake restart for SSL/TLS CVE-2011-4619
o Check parameters are not NULL in GOST ENGINE CVE-2012-0027
o Check for malformed RFC3779 data CVE-2011-4577
Sascha Wildner [Tue, 3 Jan 2012 21:22:30 +0000 (22:22 +0100)]
kernel: Use NULL for pointers.
Sascha Wildner [Tue, 3 Jan 2012 14:31:49 +0000 (15:31 +0100)]
dma(8): Upgrade to v0.7.
For the change log, see:
https://github.com/corecode/dma/blob/master/debian/changelog
Tested-by: luxh
Submitted-by: corecode
Francois Tigeot [Thu, 25 Aug 2011 09:39:18 +0000 (11:39 +0200)]
Run VFS_START() for the root mount point.
The namecache has to be initialized properly for that. Use code
taken from start_init()
John Marino [Tue, 3 Jan 2012 16:51:24 +0000 (17:51 +0100)]
gold linker v2.22: Remove unnecessary assertions
Fixes this error: internal error in relocate_tls
Reported as binutils bug 13359
<http://sourceware.org/bugzilla/show_bug.cgi?id=13359>
Applied to trunk 2011-10-31
Backported to 2.22 branch on 2011-12-19
John Marino [Tue, 3 Jan 2012 10:50:54 +0000 (11:50 +0100)]
gold linker v2.22: Fix constructor handling
Starting with gold 2.22, gold looks for contructors in DT_INIT_ARRAY by
default, but gcc defines them in a .ctors section. Apparently the
presence of crtbegin and crtend with their .init sections are confusing
gold, but not gnu ld.
To combat this, a new option "--no-ctors-in-init-array" was added to
emulate gnu ld behavior of looking for constructors in the .ctors
section provided by gcc. This commit makes this new option the default
behavior on DragonFly's gold.
Without this modification, a gold-built world is unbootable!
Matthew Dillon [Tue, 3 Jan 2012 17:18:28 +0000 (09:18 -0800)]
kernel - Fix a case in if_re which could lockup the system
* if_re's re_start function was not always properly setting IFF_OACTIVE
in situations where packets would be left on the if_snd queue, causing
if_start_dispatch() to get into an endless message loop.
* Add debugging to device_printf() when the case occurs.
Sascha Wildner [Tue, 3 Jan 2012 14:36:35 +0000 (15:36 +0100)]
ispfw(4): Add MODULE_VERSION()s.
Sascha Wildner [Tue, 3 Jan 2012 13:52:47 +0000 (14:52 +0100)]
ispfw(4): Correct case in module name.
François Tigeot [Tue, 3 Jan 2012 13:10:16 +0000 (14:10 +0100)]
kernel/vfs: enable accounting for ro mounts
* Some filesystems may be first mounted read-only and then upgraded
to read-write status
* The VFS layer has no provision for signaling VFSes of status change,
mount-point specific initialization code can only be run for the
initial mount
* VFS accounting was thus never enabled on a ro->rw mount point transition
* Bite the bullet and run vq_init() unconditionally for both read-only
and read-write mounts, the cost is only a few variables set to NULL
or zero anyway.
Sascha Wildner [Tue, 3 Jan 2012 12:29:09 +0000 (13:29 +0100)]
isp(4): Sync with FreeBSD.
Adds support for some newer cards:
* Qlogic ISP 2322 PCI FC-AL Adapter
* Qlogic ISP 2422 PCI FC-AL Adapter
* Qlogic ISP 2432 PCI FC-AL Adapter
* Qlogic ISP 2532 PCI FC-AL Adapter
* Qlogic ISP 5432 PCI FC-AL Adapter
* Qlogic ISP 6312 PCI FC-AL Adapter
* Qlogic ISP 6322 PCI FC-AL Adapter
Also isp(4) can now be loaded as a module. The firmwares have been
separated into per-firmware modules, too.
It was tested with an old DEC KZPBA-CX (1040 based) SCSI adapter.
Sascha Wildner [Tue, 3 Jan 2012 09:22:00 +0000 (10:22 +0100)]
kernel/mchain: Fix a NULL check.
Matthew Dillon [Tue, 3 Jan 2012 05:25:47 +0000 (21:25 -0800)]
kernel - Fix swapcache inefficiency related to the PQ_INACTIVE queue
* The swapcache was still coded with the assumption of just one
PQ_INACTIVE queue. Even though it scans all 256 queues the
end-of-queue code could trigger early and prevent later queue
indices from being scanned, causing a large percentage of eligible
VM pages to not get written to the swapcache.
Now all queues must signal that they have reached the end before the
code sets the end-of-queue condition and loops up to the 1/10 second
sleep.
* The full count/scount was being applied to each queue individually instead
of to all queues uniformly, allowing more pages to be laundered than
desired. Divide out and add a bit of slop.
Matthew Dillon [Mon, 2 Jan 2012 19:27:56 +0000 (11:27 -0800)]
kernel - Use atomic ops to update hammer_count_refedbufs
* This global is used only for statistical reporting via sysctl and has
no operational effect.
* Use atomic ops to avoid tracking errors from multiple hammer mounts.
Matthew Dillon [Mon, 2 Jan 2012 18:10:52 +0000 (10:10 -0800)]
hammer - Pass -S option to remote mirror-read
* When doing a mirror or mirror-stream via pull from the remote pass the
-S option to the remote end, otherwise the remote will just use the
default split size.
Reported-by: ftigeot
Sascha Wildner [Mon, 2 Jan 2012 16:48:23 +0000 (17:48 +0100)]
ktr.9: Adjust for the recent ktr work by aggelos.
Sascha Wildner [Mon, 2 Jan 2012 02:15:26 +0000 (03:15 +0100)]
test/cocci/NELEM.cocci: Oops, wrong comment character.
Sascha Wildner [Mon, 2 Jan 2012 02:10:46 +0000 (03:10 +0100)]
Expand the comments in the coccinelle patches a bit more.
Sascha Wildner [Mon, 2 Jan 2012 02:03:24 +0000 (03:03 +0100)]
Add a coccinelle patch to find missing lock release before return.
Sascha Wildner [Mon, 2 Jan 2012 01:28:15 +0000 (02:28 +0100)]
kernel/i4b: Instead of returning, goto fail (for crit_exit()).
Sascha Wildner [Mon, 2 Jan 2012 01:27:17 +0000 (02:27 +0100)]
dpt(4): Add a missing crit_exit().
Sascha Wildner [Mon, 2 Jan 2012 01:26:29 +0000 (02:26 +0100)]
kernel/disk drivers: Add some missing crit_exit()s.
Sascha Wildner [Mon, 2 Jan 2012 00:06:34 +0000 (01:06 +0100)]
ed(4): Replace a forgotten crit_exit() with lwkt_serialize_exit().
Only cosmetical as this code is not enabled.
Matthew Dillon [Sun, 1 Jan 2012 23:08:37 +0000 (15:08 -0800)]
vkernel - Unbreak 32-bit vkernel builds by fixing broken assertion
* [ASSERT_]MP_LOCK_HELD() was not properly handling the new token
t_count format.
* Rename and document the functions a bit better. Currently our
more expansive token test for (shared or exclusive) is not
a perfect test because we don't want to eat cpu time iterating
the thread's token array to check for shared tokens. So we just
check for a shared count.
Works well for assertions, wouldn't work very well for conditional
acquisition (of a shared token).
* Exclusive token tests are perfect.
Reported-by: tuxillo
Matthew Dillon [Sun, 1 Jan 2012 20:14:40 +0000 (12:14 -0800)]
kernel - Fix ENOBUFS related panic in tcp_output
* If the tcp_output code gets all the way to the end but then has to
'goto again', it fails to NULL out the (th) pointer. If the mbuf fails
on the retry (m == NULL), the non-NULL (th) winds up causing the code to
believe that the mbuf is good and results in a null-pointer dereference.
François Tigeot [Sun, 1 Jan 2012 15:01:30 +0000 (16:01 +0100)]
hammer(8): fix an obsolete comment
John Marino [Sun, 1 Jan 2012 12:00:29 +0000 (13:00 +0100)]
kgdb: Fix double-free bug
It was a mistake to reuse target sections for each inferior. Leaving the
default section for each program space eliminates the redundant xfrees.
The exec.c function "resize_table_sections" code was painful to look at with
unused variables and unnecessary memory reallocations, so it was altered
at the same time.
Sascha Wildner [Sun, 1 Jan 2012 01:48:53 +0000 (02:48 +0100)]
kernel/tws: Add a missing lockmgr(...,LK_RELEASE).
Sascha Wildner [Sun, 1 Jan 2012 01:47:24 +0000 (02:47 +0100)]
kernel/gpio: Add a missing lockmgr(...,LK_RELEASE).
Sascha Wildner [Sun, 1 Jan 2012 01:31:11 +0000 (02:31 +0100)]
kernel/vfs_quota: Add a missing spin_unlock().
Sascha Wildner [Sun, 1 Jan 2012 01:02:26 +0000 (02:02 +0100)]
kernel/netgraph: Add a missing lwkt_reltoken().
Sascha Wildner [Sun, 1 Jan 2012 00:35:16 +0000 (01:35 +0100)]
kernel/cam: Add two missing lockmgr(...,LK_RELEASE)'s.
Sascha Wildner [Sat, 31 Dec 2011 23:51:55 +0000 (00:51 +0100)]
Bump copyright. Happy new year!!
Peter Avalos [Sat, 31 Dec 2011 20:44:00 +0000 (12:44 -0800)]
Merge branch 'vendor/FILE'
Peter Avalos [Sat, 31 Dec 2011 20:32:20 +0000 (12:32 -0800)]
Import file-5.10.
Changes are documented in ChangeLog.
Sascha Wildner [Sat, 31 Dec 2011 11:36:16 +0000 (12:36 +0100)]
Reduce differences between our VKERNEL and VKERNEL64 configurations.
* Removes KTR from VKERNEL.
* Removes VM_PAGE_DEBUG from VKERNEL64.
* Some whitespace adjustments.
Sascha Wildner [Sat, 31 Dec 2011 11:17:55 +0000 (12:17 +0100)]
VKERNEL64: Adjust for the ktr changes (to fix build).
Venkatesh Srinivas [Sat, 31 Dec 2011 10:21:05 +0000 (05:21 -0500)]
libdl -- Stub libdl.
DragonFly BSD (and FreeBSD) have the dlopen/dlfcn/... routines located in
libc. However many applications and their configure scripts look for these
routines in libdl. This adds a stub libdl with no subroutines, so that the
configure scripts pass. The dl* routines are automatically available via
libc.
Venkatesh Srinivas [Sat, 31 Dec 2011 05:27:01 +0000 (00:27 -0500)]
kernel -- nfsserver: Allow for some reordering of RPCs before decaying seqcount.
Before decaying sequential heuristic, allow a limited amount of RPC reordering.
After that, decay by half for each out-of-order RPC rather than immediately
dropping to 1.
From FreeBSD r228185.
Venkatesh Srinivas [Sat, 31 Dec 2011 05:21:51 +0000 (00:21 -0500)]
kernel -- KTR: Fix vkernel32 build.
KTR_INFO needed to be updated for the typesafe KTR patchset.
Sascha Wildner [Sat, 31 Dec 2011 03:38:52 +0000 (04:38 +0100)]
kernel: Fix two NULL dereference issues.
Sascha Wildner [Sat, 31 Dec 2011 03:37:30 +0000 (04:37 +0100)]
kernel/acpi: Add a missing file to the 'files' files (fixes LINT* build).
Sepherosa Ziehau [Sat, 31 Dec 2011 03:29:32 +0000 (11:29 +0800)]
vkernel/intr: Pin vkernel "hardware interrupts" to CPU0
Due to the nondeterminsm of CPU to which SIGIO will be delivered,
we can't depend on "hardware interrupts" of vkernel always happen
on the registered CPU. We now pin the vkernel "hardware interrupts"
to CPU0, so the interrupt scheduling code could always know the
correct ithread to be scheduled.
Reported-by: tuxillo vsrinivas
Aggelos Economopoulos [Fri, 30 Dec 2011 13:44:21 +0000 (05:44 -0800)]
Adjust ktrdump(8) for the ktr(4) changes
- On i386, we need to extend logged integers to be at least
int-sized like vprintf expects.
- On x86_64, we unpack the logged arguments into a va_list according
to the x86_64 ABI rules and then pass it to kvprintf.
Aggelos Economopoulos [Fri, 30 Dec 2011 13:38:34 +0000 (05:38 -0800)]
Modify ktr(4) to be typesafe
- Use a struct copy to place the logged values directly into the
destination buffer without forcing a memcpy.
- This also fixes event logging on x86_64, as we no longer rely
on the i386 calling convention for functions with a variable
number of arguments.
- Verify that the arguments match the specified format.
- Update callsites.
Note that this requires userspace changes! ktrdump(8) needs to be
adjusted even on i386 (%c and %hd are no longer promoted as per the
C rules). We need very special handling on x86_64 too.
Aggelos Economopoulos [Fri, 30 Dec 2011 17:00:44 +0000 (09:00 -0800)]
Introduce sys/cpputil.h for our cpp metaprogramming needs
Sascha Wildner [Fri, 30 Dec 2011 16:39:11 +0000 (17:39 +0100)]
kernel/drm: Move a NULL check to the proper place.
Sascha Wildner [Fri, 30 Dec 2011 16:13:32 +0000 (17:13 +0100)]
kernel/altq: Move a dereference below the NULL check.
Sepherosa Ziehau [Thu, 29 Dec 2011 11:01:27 +0000 (19:01 +0800)]
acpi/cpu: Missing one 'O' in the macro name
Sepherosa Ziehau [Thu, 29 Dec 2011 10:36:41 +0000 (18:36 +0800)]
acpi/cpu: Report that Turbo Boost is enabled on Intel CPUs
If Turbo Boost is enabled, the current CPU frequencies reported by
hw.acpi.cpu are not correct, sigh.
Sepherosa Ziehau [Thu, 29 Dec 2011 09:26:44 +0000 (17:26 +0800)]
acpi/pstate: Print coordination
Sepherosa Ziehau [Thu, 29 Dec 2011 08:33:11 +0000 (16:33 +0800)]
acpi/pstate: Fix the long standing P-State detection problem on Intel CPUs
- Rename the ACPI_CAP to ACPI_PDC according to Intel's document.
While I'm here, update the document revision.
- Remove unapplied comment about _OSC and _PDC's revision; Intel's
document states clearly that it should be 1
- Fix the 'Count' argument for _OSC evaluation; the intergers in
'Capabilities buffer' argument is 2
- Fix the buffer length of _OSC's 'Capabilities buffer'; we only
pass 2 intergers.
- Perfer _OSC evaluation, fall back to _PDC evaluation only if _OSC
evaluation fails.
- Add MD cpu features, so MD code could deliver proper settings.
For AMD CPUs, the old configuration just works (AMD actually has
no documents about _PDC and _OSC).
For Intel CPUs w/ EST, it looks like P-State's _PCT will appear
only when bit0 (P-State MSR), bit5 (P-State software coordination)
and bit11 (P-State hardware coordination) are turned on.
Sepherosa Ziehau [Thu, 29 Dec 2011 05:56:31 +0000 (13:56 +0800)]
x86_64: Add MSI support for ICU MachIntrABI
Sepherosa Ziehau [Thu, 29 Dec 2011 03:04:19 +0000 (11:04 +0800)]
intr: Remove no longer correct ithread_cpuid; use rman_get_cpuid instead
Peter Avalos [Wed, 28 Dec 2011 22:40:49 +0000 (14:40 -0800)]
libmagic: Update Makefile.
-Use SHAREDIR from bsd.own.mk instead of hardcoding it.
-Get rid of -I nonsense that was required when we used to patch the
vendor's .h, but we need to turn off warnings when building mkmagic.nx.
Inspired-by: http://bugs.dragonflybsd.org/issues/2206
Sepherosa Ziehau [Wed, 28 Dec 2011 14:44:08 +0000 (22:44 +0800)]
bce: Add workaround for the lost of MSI on 5706/5708
While I'm here use ramn_get_cpuid to extract interrupt's target CPU
Obtained-from: bnx2
Sepherosa Ziehau [Wed, 28 Dec 2011 13:53:41 +0000 (21:53 +0800)]
em: rman_get_cpuid should be used to get the interrupt's target CPU
Sepherosa Ziehau [Wed, 28 Dec 2011 05:09:13 +0000 (13:09 +0800)]
em: Use MSI, if device supports it
Sepherosa Ziehau [Wed, 28 Dec 2011 04:07:22 +0000 (12:07 +0800)]
bce: Split out frontend for interrupt handler
For non-oneshot MSI, we don't need to make sure that status block has
been updated and we don't need extra register read to flush the ACK_CMD;
MSI has already made sure about those.
For oneshot MSI, we don't even need to ACK the interrupt
Obtaied-from: bnx2
Sepherosa Ziehau [Wed, 28 Dec 2011 02:49:50 +0000 (10:49 +0800)]
pci: Factor out pci_alloc_1intr()
This function will properly setup rid and flags for "legacy" interrupt.
If MSI is enabled, then this function will try allocate 1 MSI message
and setup rid and flags properly for MSI based interrupt resource.
Sepherosa Ziehau [Tue, 27 Dec 2011 10:15:26 +0000 (18:15 +0800)]
ether_ioctl: Command type is u_long not int
Venkatesh Srinivas [Wed, 28 Dec 2011 01:38:12 +0000 (17:38 -0800)]
taskqueue -- Register swi_taskq_mp as an MP-safe SWI.
The swi_taskqueue for mpsafe tasks was still getting the mplock. Remove it.
There are no real users of this queue in kernel though.
Matthew Dillon [Tue, 27 Dec 2011 22:18:34 +0000 (14:18 -0800)]
test - Do not report bogus object pointer in vmpageinfo
* If m.object is NULL do not report the previously loaded object's
data in the output.
Matthew Dillon [Tue, 27 Dec 2011 22:15:50 +0000 (14:15 -0800)]
kernel - Fix swap space leak
* swp_pager_meta_free_callback() had a bug where the last swap block
in the swblock{} structure was not being freed from the swap bitmap.
* Also fix two rare race conditions. swp_pager_freeswapspace() can
block, causing the VM object token to be temporarily unlocked. Deal
with the race by not decrementing the swb_count field until after
swp_pager_freeswapspace() is called.
Reported-by: sephe
Sepherosa Ziehau [Tue, 27 Dec 2011 08:19:17 +0000 (16:19 +0800)]
i386: Pass cpuid to pcib_alloc_msi and pcib_map_msi
This also unbreaks kernel building on i386