[OpenBIOS] [commit] r1131 - trunk/openbios-devel/drivers

repository service svn at openbios.org
Sat Apr 27 13:42:14 CEST 2013


Author: blueswirl
Date: Sat Apr 27 13:42:14 2013
New Revision: 1131
URL: http://tracker.coreboot.org/trac/openbios/changeset/1131

Log:
sparc64: use direct interrupt mapping for PCI devices

Every PCI Slot in PBM has 4 directly mapped IRQ lines.
Use the IRQ routing schema 0bssnn (Bus, Slot, interrupt Number)
described in Section 19.3.3 of UltraSPARC™-IIi User's Manual.

Please note that this patch requires the QEMU counterpart patch.

Signed-off-by: Artyom Tarasenko <atar4qemu at gmail.com>
Signed-off-by: Blue Swirl <blauwirbel at gmail.com>

Modified:
   trunk/openbios-devel/drivers/pci.c

Modified: trunk/openbios-devel/drivers/pci.c
==============================================================================
--- trunk/openbios-devel/drivers/pci.c	Sat Apr 27 13:30:16 2013	(r1130)
+++ trunk/openbios-devel/drivers/pci.c	Sat Apr 27 13:42:14 2013	(r1131)
@@ -854,7 +854,14 @@
 	if (config->irq_pin) {
 		OLDWORLD(set_int_property(dev, "AAPL,interrupts",
 					  config->irq_line));
+#if defined(CONFIG_SPARC64)
+                /* direct mapping bssnn (Bus, Slot, interrupt Number */
+                set_int_property(get_cur_dev(), "interrupts",
+                                 ((((config->dev >> 11) << 2)
+                                   + config->irq_pin - 1) & 0x1f));
+#else
 		NEWWORLD(set_int_property(dev, "interrupts", config->irq_pin));
+#endif
 	}
 
 	set_int_property(dev, "min-grant", pci_config_read8(addr, PCI_MIN_GNT));



More information about the OpenBIOS mailing list