Commit Graph

74350 Commits

Author SHA1 Message Date
Pyun YongHyeon
75c4ab0ae9 MFC r199012:
Add preliminary Yukon Ultra 2 support(88E8057). The controller
  looks very similar to Yukon EC Ultra.

  Tested by:	kalin m ( kalin <> el dot net )
2009-11-29 19:58:35 +00:00
Pyun YongHyeon
30c8843f6a MFC 198996-198997.
r198996:
  Remove unnecessary header file.

r198997:
  It's normal to see Rx FIFO overruns under high network load and
  showing the message creates other side-effects. Remove the Rx
  FIFO overrun message in interrupt handler. msk(4) should recover
  from the FIFO overruns without any user intervention. Users can
  still check the Rx FIFO overrun counter from MAC MIB statistics
  maintained in driver(dev.msk.0.stats.rx.overflows).
2009-11-29 19:54:32 +00:00
Pyun YongHyeon
2ff1d99219 MFC 198814.
Add a check to know whether driver is still running after
  reacquiring driver lock in Rx handler. re(4) drops a driver lock
  before passing received frame to upper stack and reacquire the
  lock. During the time window ioctl calls could be executed and if
  the ioctl was interface down request, driver will stop the
  controller and free allocated mbufs. After that when driver comes
  back to Rx handler again it does not know what was happend so it
  could access free mbufs which in turn cause panic.

  Reported by:	Norbert Papke < npapk <> acm dot org >
  Tested by:	Norbert Papke < npapk <> acm dot org >
2009-11-29 19:49:21 +00:00
Pyun YongHyeon
cb08d589eb MFC 198813.
Add BCM5761 PHY id.
2009-11-29 19:46:15 +00:00
Pyun YongHyeon
4a288ceae9 MFC 197627.
Fix multicast handling. All Atheros controllers use big-endian form
  in computing multicast hash.

  PR:	kern/139137
2009-11-29 19:29:11 +00:00
Pyun YongHyeon
621838143b MFC 197600.
For AR8132 fast ethernet controller, do not report 1000baseT
  capability to mii(4). Even though AR8132 uses the same model/
  revision number of F1 gigabit PHY, the PHY has no ability to
  establish 1000baseT link. I have no idea why Atheros use the same
  device/model id for this PHY.
  With this change atphy(4) does not report 1000baseT media
  capability and manual 1000baseT configuration is also disabled
  which is more desirable behavior for 10/100Mbps PHY.
2009-11-29 19:25:15 +00:00
Pyun YongHyeon
02b6f045fe MFC 197592.
Add DGE-560SX(Yukon XL) to the supported device list. Many thanks
  to "Eugene Perevyazko <john <> dnepro dot net>" who kindly gave
  remote access to system with DGE-560SX.
2009-11-29 19:18:22 +00:00
Pyun YongHyeon
26ac5ae5da MFC 197591.
Add workaround for Yukon XL which has hardware bug that can't flush
  FIFO.
2009-11-29 19:15:08 +00:00
Pyun YongHyeon
4b4edd6101 MFC 197590.
Add hack to pass controller specific information to phy driver.
  Unlike most other PHYs there is no easy way to know which media
  type the PHY supports on Marvell PHYs. MIIF_HAVEFIBER flags is now
  passed via bus-specific instance variable of a device. While I'm
  here add 88E1112 specific work around to set SIGDET polarity low.
  Many thanks "Eugene Perevyazko <john <> dnepro dot net>" who kindly
  gave remote access to system with DGE-560SX.
2009-11-29 19:11:03 +00:00
Pyun YongHyeon
b76e9c0853 MFC 197589.
Fix MIB statistics clear routine. This should fix alignment errors on sparc64.

  Reported by:	Garrett Damore < gdamore <> opensolaris dot org >
2009-11-29 19:06:33 +00:00
Pyun YongHyeon
5bb9dc0d8f MFC 197588.
Some fiber PHY(88E1112) does not seem to set resolved speed so
  always assume we've got IFM_1000_SX.
2009-11-29 19:03:20 +00:00
Pyun YongHyeon
ee9449a145 MFC 197587.
Don't encode model id twice.

  Reported by:	Kristof Provost <kristof <> sigsegv dot be>
2009-11-29 18:59:43 +00:00
Pyun YongHyeon
e39d827775 MFC r197585.
Remove unnecessary device reinitialization.
2009-11-29 18:51:58 +00:00
Nathan Whitehorn
1abf14215a MFC r199226:
Provide a real fix to the too-many-translations problem when booting
from CD on 64-bit hardware to replace existing band-aids. This occurred
when the preloaded mdroot required too many mappings for the static
buffer.

Since we only use the translations buffer once, allocate a dynamic
buffer on the stack. This early in the boot process, the call chain
is quite short and we can be assured of having sufficient stack space.
2009-11-28 20:02:45 +00:00
Nathan Whitehorn
0b5ac7b6b9 MFC r198212,198378,198427,198428,198723,198724,198725,198731:
SMP support for PowerPC G5 systems.

