[U-Boot] [PATCH v4 2/2] x86: Add a simple interrupt script to the README

Simon Glass sjg at chromium.org
Thu Aug 13 18:36:17 CEST 2015


It is a bit tedious to figure out the interrupt configuration for a new
x86 platform. Add a script which can do this, based on the output of
'pci long'. This may be helpful in some cases.

Signed-off-by: Simon Glass <sjg at chromium.org>
---

Changes in v4:
- Adjust the PCI device output to decimal instead of hex

Changes in v3:
- Add new patch to add a simple interrupt script to the README

Changes in v2: None

 doc/README.x86 | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/doc/README.x86 b/doc/README.x86
index af2459c..b2ca108 100644
--- a/doc/README.x86
+++ b/doc/README.x86
@@ -708,6 +708,21 @@ allocation and assignment will be done by U-Boot automatically. Now you can
 enable CONFIG_GENERATE_PIRQ_TABLE for testing Linux kernel using i8259 PIC and
 CONFIG_GENERATE_MP_TABLE for testing Linux kernel using local APIC and I/O APIC.
 
+This script might be useful. If you feed it the output of 'pci long' from
+U-Boot then it will generate a device tree fragment with the interrupt
+configuration for each device:
+
+   $ cat console_output |awk '/PCI/ {device=$4} /interrupt line/ {line=$4} \
+	/interrupt pin/ {pin = $4; if (pin != "0x00" && pin != "0xff") \
+	{patsplit(device, bdf, "[0-9a-f]+"); \
+	printf "PCI_BDF(%d, %d, %d) INT%c PIRQ%c\n", strtonum("0x" bdf[1]), \
+	strtonum("0x" bdf[2]), bdf[3], strtonum(pin) + 64, 64 + strtonum(pin)}}'
+
+Example output:
+   PCI_BDF(0, 2, 0) INTA PIRQA
+   PCI_BDF(0, 3, 0) INTA PIRQA
+...
+
 TODO List
 ---------
 - Audio
-- 
2.5.0.276.gf5e568e



More information about the U-Boot mailing list