x86: Add implementations of setjmp() and longjmp()
[oweals/u-boot.git] / arch / x86 / cpu / irq.c
index 86183b034ecfdf009e2643ad994d418a84e49444..9364410a0f83728854df8b01c40e2d369334bf4b 100644 (file)
@@ -13,6 +13,7 @@
 #include <asm/irq.h>
 #include <asm/pci.h>
 #include <asm/pirq_routing.h>
+#include <asm/tables.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
@@ -102,11 +103,12 @@ static int create_pirq_routing_table(struct udevice *dev)
        /* extract the bdf from fdt_pci_addr */
        priv->bdf = dm_pci_get_bdf(dev->parent);
 
-       ret = fdt_find_string(blob, node, "intel,pirq-config", "pci");
+       ret = fdt_stringlist_search(blob, node, "intel,pirq-config", "pci");
        if (!ret) {
                priv->config = PIRQ_VIA_PCI;
        } else {
-               ret = fdt_find_string(blob, node, "intel,pirq-config", "ibase");
+               ret = fdt_stringlist_search(blob, node, "intel,pirq-config",
+                                           "ibase");
                if (!ret)
                        priv->config = PIRQ_VIA_IBASE;
                else
@@ -214,6 +216,9 @@ static int create_pirq_routing_table(struct udevice *dev)
 
        rt->size = irq_entries * sizeof(struct irq_info) + 32;
 
+       /* Fix up the table checksum */
+       rt->checksum = table_compute_checksum(rt, rt->size);
+
        pirq_routing_table = rt;
 
        return 0;