Warner Losh [Wed, 10 Nov 2010 05:32:36 +0000 (05:32 +0000)]
When we switched to the gpart backend, and provided selection between
MBR & GPT, the MBR full-disk init failed to stamp boot1, and results
in a boot not found error. This patch fixes the issue.
Warner Losh [Tue, 9 Nov 2010 22:32:09 +0000 (22:32 +0000)]
Merge from tbemd:
o TARGET=mips --> little endian 32-bit mips build
o mipsel and mipseb TARGET_ARCH are both mips TARGETs
o Add some more architecture combinations
John Baldwin [Tue, 9 Nov 2010 20:46:41 +0000 (20:46 +0000)]
- Remove <machine/mutex.h>. Most of the headers were empty, and the
contents of the ones that were not empty were stale and unused.
- Now that <machine/mutex.h> no longer exists, there is no need to allow it
to override various helper macros in <sys/mutex.h>.
- Rename various helper macros for low-level operations on mutexes to live
in the _mtx_* or __mtx_* namespaces. While here, change the names to more
closely match the real API functions they are backing.
- Drop support for including <sys/mutex.h> in assembly source files.
Make all OF client interface calls return the maximum kind of
does-not-exist error when no client interface module is installed instead
of dereferencing NULL pointers. This eases implementation of platforms
that may or may not have Open Firmware.
Pyun YongHyeon [Tue, 9 Nov 2010 01:52:09 +0000 (01:52 +0000)]
Only moderate TX completion interrupts. Relying on taskqueue to
suppress RX interrupts seems to give better RX performance than
RX interrupt moderation.
Jilles Tjoelker [Mon, 8 Nov 2010 23:15:10 +0000 (23:15 +0000)]
test: Move tests to tools/regression/bin/test.
Convert the tests to the perl prove format.
Remove obsolete TEST.README (results of an old TEST.sh for some old Unices)
and TEST.csh (old tests without correct values, far less complete than
TEST.sh).
Pyun YongHyeon [Mon, 8 Nov 2010 21:50:50 +0000 (21:50 +0000)]
Follow the lead of vendor's interrupt moderation mechanism.
It seems RTL8169/RTL8168/RTL810xE has a kind of interrupt
moderation mechanism but it is not documented at all. The magic
value dramatically reduced number of interrupts without noticeable
performance drops so apply it to all RTL8169/RTL8169 controllers.
Vendor's FreeBSD driver also applies it to RTL810xE controllers but
their Linux driver explicitly cleared the register, so do not
enable interrupt moderation for RTL810xE controllers.
John Baldwin [Mon, 8 Nov 2010 21:50:45 +0000 (21:50 +0000)]
Remove support for autoloading ACPI from the loader. Leave in the code to
detect ACPI and export info such as the location of the RSDP via hints as
that is still useful.
Juli Mallett [Mon, 8 Nov 2010 21:22:55 +0000 (21:22 +0000)]
o) Recognize the Lanner MR-730.
o) Fix enumeration of PHY addresses on the MR-955.
o) Parse link state for the MR-730 using the Broadcom PHY support in the SDK.
It's not clear that this is entirely-correct, but it seems to work. Since
this board uses a BCM5482S, this may mean that we work correctly for copper
but not SFI, which is untested.
John Baldwin [Mon, 8 Nov 2010 20:44:11 +0000 (20:44 +0000)]
Don't mention 'device acpi' or loading ACPI as a kernel module since the
latter is not supported. This is also more consistent with manpages for
other vendor-specific drivers such as acpi_ibm(4) and acpi_sony(4).
John Baldwin [Mon, 8 Nov 2010 20:35:09 +0000 (20:35 +0000)]
Sync the APIC startup sequence with amd64:
- Register APIC enumerators at SI_SUB_TUNABLES - 1 instead of SI_SUB_CPU - 1.
- Probe CPUs at SI_SUB_TUNABLES - 1. This allows i386 to set a truly
accurate mp_maxid value rather than always setting it to MAXCPU - 1.
John Baldwin [Mon, 8 Nov 2010 20:32:35 +0000 (20:32 +0000)]
Remove stub symbols for APIC-related functions when 'device apic' is not
included in a kernel config. These stubs had existed previously so that
acpi.ko could always include the MADT parsing code and still link with a
kernel that did not include 'device apic'.
John Baldwin [Mon, 8 Nov 2010 20:03:51 +0000 (20:03 +0000)]
Only dump the values of the PMC and CMCI local vector table entries on a
local APIC if those LVT entries are valid. This quiets spurious illegal
register local APIC errors during boot on a CPU that doesn't support those
vectors.
Pyun YongHyeon [Mon, 8 Nov 2010 19:15:31 +0000 (19:15 +0000)]
Reduce spin wait time consumed in GMII register access routine.
There were a couple of attempts in the past to reduce it since it
took more than 1ms. Because mii_tick() periodically polls link
status, waiting more than 1ms for each GMII register access was
overkill. Unfortunately all previous attempts were failed with
various ways on different controllers.
This time, add additional 20us dealy at the end of GMII register
access which seems to requirement of all RealTek controllers to
issue next GMII register access request. This is the same way what
Linux does.
Alexander Motin [Mon, 8 Nov 2010 15:59:41 +0000 (15:59 +0000)]
When requesting sense data for SIM not doing it automatically (such as
ATAPI or USB), request only as much data as requested by consumer.
On the way back -- report how much sense data we have actually received.
Alexander Motin [Mon, 8 Nov 2010 15:25:12 +0000 (15:25 +0000)]
On APs startup skip hard-/statclock events, which time passed before CPU
was lauched. Few seconds event burst, accumulated during long startup,
reported to cause panic in SCHED_ULE priority calculation logic.
Pyun YongHyeon [Mon, 8 Nov 2010 01:15:42 +0000 (01:15 +0000)]
Use shorten model name instead of showing all controller model
numbers. bge(4) supports too many models such that it's
unreasonable to list all these controllers in one line description
of name. While I'm here mention that BCM590x/BCM5779x is Fast
Ethernet controller.
bge(4) still lacks support for some controllers but supporting
these controllers should be easy now and adding new controllers
do not require touching .Nd any more.
Nick Hibma [Sun, 7 Nov 2010 21:57:57 +0000 (21:57 +0000)]
- Set -x flag when executing customisation scripts to aid in debugging them.
- Use KERNCONFDIR with KERNCONF instead of copying the kernel config into the source tree
so included kernel configs work.
- Put more stuff in the _.bk/_.ik log file, not just make statements.
- Add the kernel config name to the pprint during kernel installation.
- Add NANO_MODULES providing a list of modules to build and install.
Alan Cox [Sun, 7 Nov 2010 21:40:34 +0000 (21:40 +0000)]
In case the stack size reaches its limit and its growth must be restricted,
ensure that grow_amount is a multiple of the page size. Otherwise, the
kernel may crash in swap_reserve_by_uid() on HEAD and FreeBSD 8.x, and
produce a core file with a missing stack on FreeBSD 7.x.
Andrew Thompson [Sun, 7 Nov 2010 20:33:39 +0000 (20:33 +0000)]
Hook up the five gpio pins on the Avila board to the gpio framework. There are
actually 16 I/O lines but the other ones are used for system devices and
interrupts.
The IXP4XX platform can set interrupts on these pins for
high/low/rising/falling/transitional but this is not implemented yet.
The Cambria has the same interface but as all the pins are assigned to system
functions the gpio header is toggled via a PLD on the i2c bus and is not
supported by this commit.
Michael Tuexen [Sun, 7 Nov 2010 18:50:35 +0000 (18:50 +0000)]
Do not have the MTU table twice in the code. Therefore move the
function from the timer code to util, rename it appropriately and
also fix a bug in sctp_get_prev_mtu(), where calling it with a
value existing in the MTU table did not return a smaller one.
Tim Kientzle [Sun, 7 Nov 2010 03:40:37 +0000 (03:40 +0000)]
If the Zip reader doesn't see a PK signature block
because there's inter-entry garbage, just scan forward
to find the next one. This allows us to handle a lot
of Zip archives that have been modified in-place.
Thanks to: Gleb Kurtsou for sending me a sample archive
Pyun YongHyeon [Sat, 6 Nov 2010 22:07:22 +0000 (22:07 +0000)]
Fix a long standing bug in programming station address for Yukon
controllers. sk(4) never reprogrammed station address for Yukon
controllers so overriding station address with ifconfig(8) was not
possible.
Fix the bug by reprogramming all registers that control station
address, flow-control and virtual station address. Virtual station
address has no use at this moment since driver does not make use of
fail over feature.
Instead of using the AMRR ratectl algo as default for drivers which have
the IEEE80211_C_RATECTL flag set, default to NONE for all drivers. Only if
a driver calls ieee80211_ratectl_init() check if the NONE algo is still
selected and try to use AMRR in that case. Drivers are still free to use
any other algo by calling ieee80211_ratectl_set() prior to the
ieee80211_ratectl_init() call.
After this change it is now safe to assume that a ratectl algo is always
available and selected, which renders the IEEE80211_C_RATECTL flag pretty
much useless. Therefore revert r211314 and 211546.
Marius Strobl [Sat, 6 Nov 2010 11:38:49 +0000 (11:38 +0000)]
- Move Sun Fire V240 to the list of known working machines.
- For the parallel stable/7 and stable/8 branches mention both releases that
first supported a particular sparc64 machine and update the sparc64 hardware
list regarding machines that will be supported beginning with 7.4-RELEASE.