summaryrefslogtreecommitdiff
path: root/src/arch/x86/include/arch/pirq_routing.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch/x86/include/arch/pirq_routing.h')
-rw-r--r--src/arch/x86/include/arch/pirq_routing.h35
1 files changed, 32 insertions, 3 deletions
diff --git a/src/arch/x86/include/arch/pirq_routing.h b/src/arch/x86/include/arch/pirq_routing.h
index 08ba53506d..c5be5f49ae 100644
--- a/src/arch/x86/include/arch/pirq_routing.h
+++ b/src/arch/x86/include/arch/pirq_routing.h
@@ -1,6 +1,35 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2012 Alexandru Gagniuc <mr.nuke.me@gmail.com>
+ * Copyright (C) 2012 Patrick Georgi <patrick@georgi-clan.de>
+ * Copyright (C) 2010 Stefan Reinauer <stepan@coreboot.org>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
#ifndef ARCH_PIRQ_ROUTING_H
#define ARCH_PIRQ_ROUTING_H
+/* This is the maximum number on interrupt entries that a PCI device may have.
+ * This is NOT the number of slots or devices in the system
+ * This is NOT the number of entries in the PIRQ table
+ * This tells us that in the PIRQ table, we are going to have 4 link-bitmap
+ * entries per PCI device
+ * It is fixed at 4: INTA, INTB, INTC, and INTD
+ * CAUTION: If you change this, pirq_routing will not work correctly*/
+#define MAX_INTX_ENTRIES 4
+
#if CONFIG_GENERATE_PIRQ_TABLE
#include <stdint.h>
@@ -40,10 +69,10 @@ unsigned long copy_pirq_routing_table(unsigned long start);
unsigned long write_pirq_routing_table(unsigned long start);
#if CONFIG_PIRQ_ROUTE
-void pirq_routing_irqs(unsigned long start);
-void pirq_assign_irqs(const unsigned char pIntAtoD[4]);
+void pirq_route_irqs(unsigned long start);
+void pirq_assign_irqs(const unsigned char pirq[CONFIG_MAX_PIRQ_LINKS]);
#else
-#define pirq_routing_irqs(start) {}
+#define pirq_route_irqs(start) {}
#endif
#else