r198724:
	Fix a race in casuword() exposed by csup. casuword() non-atomically
read the current value of its argument before atomically replacing it,
which could occasionally return the wrong value on an SMP system. This
resulted in user mutex operations hanging when using threaded applications.

r198723,198725,198731:
	Loop on blocked threads when using ULE scheduler, removing an
XXX MP comment.

r198427:
	Add some more paranoia to setting HID registers, and update the AIM
clock routines to work better with SMP.

r198378:
	Add SMP support on U3-based G5 systems. While here, correct the
64-bit tlbie function to set the CPU to 64-bit mode correctly.

r198212:
	Don't assume that physical addresses are identity mapped. This
allows the second processor on G5 systems to start.
2009-11-28 19:37:58 +00:00
Nathan Whitehorn
b17e03bd8a MFC r198400:
Do not map the trap vectors into the kernel's address space. They are
only used in real mode and keeping them mapped only serves to make NULL
a valid address, which results in silent NULL pointer deferences.

Suggested by:   Patrick Kerharo
Obtained from:  projects/ppc64
2009-11-28 18:36:58 +00:00
Nathan Whitehorn
b478ed7a6b MFC r197961,197962:
Fix two typos that caused DSISR and CR not to be preserved across context
switches.
2009-11-28 18:34:35 +00:00
Rafal Jaworowski
000d6fb9d9 MFC r199580:
tsec: Use IFQ_DRV macros for managing interface packet queue.

This lets tsec(4) work with ALTQ.

Submitted by:	Marcin Ligenza
2009-11-27 13:38:59 +00:00
Attilio Rao
08742bd257 MFC r199260:
Add sysctls in ahd(4) in order to keep track of different classes of
errors. So far 3 different classes are present (correctable,
uncorrectable and fatal) but more can be added easilly.

Sponsored by:	Sandvine Incorporated
2009-11-27 02:47:49 +00:00
Attilio Rao
9a6d318802 MFC r199227:
Add the possibility for vfs.root.mountfrom tunable to accept a list of
items rather than a single one.
While there fix also a nit in a comment.

Sponsored by:	Sandvine Incorporated
2009-11-27 02:45:50 +00:00
Ken Smith
fac7a2abd8 8.0-RELEASE is done, shift stable/8 to -STABLE designation. 2009-11-27 00:21:17 +00:00
Rafal Jaworowski
5e54294468 MFC r199534:
Provide an effective (relocated) address when building modules metadata.

This lets modules loaded dynamically in loader(8) work for U-Boot-based
platforms.
2009-11-26 22:35:26 +00:00
Alexander Motin
c68cd0c40d MFC r199043:
Introduce hw.hptrr.attach_generic loader tunable to deny hptrr driver
attach chips with generic Marvell (non-HighPoint) PCI identification.
These chips are also supported by ata(4). Some vendors, like Supermicro,
are using same chips without providing HPT RAID BIOS.

PR:		kern/120842, kern/136750
2009-11-26 15:16:03 +00:00
Alexander Motin
4fb5bc4259 MFC r199268, r199269, r199273:
Core2Duo/Core2Quad CPUs are unable to control frequency of single CPU
core, only pair of them. As result, both cores are running on highest
one of requested frequencies, and that is reported by status register.
Such behavior confuses frequency validation logic, as it runs on only
one core, as SMP is not yet launched, making EIST completely unusable.

Disable frequency validation by default, for systems with more then one
CPU, until we can implement it properly. It looks like making more harm
now then benefits. Add 'hw.est.strict' loader tunable to control it.

PR:		amd64/140506
2009-11-26 15:11:19 +00:00
Alexander Motin
0264833689 MFC r199645, r199646:
Fix Intel PATA UDMA timings setting, affecting write performance.
Binary divider value 10 specified in datasheet is not a hex 0x10.
UDMA2 should be 33/2 instead of 66/4, which is documented as reverved,
UDMA4 should be 66/2 instead of 66/4, which is definitely wrong.
Release over-agressive WDMA0 mode timings as close to spec as chip can.
2009-11-26 14:56:58 +00:00
Alexander Motin
052c5232f5 MFC r199749:
Use only lower byte of sectors_intr IDENTIFY word as sector count.
This fixes SET_MULTI error during boot on devices supporting less then
16 sectors per interrupt.
2009-11-26 14:50:01 +00:00
Alexander Motin
70f426fe84 MFC r199717:
Do not attach JMicrons with single PCI function. They are not working as
AHCI for some reason, even when declaring so. Let atajmicron configure
them for us and provide PATA support.
2009-11-26 08:29:02 +00:00
Marius Strobl
f6b36bbd8a MFC: r198502
Sync with the other archs and wrap the prototype of in_cksum_skip(9)
in #ifdef _KERNEL.

