Date: Sun, 27 Dec 2009 16:55:44 +0000 (UTC) From: Marius Strobl <marius@FreeBSD.org> To: cvs-src-old@freebsd.org Subject: cvs commit: src/sys/conf options.sparc64 src/sys/sparc64/pci fire.c firereg.h firevar.h Message-ID: <200912271656.nBRGucKq025119@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
marius 2009-12-27 16:55:44 UTC FreeBSD src repository Modified files: sys/conf options.sparc64 Added files: sys/sparc64/pci fire.c firereg.h firevar.h Log: SVN rev 201052 on 2009-12-27 16:55:44Z by marius Add a driver for the `Fire' JBus to PCIe bridges found in at least the Sun Fire V215/V245 and Sun Ultra 25/45 machines. This driver also already includes all the code to support the `Oberon' Uranus to PCIe bridges found in the Fujitsu-Siemens based Mx000 machines but due to lack of access to such a system for testing, probing of these bridges is currently disabled. Unfortunately, the event queue mechanism of these bridges for MSIs/ MSI-Xs matches our current MD and MI interrupt frameworks like square pegs fit into round holes so for now we are generous and use one event queue per MSI, which limits us to 35 MSIs/MSI-Xs per Host-PCIe-bridge (we use one event queue for the PCIe error messages). This seems tolerable as long as most devices just use one MSI/MSI-X anyway. Adding knowledge about MSIs/MSI-Xs to the MD interrupt code should allow us to decouple the 1:1 mapping at the cost of no longer being able to bind MSIs/MSI-Xs to specific CPUs as we currently have no reliable way to quiesce a device during the transition of its MSIs/ MSI-Xs to another event queue. This would still require the problem of interrupt storms generated by devices which have no one-shot behavior or can't/don't mask interrupts while the filter/handler is executed (like the older PCIe NICs supported by bge(4)) to be solved though. Committed from: 26C3 Revision Changes Path 1.19 +2 -0 src/sys/conf/options.sparc64 1.1 +2122 -0 src/sys/sparc64/pci/fire.c (new) 1.1 +1004 -0 src/sys/sparc64/pci/firereg.h (new) 1.1 +98 -0 src/sys/sparc64/pci/firevar.h (new)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200912271656.nBRGucKq025119>