sos> Well, sortof, the ata driver doesn't allow for sharing irq14&15
sos> since lots of boards doesn't work that way. However if you need
sos> it you can try to add the shared flag in the driver and see if
sos> it works on yours. Hmm, maybe I should make this tunable...
It this patch OK? I've tested a kernel with this patch and it works.
This patch simply adds a new kernel MIB (hw.ata.shareable in this
patch, but I have no idea about its name), and if this MIB value is
non-zero, ata driver doesn't drop RF_SHAREABLE bit for BUS_ALLOC_RESOURCE().
-- -
Makoto `MAR' MATSUSHITA
--- ata-pci.c.dist Fri Jun 8 18:51:33 2001
+++ ata-pci.c Fri Jul 6 16:35:43 2001
@@ -61,6 +61,15 @@
int irqcnt;
};
+/* internal vars */
+static int ata_shareable = 0;
+TUNABLE_INT("hw.ata.shareable", &ata_shareable);
+
+/* sysctl vars */
+SYSCTL_DECL(_hw_ata);
+SYSCTL_INT(_hw_ata, OID_AUTO, shareable, CTLFLAG_RD, &ata_shareable, 0,
+ "ATA pci-bus shareable IRQs");
+
int
ata_find_dev(device_t dev, u_int32_t type, u_int32_t revid)
{
@@ -515,7 +524,8 @@
return BUS_ALLOC_RESOURCE(device_get_parent(dev), child,
SYS_RES_IRQ, rid,
- irq, irq, 1, flags & ~RF_SHAREABLE);
+ irq, irq, 1, (ata_shareable ?
+ flags : flags & ~RF_SHAREABLE));
#endif
}
else {
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message