Submitted by:	Ulrich Spoerlein
2009-11-25 18:31:34 +00:00
Rui Paulo
6772a8e0d0 MFC r199491:
Add WorldB SKU.
2009-11-25 14:54:58 +00:00
Kip Macy
fa178c7b04 fix UP compilation 2009-11-25 01:55:34 +00:00
Kip Macy
4956a0d10f MFC xen pmap updates and eflags fixes 2009-11-25 01:52:36 +00:00
Kip Macy
7d326ccdfc remove gratuitous comment 2009-11-25 01:51:07 +00:00
Kip Macy
0039b95019 MFC core dump support 2009-11-25 01:50:17 +00:00
Marius Strobl
8158a254e9 MFC: r199442
Unroll copying of the registers in {g,s}et_mcontext() and limit it
to the set actually restored by tl0_ret() instead of using the whole
trapframe. Additionally skip %g7 as that register is used as the
userland TLS pointer.

PR:		140523
2009-11-24 20:04:31 +00:00
Alexander Motin
5f0993cb40 MFC r199535:
Tune CAM ATA kernel options a bit. Move PMP support from da to scbus and
add ada device option, according to man page.
2009-11-24 09:10:43 +00:00
Marcel Moolenaar
564da3e7b4 MFC r199274, r199284:
Fix an obvious panic by not casting from a pointer that is 4-bytes
alignment to a type that needs 8-byte alignment, and thus causing
misaligned memory references.
2009-11-24 03:38:42 +00:00
Marcel Moolenaar
0d5340f697 MFC r198733:
Reimplement the lazy FP context switching...
...This change fixes the high FP inconsistency panics.
2009-11-24 03:32:42 +00:00
Marcel Moolenaar
97d630ed47 MFC r198452:
Add PRINTF_BUFR_SIZE=128, since we have SMP by default.
While here, fix tabulation.
2009-11-24 03:28:35 +00:00
Marcel Moolenaar
80f7b7c39e MFC r198338:
o   Align function on a 32-byte boundary so that the core's front-end
    can deliver 2 bundles per cycle to the back-end.
o   Mark syscall stubs with a special unwind ABI tag so that unwind
    libraries know how to unwind.
2009-11-24 03:17:00 +00:00
Alexander Motin
fbd6bbe74b MFC r199321:
Disable PortMultiplier Async Notifications for time of ports reset.
They are useless at that time, but confuse Marvell AHCI.

Add quirk for SiI57XX Port Multipliers, to hide extra port.
2009-11-23 17:54:57 +00:00
Alexander Motin
506ef9edb8 MFC r199258:
Add more codec IDs.
2009-11-23 09:28:16 +00:00
Alexander Motin
2c5d7e80c6 MFC r197611, r197640:
- Add some bits of HDMI/DisplayPort support from later specification updates.
It may be not enough to make them work, but at least should give some
information about these beasts.
- Add Realtek ALC887 codec ID.
2009-11-23 09:26:30 +00:00
Alexander Motin
c1ebbbc962 MFC r197018:
Add NVidia MCP89 HDA controller IDs.
2009-11-23 09:22:38 +00:00
Alexander Motin
95eaf85a77 MFC r197017:
Add Intel 82801JD (one more ICH10) HDA controller ID.
2009-11-23 09:21:35 +00:00
Alexander Motin
510e0aaa49 MFC r196762:
Improve HDA controller capabilities logging.
2009-11-23 09:20:33 +00:00
Alexander Motin
8f51326c68 MFC r199259, r199262, r199322:
Change the way in which AHCI+PATA combined controllers, such as JMicron
are handled. Instead of trying to attach two different drivers to
single device, wrapping each call, make one of them (atajmicron)
attach do device solely, but create child device for AHCI driver,
passing it all required resources. It is quite easy, as none of
resources are shared, except IRQ.
Add support for AHCI SATA parts of alike SATA+PATA MArvell controllers.
Add IDs of Marvell 88SX6102, 88SX6111. 88SX6141 controllers.

As result, it:
- makes drivers operation more independent and straitforward,
- allows to use new ahci(4) driver with such devices, adding support for
new features, such as PMP and NCQ, same time keeping legacy PATA support,
- will allow to just drop old ataahci driver, when it's time come.
2009-11-23 08:56:17 +00:00
Alexander Motin
0cde70967f MFC r198752:
Allow SATA1 SiI chips to do full-sized DMA. Specification tells that we may
release DMA constrants even more, but it require some additional handling.
2009-11-23 08:46:26 +00:00
Alexander Motin
555a8009dd MFC r198717:
- Remove most of direct relations between ATA(4) peripherial and controller
levels. It makes logic more transparent and is a mandatory step to wrap
ATA(4) controller level into ATA-native CAM SIM.
- Tune AHCI and SATA2 SiI drivers memory allocation a bit to allow bigger
I/O transaction sizes without additional cost.
2009-11-23 08:45:17 +00:00
Attilio Rao
fbf9555aa0 MFC r199008:
Track lockmgr_disown() in the stack.
2009-11-22 16:11:20 +00:00
Attilio Rao
7f7bb30263 MFC r199007:
Fix a memory leak.
2009-11-22 16:09:27 +00:00