mptable: Refactor lintsrc generation
authorPatrick Georgi <patrick@georgi-clan.de>
Fri, 7 Oct 2011 19:42:52 +0000 (21:42 +0200)
committerStefan Reinauer <stefan.reinauer@coreboot.org>
Wed, 12 Oct 2011 23:10:31 +0000 (01:10 +0200)
We copied pretty much the same code for generating mptable entries for
local interrupts (with some notable exceptions).
This change moves these lines into a generic function "mptable_lintsrc"
and makes use of it in many places.

The remaining uses of smp_write_lintsrc should be reviewed and replaced
by mptable_lintsrc calls where possible, and smp_write_lintsrc made static.

This patch was generated using Coccinelle:
  @@
  expression mc;
  expression isa_bus;
  @@
  -smp_write_lintsrc(mc, mp_ExtINT, MP_IRQ_TRIGGER_DEFAULT|MP_IRQ_POLARITY_DEFAULT, isa_bus, 0x0, MP_APIC_ALL, 0x0);
  -smp_write_lintsrc(mc, mp_NMI, MP_IRQ_TRIGGER_DEFAULT|MP_IRQ_POLARITY_DEFAULT, isa_bus, 0x0, MP_APIC_ALL, 0x1);
  +mptable_lintsrc(mc, isa_bus);

  @@
  expression mc;
  expression isa_bus;
  @@
  -smp_write_lintsrc(mc, mp_ExtINT, MP_IRQ_TRIGGER_EDGE|MP_IRQ_POLARITY_HIGH, isa_bus, 0x0, MP_APIC_ALL, 0x0);
  -smp_write_lintsrc(mc, mp_NMI, MP_IRQ_TRIGGER_EDGE|MP_IRQ_POLARITY_HIGH, isa_bus, 0x0, MP_APIC_ALL, 0x1);
  +mptable_lintsrc(mc, isa_bus);

  @m@
  identifier mc;
  expression BUS;
  @@
  -#define IO_LOCAL_INT(type, intr, apicid, pin) smp_write_lintsrc(mc, (type), MP_IRQ_TRIGGER_EDGE | MP_IRQ_POLARITY_HIGH, BUS, (intr), (apicid), (pin));
  ...
  -IO_LOCAL_INT(mp_ExtINT, 0x0, MP_APIC_ALL, 0x0);
  -IO_LOCAL_INT(mp_NMI, 0x0, MP_APIC_ALL, 0x1);
  +mptable_lintsrc(mc, BUS);

Change-Id: I97421f820cd039f5fd753cb0da5c1cca68819bb4
Signed-off-by: Patrick Georgi <patrick@georgi-clan.de>
Reviewed-on: http://review.coreboot.org/244
Tested-by: build bot (Jenkins)
Reviewed-by: Marc Jones <marcj303@gmail.com>
67 files changed:
src/arch/x86/boot/mpspec.c
src/arch/x86/include/arch/smp/mpspec.h
src/mainboard/amd/serengeti_cheetah/mptable.c
src/mainboard/amd/serengeti_cheetah_fam10/mptable.c
src/mainboard/arima/hdama/mptable.c
src/mainboard/asus/a8n_e/mptable.c
src/mainboard/asus/a8v-e_deluxe/mptable.c
src/mainboard/asus/a8v-e_se/mptable.c
src/mainboard/asus/m2n-e/mptable.c
src/mainboard/asus/m2v/mptable.c
src/mainboard/asus/p2b-d/mptable.c
src/mainboard/asus/p2b-ds/mptable.c
src/mainboard/broadcom/blast/mptable.c
src/mainboard/getac/p470/mptable.c
src/mainboard/gigabyte/ga_2761gxdk/mptable.c
src/mainboard/gigabyte/m57sli/mptable.c
src/mainboard/hp/dl145_g1/mptable.c
src/mainboard/hp/dl145_g3/mptable.c
src/mainboard/hp/dl165_g6_fam10/mptable.c
src/mainboard/ibase/mb899/mptable.c
src/mainboard/ibm/e325/mptable.c
src/mainboard/ibm/e326/mptable.c
src/mainboard/intel/d945gclf/mptable.c
src/mainboard/intel/eagleheights/mptable.c
src/mainboard/intel/jarrell/mptable.c
src/mainboard/intel/mtarvon/mptable.c
src/mainboard/intel/truxton/mptable.c
src/mainboard/intel/xe7501devkit/mptable.c
src/mainboard/iwave/iWRainbowG6/mptable.c
src/mainboard/iwill/dk8_htx/mptable.c
src/mainboard/iwill/dk8s2/mptable.c
src/mainboard/iwill/dk8x/mptable.c
src/mainboard/kontron/986lcd-m/mptable.c
src/mainboard/msi/ms7135/mptable.c
src/mainboard/msi/ms7260/mptable.c
src/mainboard/msi/ms9185/mptable.c
src/mainboard/msi/ms9282/mptable.c
src/mainboard/msi/ms9652_fam10/mptable.c
src/mainboard/newisys/khepri/mptable.c
src/mainboard/nvidia/l1_2pvv/mptable.c
src/mainboard/roda/rk886ex/mptable.c
src/mainboard/siemens/sitemp_g1p1/mptable.c
src/mainboard/sunw/ultra40/mptable.c
src/mainboard/supermicro/h8dme/mptable.c
src/mainboard/supermicro/h8dmr/mptable.c
src/mainboard/supermicro/h8dmr_fam10/mptable.c
src/mainboard/supermicro/h8qme_fam10/mptable.c
src/mainboard/supermicro/x6dhe_g/mptable.c
src/mainboard/supermicro/x6dhe_g2/mptable.c
src/mainboard/supermicro/x6dhr_ig/mptable.c
src/mainboard/tyan/s2735/mptable.c
src/mainboard/tyan/s2850/mptable.c
src/mainboard/tyan/s2875/mptable.c
src/mainboard/tyan/s2880/mptable.c
src/mainboard/tyan/s2881/mptable.c
src/mainboard/tyan/s2882/mptable.c
src/mainboard/tyan/s2885/mptable.c
src/mainboard/tyan/s2891/mptable.c
src/mainboard/tyan/s2892/mptable.c
src/mainboard/tyan/s2895/mptable.c
src/mainboard/tyan/s2912/mptable.c
src/mainboard/tyan/s2912_fam10/mptable.c
src/mainboard/tyan/s4880/mptable.c
src/mainboard/tyan/s4882/mptable.c
src/mainboard/via/epia-n/mptable.c
src/mainboard/via/pc2500e/mptable.c
src/mainboard/via/vt8454c/mptable.c

index 72a6d28de85e9388548e0cc272c295cdd374efa5..6c81430cb105781626891007f1c4853a08b5f77a 100644 (file)
@@ -335,6 +335,12 @@ void smp_write_compatibility_address_space(struct mp_config_table *mc,
        smp_add_mpe_entry(mc, (mpe_t)mpe);
 }
 
+void mptable_lintsrc(struct mp_config_table *mc, unsigned long bus_isa)
+{
+       smp_write_lintsrc(mc, mp_ExtINT, MP_IRQ_TRIGGER_EDGE|MP_IRQ_POLARITY_HIGH, bus_isa, 0x0, MP_APIC_ALL, 0x0);
+       smp_write_lintsrc(mc, mp_NMI, MP_IRQ_TRIGGER_EDGE|MP_IRQ_POLARITY_HIGH, bus_isa, 0x0, MP_APIC_ALL, 0x1);
+}
+
 void mptable_add_isa_interrupts(struct mp_config_table *mc, unsigned long bus_isa, unsigned long apicid, int external_int2)
 {
 /*I/O Ints:                   Type         Trigger            Polarity         Bus ID   IRQ  APIC ID   PIN# */
index 57fda34be7599d505807c92f6f2f77b6da5f3c39..1f194cd5fa8eb1efdd0ebce8e9c2bd57ac6ef90c 100644 (file)
@@ -273,6 +273,7 @@ void *smp_write_floating_table_physaddr(unsigned long addr,
                unsigned long mpf_physptr);
 unsigned long write_smp_table(unsigned long addr);
 
+void mptable_lintsrc(struct mp_config_table *mc, unsigned long bus_isa);
 void mptable_add_isa_interrupts(struct mp_config_table *mc, unsigned long bus_isa, unsigned long apicid, int external);
 void mptable_write_buses(struct mp_config_table *mc, int *max_pci_bus, int *isa_bus);
 
index 6af71e892cc5a12b091dcd06cdddfc1e3e0f9e8f..6478704f0fcc4c71890295faeeb42c7969893199 100644 (file)
@@ -155,8 +155,7 @@ static void *smp_write_config_table(void *v)
 
 
 /*Local Ints:  Type    Polarity    Trigger     Bus ID   IRQ    APIC ID PIN#*/
-       smp_write_lintsrc(mc, mp_ExtINT, MP_IRQ_TRIGGER_EDGE|MP_IRQ_POLARITY_HIGH, bus_isa, 0x0, MP_APIC_ALL, 0x0);
-       smp_write_lintsrc(mc, mp_NMI, MP_IRQ_TRIGGER_EDGE|MP_IRQ_POLARITY_HIGH, bus_isa, 0x0, MP_APIC_ALL, 0x1);
+       mptable_lintsrc(mc, bus_isa);
        /* There is no extension information... */
 
        /* Compute the checksums */
index f333bef6f3187e6b43731d5f7cdd4584522649ec..7a65c9f4528acb47a31758a89c9274b69e2f215c 100644 (file)
@@ -179,8 +179,7 @@ static void *smp_write_config_table(void *v)
 
 
        /* Local Ints:  Type    Polarity        Trigger         Bus ID          IRQ     APIC ID PIN#*/
-       smp_write_lintsrc(mc, mp_ExtINT, MP_IRQ_TRIGGER_EDGE|MP_IRQ_POLARITY_HIGH, bus_isa, 0x0, MP_APIC_ALL, 0x0);
-       smp_write_lintsrc(mc, mp_NMI, MP_IRQ_TRIGGER_EDGE|MP_IRQ_POLARITY_HIGH, bus_isa, 0x0, MP_APIC_ALL, 0x1);
+       mptable_lintsrc(mc, bus_isa);
        /* There is no extension information... */
 
        /* Compute the checksums */
index 3dc01e477f2151a4aef1dfbd7fea6718aa88a81a..93959df6cf4b507989c466d88c3e284b0eefeb28 100644 (file)
@@ -198,10 +198,7 @@ static void *smp_write_config_table(void *v)
        mptable_add_isa_interrupts(mc, bus_isa, apicid_8111, 0);
 
        /* Standard local interrupt assignments */
-       smp_write_lintsrc(mc, mp_ExtINT, MP_IRQ_TRIGGER_DEFAULT|MP_IRQ_POLARITY_DEFAULT,
-               bus_isa, 0x00, MP_APIC_ALL, 0x00);
-       smp_write_lintsrc(mc, mp_NMI, MP_IRQ_TRIGGER_DEFAULT|MP_IRQ_POLARITY_DEFAULT,
-               bus_isa, 0x00, MP_APIC_ALL, 0x01);
+       mptable_lintsrc(mc, bus_isa);
 
        /* PCI Ints:         Type    Trigger                Polarity                 Bus ID      PCIDEVNUM|IRQ  APIC ID PIN# */
        /* On board nics */
index 05f74da0909434ac1582e3c049adf988acb569f3..2191fef3cac61e84b4de8f8b21c380a236b89a74 100644 (file)
@@ -108,12 +108,7 @@ static void *smp_write_config_table(void *v)
                         0x17);
 
        /* Local Ints: Type Polarity    Trigger Bus ID   IRQ    APIC ID PIN# */
-       smp_write_lintsrc(mc, mp_ExtINT,
-                        MP_IRQ_TRIGGER_DEFAULT | MP_IRQ_POLARITY_DEFAULT,
-                        bus_ck804[0], 0x0, MP_APIC_ALL, 0x0);
-       smp_write_lintsrc(mc, mp_NMI,
-                        MP_IRQ_TRIGGER_DEFAULT | MP_IRQ_POLARITY_DEFAULT,
-                        bus_ck804[0], 0x0, MP_APIC_ALL, 0x1);
+       mptable_lintsrc(mc, bus_ck804[0]);
 
        /* There is no extension information... */
 
index 02e3f4644932312a65d984ae92548d7ae34e5acf..8d8059ff03be5ea8e86a350023f73f2c8ca7d516 100644 (file)
@@ -101,8 +101,7 @@ static void *smp_write_config_table(void *v)
        smp_write_intsrc(mc, mp_INT, MP_IRQ_TRIGGER_LEVEL|MP_IRQ_POLARITY_LOW, 0x6,  (0x00 << 2) | 3, K8T890_APIC_ID, 0x13);
 
        /* Local Ints:  Type    Polarity    Trigger     Bus ID   IRQ    APIC ID PIN# */
-       smp_write_lintsrc(mc, mp_ExtINT,        MP_IRQ_TRIGGER_EDGE|MP_IRQ_POLARITY_HIGH, bus_isa, 0x0, MP_APIC_ALL, 0x0);
-       smp_write_lintsrc(mc, mp_NMI,   MP_IRQ_TRIGGER_EDGE|MP_IRQ_POLARITY_HIGH, bus_isa, 0x0, MP_APIC_ALL, 0x1);
+       mptable_lintsrc(mc, bus_isa);
        /* There is no extension information... */
 
        /* Compute the checksums. */
index 02e3f4644932312a65d984ae92548d7ae34e5acf..8d8059ff03be5ea8e86a350023f73f2c8ca7d516 100644 (file)
@@ -101,8 +101,7 @@ static void *smp_write_config_table(void *v)
        smp_write_intsrc(mc, mp_INT, MP_IRQ_TRIGGER_LEVEL|MP_IRQ_POLARITY_LOW, 0x6,  (0x00 << 2) | 3, K8T890_APIC_ID, 0x13);
 
        /* Local Ints:  Type    Polarity    Trigger     Bus ID   IRQ    APIC ID PIN# */
-       smp_write_lintsrc(mc, mp_ExtINT,        MP_IRQ_TRIGGER_EDGE|MP_IRQ_POLARITY_HIGH, bus_isa, 0x0, MP_APIC_ALL, 0x0);
-       smp_write_lintsrc(mc, mp_NMI,   MP_IRQ_TRIGGER_EDGE|MP_IRQ_POLARITY_HIGH, bus_isa, 0x0, MP_APIC_ALL, 0x1);
+       mptable_lintsrc(mc, bus_isa);
        /* There is no extension information... */
 
        /* Compute the checksums. */
index 86b66701ad1a2d5879ac920d625129a8bf5ba810..66c4ee9c240934e77234cb90ecd432bf06a99c4f 100644 (file)
@@ -91,8 +91,7 @@ static void *smp_write_config_table(void *v)
        }
 
        /* Local Ints:        Type       Trigger               Polarity              Bus ID   IRQ  APIC ID      PIN# */
-       smp_write_lintsrc(mc, mp_ExtINT, MP_IRQ_TRIGGER_EDGE | MP_IRQ_POLARITY_HIGH, bus_isa, 0x0, MP_APIC_ALL, 0x0);
-       smp_write_lintsrc(mc, mp_NMI,    MP_IRQ_TRIGGER_EDGE | MP_IRQ_POLARITY_HIGH, bus_isa, 0x0, MP_APIC_ALL, 0x1);
+       mptable_lintsrc(mc, bus_isa);
 
        /* Compute the checksums. */
        mc->mpe_checksum =
index 48c6d6f5bb06cececae225d0ead9a65e319c25f9..0f84ad6e99f6793a7d3f458c3056ad98f1fa486c 100644 (file)
@@ -132,8 +132,7 @@ static void *smp_write_config_table(void *v)
        smp_write_intsrc_pci(mc, 7, (9 << 2) | 3, VT8237R_APIC_ID, 0x12);
 
        /* Local Ints:  Type    Polarity    Trigger     Bus ID   IRQ    APIC ID PIN# */
-       smp_write_lintsrc(mc, mp_ExtINT,        MP_IRQ_TRIGGER_EDGE|MP_IRQ_POLARITY_HIGH, 0, 0x0, MP_APIC_ALL, 0x0);
-       smp_write_lintsrc(mc, mp_NMI,   MP_IRQ_TRIGGER_EDGE|MP_IRQ_POLARITY_HIGH, 0, 0x0, MP_APIC_ALL, 0x1);
+       mptable_lintsrc(mc, 0);
        /* There is no extension information... */
 
        /* Compute the checksums. */
index a3f06fd6211a08c80890fb7ae0aab821e000dbf7..c8e32c0e60bdc394854b2c4a4407e9f818edefd4 100644 (file)
@@ -49,8 +49,7 @@ static void *smp_write_config_table(void *v)
        smp_write_intsrc(mc, mp_INT,    MP_IRQ_TRIGGER_LEVEL | MP_IRQ_POLARITY_LOW,  0x0,     0x13, ioapic_id,   0x13); /* UHCI */
 
        /* Local Ints:       Type       Trigger                Polarity              Bus ID   IRQ   APIC ID      PIN# */
-       smp_write_lintsrc(mc, mp_ExtINT, MP_IRQ_TRIGGER_EDGE  | MP_IRQ_POLARITY_HIGH, isa_bus, 0x0,  MP_APIC_ALL, 0x0);
-       smp_write_lintsrc(mc, mp_NMI,    MP_IRQ_TRIGGER_EDGE  | MP_IRQ_POLARITY_HIGH, isa_bus, 0x0,  MP_APIC_ALL, 0x1);
+       mptable_lintsrc(mc, isa_bus);
 
        /* Compute the checksums. */
        mc->mpe_checksum =
index 537406633d2ef4a63024fb7f3c26fe40cfecaebf..88028b7d457bca92738f8c987bae8dcf8a23b0e4 100644 (file)
@@ -50,8 +50,7 @@ static void *smp_write_config_table(void *v)
        smp_write_intsrc(mc,  mp_INT,    MP_IRQ_TRIGGER_LEVEL | MP_IRQ_POLARITY_LOW,  0x0,     0x18, ioapic_id,   0x13);
 
        /* Local Ints:        Type       Trigger                Polarity              Bus ID   IRQ   APIC ID      PIN# */
-       smp_write_lintsrc(mc, mp_ExtINT, MP_IRQ_TRIGGER_EDGE |  MP_IRQ_POLARITY_HIGH, 0x1,     0x0,  MP_APIC_ALL, 0x0);
-       smp_write_lintsrc(mc, mp_NMI,    MP_IRQ_TRIGGER_EDGE |  MP_IRQ_POLARITY_HIGH, 0x1,     0x0,  MP_APIC_ALL, 0x1);
+       mptable_lintsrc(mc, 0x1);
 
        /* Compute the checksums. */
        mc->mpe_checksum =
index ae0c0033743a60217fcf9f1d414a7fa528b4942c..9debc047d0ef557ee5d6e2121c59e90c6b85abec 100644 (file)
@@ -130,8 +130,7 @@ static void *smp_write_config_table(void *v)
         }
 
 /*Local Ints:  Type    Polarity    Trigger     Bus ID   IRQ    APIC ID PIN#*/
-       smp_write_lintsrc(mc, mp_ExtINT, MP_IRQ_TRIGGER_EDGE|MP_IRQ_POLARITY_HIGH, bus_isa, 0x0, MP_APIC_ALL, 0x0);
-       smp_write_lintsrc(mc, mp_NMI, MP_IRQ_TRIGGER_EDGE|MP_IRQ_POLARITY_HIGH, bus_isa, 0x0, MP_APIC_ALL, 0x1);
+       mptable_lintsrc(mc, bus_isa);
        /* There is no extension information... */
 
        /* Compute the checksums */
index ea7db07944ca3a877227c5d9728c3bdf94106efa..989c8928d64311e6c424bf1cb44390c1a420796a 100644 (file)
@@ -71,8 +71,7 @@ static void *smp_write_config_table(void *v)
        smp_write_intsrc(mc, mp_INT, MP_IRQ_TRIGGER_LEVEL|MP_IRQ_POLARITY_LOW, 0x1, 0x0, 0x2, 0x10);
 
        /* Local Ints:  Type    Polarity    Trigger     Bus ID   IRQ    APIC ID PIN# */
-       smp_write_lintsrc(mc, mp_ExtINT, MP_IRQ_TRIGGER_DEFAULT|MP_IRQ_POLARITY_DEFAULT, isa_bus, 0x0, MP_APIC_ALL, 0x0);
-       smp_write_lintsrc(mc, mp_NMI, MP_IRQ_TRIGGER_DEFAULT|MP_IRQ_POLARITY_DEFAULT, isa_bus, 0x0, MP_APIC_ALL, 0x1);
+       mptable_lintsrc(mc, isa_bus);
 
        /* Compute the checksums */
        mc->mpe_checksum = smp_compute_checksum(smp_next_mpc_entry(mc), mc->mpe_length);
index c38d7f6e064930f456c17dded3448a3b1158bc97..a4b15af8fb227c635c994ebe24aa1cc1d5f124c6 100644 (file)
@@ -104,8 +104,7 @@ static void *smp_write_config_table(void *v)
                }
 
 /*Local Ints:  Type    Polarity    Trigger     Bus ID   IRQ    APIC ID PIN#*/
-       smp_write_lintsrc(mc, mp_ExtINT, MP_IRQ_TRIGGER_EDGE|MP_IRQ_POLARITY_HIGH, bus_isa, 0x0, MP_APIC_ALL, 0x0);
-       smp_write_lintsrc(mc, mp_NMI, MP_IRQ_TRIGGER_EDGE|MP_IRQ_POLARITY_HIGH, bus_isa, 0x0, MP_APIC_ALL, 0x1);
+       mptable_lintsrc(mc, bus_isa);
        /* There is no extension information... */
 
        /* Compute the checksums */
index 28b2858413bd26cf414ee094eae99df015349c67..8cb3cd201aed817f1d4a46dc083700d2de3af85b 100644 (file)
@@ -110,8 +110,7 @@ static void *smp_write_config_table(void *v)
         }
 
 /*Local Ints:  Type    Polarity    Trigger     Bus ID   IRQ    APIC ID PIN#*/
-       smp_write_lintsrc(mc, mp_ExtINT, MP_IRQ_TRIGGER_EDGE|MP_IRQ_POLARITY_HIGH, bus_isa, 0x0, MP_APIC_ALL, 0x0);
-       smp_write_lintsrc(mc, mp_NMI, MP_IRQ_TRIGGER_EDGE|MP_IRQ_POLARITY_HIGH, bus_isa, 0x0, MP_APIC_ALL, 0x1);
+       mptable_lintsrc(mc, bus_isa);
        /* There is no extension information... */
 
        /* Compute the checksums */
index 3cd9fd6ec7ce8b1785d298ae08d346de8b6f8aa0..c45e1f411385841e972bb37299f0954779c7fb32 100644 (file)
@@ -83,8 +83,7 @@ static void *smp_write_config_table(void *v)
        //smp_write_intsrc(mc, mp_INT, MP_IRQ_TRIGGER_LEVEL|MP_IRQ_POLARITY_LOW, bus_8131_1, ( 0x1 <<2)|3, apicid_8131_1, 0x04);
 
 /*Local Ints:  Type    Polarity    Trigger     Bus ID   IRQ    APIC ID PIN#*/
-       smp_write_lintsrc(mc, mp_ExtINT, MP_IRQ_TRIGGER_EDGE|MP_IRQ_POLARITY_HIGH, bus_isa, 0x0, MP_APIC_ALL, 0x0);
-       smp_write_lintsrc(mc, mp_NMI, MP_IRQ_TRIGGER_EDGE|MP_IRQ_POLARITY_HIGH, bus_isa, 0x0, MP_APIC_ALL, 0x1);
+       mptable_lintsrc(mc, bus_isa);
        /* There is no extension information... */
 
        /* Compute the checksums */
index f23121e634823221256002861698d598dbcb8b6d..1f75dad827ea5e3f56dd65cdb7eb1e66d75132e1 100644 (file)
@@ -164,8 +164,7 @@ static void *smp_write_config_table(void *v)
 
 /*Local Ints:  Type    Polarity    Trigger     Bus ID   IRQ    APIC ID PIN#*/
        printk(BIOS_DEBUG, "bus_isa is: %x\n", bus_isa);
-       smp_write_lintsrc(mc, mp_ExtINT, MP_IRQ_TRIGGER_EDGE|MP_IRQ_POLARITY_HIGH, bus_isa, 0x0, MP_APIC_ALL, 0x0);
-       smp_write_lintsrc(mc, mp_NMI, MP_IRQ_TRIGGER_EDGE|MP_IRQ_POLARITY_HIGH, bus_isa , 0x0, MP_APIC_ALL, 0x1);
+       mptable_lintsrc(mc, bus_isa);
 
        //extended table entries
        smp_write_address_space(mc,0 , ADDRESS_TYPE_IO, 0x0, 0x0, 0x0, 0x0001);
index c76ca6c75b6f562e30fb7ca97d5f0e80268eb2f7..97b0c0e2ead1fb851942e8b5f9272376a761e23f 100644 (file)
@@ -142,8 +142,7 @@ static void *smp_write_config_table(void *v)
        }
 
        /* Local Ints:          Type    Polarity/Trigger                                Bus ID          IRQ     APIC ID         PIN#  */
-       smp_write_lintsrc(mc, mp_ExtINT, MP_IRQ_TRIGGER_DEFAULT|MP_IRQ_POLARITY_DEFAULT, isa_bus,       0x0,    MP_APIC_ALL,    0x0);
-       smp_write_lintsrc(mc, mp_NMI, MP_IRQ_TRIGGER_DEFAULT|MP_IRQ_POLARITY_DEFAULT, isa_bus,          0x0,    MP_APIC_ALL,    0x1);
+       mptable_lintsrc(mc, isa_bus);
 
        //extended table entries
        smp_write_address_space(mc,0 , ADDRESS_TYPE_IO, 0x0, 0x0, 0x0, 0x0001);
index 53156a3f48037b7696b11e72186bcf72dcb1f696..18af2a1ec6dd115f8e09df31d3d7d147ca934049 100644 (file)
@@ -119,8 +119,7 @@ static void *smp_write_config_table(void *v)
        smp_write_intsrc(mc, mp_INT, MP_IRQ_TRIGGER_LEVEL|MP_IRQ_POLARITY_LOW, 0x2, 0x0, ioapic_id, 0x10);
 
        /* Local Ints:  Type    Polarity    Trigger     Bus ID   IRQ    APIC ID PIN# */
-       smp_write_lintsrc(mc, mp_ExtINT, MP_IRQ_TRIGGER_DEFAULT|MP_IRQ_POLARITY_DEFAULT, isa_bus, 0x0, MP_APIC_ALL, 0x0);
-       smp_write_lintsrc(mc, mp_NMI, MP_IRQ_TRIGGER_DEFAULT|MP_IRQ_POLARITY_DEFAULT, isa_bus, 0x0, MP_APIC_ALL, 0x1);
+       mptable_lintsrc(mc, isa_bus);
 
        /* Compute the checksums */
        mc->mpe_checksum = smp_compute_checksum(smp_next_mpc_entry(mc), mc->mpe_length);
index d7ea08ed4a022202d91ab9cf704c4b7739a816d6..1128f0f2c7e6bb47b42ba01886cf89caaba1a3f0 100644 (file)
@@ -115,8 +115,7 @@ static void *smp_write_config_table(void *v)
 
        /* Standard local interrupt assignments:
         *                    Type       Polarity               Trigger                  Bus ID   IRQ   APIC ID      PIN# */
-       smp_write_lintsrc(mc, mp_ExtINT, MP_IRQ_TRIGGER_DEFAULT|MP_IRQ_POLARITY_DEFAULT, bus_isa, 0x00, MP_APIC_ALL, 0x00);
-       smp_write_lintsrc(mc, mp_NMI,    MP_IRQ_TRIGGER_DEFAULT|MP_IRQ_POLARITY_DEFAULT, bus_isa, 0x00, MP_APIC_ALL, 0x01);
+       mptable_lintsrc(mc, bus_isa);
 
        /* There is no extension information... */
 
index 4934456d936dae6e63e615e6008c0bc83bfe5d09..f7a41cc5d96f2ef9567b930d05ab03d45cdc9b95 100644 (file)
@@ -114,8 +114,7 @@ static void *smp_write_config_table(void *v)
 
        /* Standard local interrupt assignments:
         *                    Type       Polarity               Trigger                  Bus ID   IRQ   APIC ID      PIN# */
-       smp_write_lintsrc(mc, mp_ExtINT, MP_IRQ_TRIGGER_DEFAULT|MP_IRQ_POLARITY_DEFAULT, bus_isa, 0x00, MP_APIC_ALL, 0x00);
-       smp_write_lintsrc(mc, mp_NMI,    MP_IRQ_TRIGGER_DEFAULT|MP_IRQ_POLARITY_DEFAULT, bus_isa, 0x00, MP_APIC_ALL, 0x01);
+       mptable_lintsrc(mc, bus_isa);
 
        /* There is no extension information... */
 
index 641a7ef856e879cfc434e8554995b650d387fade..3e26beb9a5e7fea56d9ca6b11356da177e5e6f18 100644 (file)
@@ -76,8 +76,7 @@ static void *smp_write_config_table(void *v)
        smp_write_intsrc(mc, mp_INT, MP_IRQ_TRIGGER_LEVEL|MP_IRQ_POLARITY_LOW, 0x1, 0x0, 0x2, 0x10);
 
        /* Local Ints:  Type    Polarity    Trigger     Bus ID   IRQ    APIC ID PIN# */
-       smp_write_lintsrc(mc, mp_ExtINT, MP_IRQ_TRIGGER_DEFAULT|MP_IRQ_POLARITY_DEFAULT, isa_bus, 0x0, MP_APIC_ALL, 0x0);
-       smp_write_lintsrc(mc, mp_NMI, MP_IRQ_TRIGGER_DEFAULT|MP_IRQ_POLARITY_DEFAULT, isa_bus, 0x0, MP_APIC_ALL, 0x1);
+       mptable_lintsrc(mc, isa_bus);
 
        /* Compute the checksums */
        mc->mpe_checksum = smp_compute_checksum(smp_next_mpc_entry(mc), mc->mpe_length);
index 02744c734f91e50cadd1e39b8071dde36ac73622..be89bf89b6e267d21bdc2193c8893cb56423335b 100644 (file)
@@ -126,8 +126,7 @@ static void *smp_write_config_table(void *v)
        mptable_add_isa_interrupts(mc, bus_isa, IO_APIC0, 0);
 
        /*Local Ints:   Type    Polarity    Trigger     Bus ID   IRQ    APIC ID PIN#*/
-       smp_write_lintsrc(mc, mp_ExtINT, MP_IRQ_TRIGGER_DEFAULT|MP_IRQ_POLARITY_DEFAULT, bus_isa, 0, MP_APIC_ALL, 0);
-       smp_write_lintsrc(mc, mp_NMI,    MP_IRQ_TRIGGER_DEFAULT|MP_IRQ_POLARITY_DEFAULT, bus_isa, 0, MP_APIC_ALL, 1);
+       mptable_lintsrc(mc, bus_isa);
 
        /* Internal PCI device for i3100 */
 
index 748eb93d8ca34a8093ccd1cf7faf490e21a5823f..a68aaafbef94e5609d9c414a522a95f08b2f120b 100644 (file)
@@ -167,10 +167,7 @@ static void *smp_write_config_table(void *v)
                bus_isa, 0x0a, 0x08, 0x10);
 
        /* Standard local interrupt assignments */
-       smp_write_lintsrc(mc, mp_ExtINT, MP_IRQ_TRIGGER_DEFAULT|MP_IRQ_POLARITY_DEFAULT,
-               bus_isa, 0x00, MP_APIC_ALL, 0x00);
-       smp_write_lintsrc(mc, mp_NMI, MP_IRQ_TRIGGER_DEFAULT|MP_IRQ_POLARITY_DEFAULT,
-               bus_isa, 0x00, MP_APIC_ALL, 0x01);
+       mptable_lintsrc(mc, bus_isa);
 
        /* FIXME verify I have the irqs handled for all of the risers */
 
index 638d6698f06241833e09ea06349e67d9b3cc808d..6e211f9cc4ac32dfee0b2a97ac8530bd02cbc671 100644 (file)
@@ -47,10 +47,7 @@ static void *smp_write_config_table(void *v)
        mptable_add_isa_interrupts(mc, bus_isa, 0x1, 0);
 
        /* Standard local interrupt assignments */
-       smp_write_lintsrc(mc, mp_ExtINT, MP_IRQ_TRIGGER_DEFAULT|MP_IRQ_POLARITY_DEFAULT,
-               bus_isa, 0x00, MP_APIC_ALL, 0x00);
-       smp_write_lintsrc(mc, mp_NMI, MP_IRQ_TRIGGER_DEFAULT|MP_IRQ_POLARITY_DEFAULT,
-               bus_isa, 0x00, MP_APIC_ALL, 0x01);
+       mptable_lintsrc(mc, bus_isa);
 
        /* Internal PCI devices */
        smp_write_intsrc(mc, mp_INT, MP_IRQ_TRIGGER_LEVEL|MP_IRQ_POLARITY_LOW,
index 67a73338bf063683f13193a69cc04e19b6fc0e07..d8f9787f771663e5232da43031d697ffaabb47f8 100644 (file)
@@ -75,10 +75,7 @@ static void *smp_write_config_table(void *v)
        mptable_add_isa_interrupts(mc, bus_isa, 0x8, 0);
 
        /* Standard local interrupt assignments */
-       smp_write_lintsrc(mc, mp_ExtINT, MP_IRQ_TRIGGER_DEFAULT|MP_IRQ_POLARITY_DEFAULT,
-               bus_isa, 0x00, MP_APIC_ALL, 0x00);
-       smp_write_lintsrc(mc, mp_NMI, MP_IRQ_TRIGGER_DEFAULT|MP_IRQ_POLARITY_DEFAULT,
-               bus_isa, 0x00, MP_APIC_ALL, 0x01);
+       mptable_lintsrc(mc, bus_isa);
 
        /* IMCH/IICH PCI devices */
        smp_write_intsrc(mc, mp_INT, MP_IRQ_TRIGGER_LEVEL|MP_IRQ_POLARITY_LOW,
index acd762194d2efeb74e74d94c384893dcdc37f902..f1be1d7388a29b47dd6662380fe511c93020e4b9 100644 (file)
@@ -61,8 +61,7 @@ static void xe7501devkit_register_interrupts(struct mp_config_table *mc)
 {
        // Chipset PCI bus
        //                                       Type           Trigger | Polarity                                                      Bus ID                          IRQ                                     APIC ID                                 PIN#
-       smp_write_lintsrc(mc, mp_ExtINT, MP_IRQ_TRIGGER_EDGE |MP_IRQ_POLARITY_HIGH,     PCI_BUS_CHIPSET,        0,                                      MP_APIC_ALL,                     0);
-       smp_write_lintsrc(mc, mp_NMI,   MP_IRQ_TRIGGER_EDGE |MP_IRQ_POLARITY_HIGH,      PCI_BUS_CHIPSET,        0,                                      MP_APIC_ALL,                     1);
+       mptable_lintsrc(mc, PCI_BUS_CHIPSET);
        smp_write_intsrc(mc, mp_INT,    MP_IRQ_TRIGGER_LEVEL|MP_IRQ_POLARITY_LOW,       PCI_BUS_CHIPSET,        PCI_IRQ(29, INT_A), IOAPIC_ICH3,                        16);    // USB 1.1 Controller #1
        smp_write_intsrc(mc, mp_INT,    MP_IRQ_TRIGGER_LEVEL|MP_IRQ_POLARITY_LOW,       PCI_BUS_CHIPSET,        PCI_IRQ(31, INT_B),     IOAPIC_ICH3,                    17);    // SMBus
        smp_write_intsrc(mc, mp_INT,    MP_IRQ_TRIGGER_LEVEL|MP_IRQ_POLARITY_LOW,       PCI_BUS_CHIPSET,        PCI_IRQ(29, INT_C), IOAPIC_ICH3,                        18);    // USB 1.1 Controller #3
index 19bd835cc6b5f5b7c78cbf0623a7b1dfaf971aa5..a79b70beee45f7cf5033a9f3072dcc07b7717bca 100644 (file)
@@ -90,8 +90,7 @@ void *smp_write_config_table(void *v)
        smp_write_intsrc(mc, mp_INT, MP_IRQ_TRIGGER_LEVEL|MP_IRQ_POLARITY_LOW, 0x0, 0x79, 0x1, 0x11);
        smp_write_intsrc(mc, mp_INT, MP_IRQ_TRIGGER_LEVEL|MP_IRQ_POLARITY_LOW, 0x0, 0x7a, 0x1, 0x12);
 /*Local Ints:  Type    Polarity    Trigger     Bus ID   IRQ    APIC ID PIN#*/
-       smp_write_lintsrc(mc, mp_ExtINT, MP_IRQ_TRIGGER_DEFAULT|MP_IRQ_POLARITY_DEFAULT, isa_bus, 0x0, MP_APIC_ALL, 0x0);
-       smp_write_lintsrc(mc, mp_NMI, MP_IRQ_TRIGGER_DEFAULT|MP_IRQ_POLARITY_DEFAULT, isa_bus, 0x0, MP_APIC_ALL, 0x1);
+       mptable_lintsrc(mc, isa_bus);
        /* There is no extension information... */
 
        /* Compute the checksums */
index 1964463adedc4536fd8698f18903b25043025efc..3b4578af1ebd1c24a5e6d201bcfe413effb3274d 100644 (file)
@@ -167,8 +167,7 @@ static void *smp_write_config_table(void *v)
 
 
 /*Local Ints:  Type    Polarity    Trigger     Bus ID   IRQ    APIC ID PIN#*/
-       smp_write_lintsrc(mc, mp_ExtINT, MP_IRQ_TRIGGER_EDGE|MP_IRQ_POLARITY_HIGH, bus_isa, 0x0, MP_APIC_ALL, 0x0);
-       smp_write_lintsrc(mc, mp_NMI, MP_IRQ_TRIGGER_EDGE|MP_IRQ_POLARITY_HIGH, bus_isa, 0x0, MP_APIC_ALL, 0x1);
+       mptable_lintsrc(mc, bus_isa);
        /* There is no extension information... */
 
        /* Compute the checksums */
index 4f262f22fdc14707ea45a3ecd95f550e3ce2b763..3108c3c5ad86a417c35f17bf765bcda8cc109c86 100644 (file)
@@ -79,10 +79,7 @@ static void *smp_write_config_table(void *v)
        mptable_add_isa_interrupts(mc, bus_isa, 0x2, 0);
 
        /* Standard local interrupt assignments */
-       smp_write_lintsrc(mc, mp_ExtINT, MP_IRQ_TRIGGER_DEFAULT|MP_IRQ_POLARITY_DEFAULT,
-               bus_isa, 0x00, MP_APIC_ALL, 0x00);
-       smp_write_lintsrc(mc, mp_NMI, MP_IRQ_TRIGGER_DEFAULT|MP_IRQ_POLARITY_DEFAULT,
-               bus_isa, 0x00, MP_APIC_ALL, 0x01);
+       mptable_lintsrc(mc, bus_isa);
 
 
        /* PCI Slot 1 */
index 4f262f22fdc14707ea45a3ecd95f550e3ce2b763..3108c3c5ad86a417c35f17bf765bcda8cc109c86 100644 (file)
@@ -79,10 +79,7 @@ static void *smp_write_config_table(void *v)
        mptable_add_isa_interrupts(mc, bus_isa, 0x2, 0);
 
        /* Standard local interrupt assignments */
-       smp_write_lintsrc(mc, mp_ExtINT, MP_IRQ_TRIGGER_DEFAULT|MP_IRQ_POLARITY_DEFAULT,
-               bus_isa, 0x00, MP_APIC_ALL, 0x00);
-       smp_write_lintsrc(mc, mp_NMI, MP_IRQ_TRIGGER_DEFAULT|MP_IRQ_POLARITY_DEFAULT,
-               bus_isa, 0x00, MP_APIC_ALL, 0x01);
+       mptable_lintsrc(mc, bus_isa);
 
 
        /* PCI Slot 1 */
index 9aa074ed99a219cbd5c3ed4bce3c5d98066ded10..84c3b2a62e01cb44a967f4f17afc4acca39406d7 100644 (file)
@@ -102,8 +102,7 @@ static void *smp_write_config_table(void *v)
        smp_write_intsrc(mc, mp_INT, MP_IRQ_TRIGGER_LEVEL|MP_IRQ_POLARITY_LOW, 0x2, 0x0, ioapic_id, 0x10);
 
        /* Local Ints:  Type    Polarity    Trigger     Bus ID   IRQ    APIC ID PIN# */
-       smp_write_lintsrc(mc, mp_ExtINT, MP_IRQ_TRIGGER_DEFAULT|MP_IRQ_POLARITY_DEFAULT, isa_bus, 0x0, MP_APIC_ALL, 0x0);
-       smp_write_lintsrc(mc, mp_NMI, MP_IRQ_TRIGGER_DEFAULT|MP_IRQ_POLARITY_DEFAULT, isa_bus, 0x0, MP_APIC_ALL, 0x1);
+       mptable_lintsrc(mc, isa_bus);
 
        /* Compute the checksums */
        mc->mpe_checksum = smp_compute_checksum(smp_next_mpc_entry(mc), mc->mpe_length);
index 341214539d5068ad5197fbb1932848d6d0c000ff..b30182c9305e070c062dc016b37143fdb0e8a531 100644 (file)
@@ -144,12 +144,7 @@ static void *smp_write_config_table(void *v)
        PCI_INT(3, 0, 3, 17);
 
 /*Local Ints:  Type    Polarity    Trigger     Bus ID   IRQ    APIC ID PIN#*/
-       smp_write_lintsrc(mc, mp_ExtINT,
-                        MP_IRQ_TRIGGER_DEFAULT | MP_IRQ_POLARITY_DEFAULT,
-                        bus_ck804[0], 0x0, MP_APIC_ALL, 0x0);
-       smp_write_lintsrc(mc, mp_NMI,
-                        MP_IRQ_TRIGGER_DEFAULT | MP_IRQ_POLARITY_DEFAULT,
-                        bus_ck804[0], 0x0, MP_APIC_ALL, 0x1);
+       mptable_lintsrc(mc, bus_ck804[0]);
 
        /* There is no extension information... */
 
index e6a9e4dc959925b7ffbf4282c22f2b44df5b049a..b6142d6196c8c3dedb97f2318634870e536ac1e9 100644 (file)
@@ -94,8 +94,7 @@ static void *smp_write_config_table(void *v)
        }
 
        /* Local Ints:       Type       Trigger               Polarity              Bus ID   IRQ  APIC ID      PIN# */
-       smp_write_lintsrc(mc, mp_ExtINT, MP_IRQ_TRIGGER_EDGE | MP_IRQ_POLARITY_HIGH, bus_isa, 0x0, MP_APIC_ALL, 0x0);
-       smp_write_lintsrc(mc, mp_NMI,    MP_IRQ_TRIGGER_EDGE | MP_IRQ_POLARITY_HIGH, bus_isa, 0x0, MP_APIC_ALL, 0x1);
+       mptable_lintsrc(mc, bus_isa);
 
        /* There is no extension information... */
 
index 4cced6da52b992ee0573d958caaa95d28c6e59c7..a7543907048fe8f8837ce7fc0ded0e062e0bc6cb 100644 (file)
@@ -146,8 +146,7 @@ static void *smp_write_config_table(void *v)
         }
 
 /*Local Ints:  Type    Polarity    Trigger     Bus ID   IRQ    APIC ID PIN#*/
-       smp_write_lintsrc(mc, mp_ExtINT, MP_IRQ_TRIGGER_EDGE|MP_IRQ_POLARITY_HIGH, bus_isa, 0x0, MP_APIC_ALL, 0x0);
-       smp_write_lintsrc(mc, mp_NMI, MP_IRQ_TRIGGER_EDGE|MP_IRQ_POLARITY_HIGH, bus_isa, 0x0, MP_APIC_ALL, 0x1);
+       mptable_lintsrc(mc, bus_isa);
        /* There is no extension information... */
 
        /* Compute the checksums */
index f6b2d6944bbfc5d3b1acb325a838850e0e0544ec..4c7774afa13e2b8916a9d1e808933f6f99b6c32b 100644 (file)
@@ -115,8 +115,7 @@ static void *smp_write_config_table(void *v)
                }
 
 /*Local Ints:  Type    Polarity    Trigger     Bus ID   IRQ    APIC ID PIN#*/
-       smp_write_lintsrc(mc, mp_ExtINT, MP_IRQ_TRIGGER_EDGE|MP_IRQ_POLARITY_HIGH, bus_isa, 0x0, MP_APIC_ALL, 0x0);
-       smp_write_lintsrc(mc, mp_NMI, MP_IRQ_TRIGGER_EDGE|MP_IRQ_POLARITY_HIGH, bus_isa, 0x0, MP_APIC_ALL, 0x1);
+       mptable_lintsrc(mc, bus_isa);
        /* There is no extension information... */
 
        /* Compute the checksums */
index f74acbff91a294b2adaac7aba384482773c58f01..87afa996a45f72dc12c7a3e9210985262104c350 100644 (file)
@@ -104,8 +104,7 @@ static void *smp_write_config_table(void *v)
                }
 
 /*Local Ints:  Type    Polarity    Trigger     Bus ID   IRQ    APIC ID PIN#*/
-       smp_write_lintsrc(mc, mp_ExtINT, MP_IRQ_TRIGGER_EDGE|MP_IRQ_POLARITY_HIGH, bus_isa, 0x0, MP_APIC_ALL, 0x0);
-       smp_write_lintsrc(mc, mp_NMI, MP_IRQ_TRIGGER_EDGE|MP_IRQ_POLARITY_HIGH, bus_isa, 0x0, MP_APIC_ALL, 0x1);
+       mptable_lintsrc(mc, bus_isa);
        /* There is no extension information... */
 
        /* Compute the checksums */
index 37ed636a3aac9d3bfc2a928c7e9571b493f866d1..b11718bed000261da1e810a2f491660c37084ac6 100644 (file)
@@ -80,10 +80,7 @@ static void *smp_write_config_table(void *v)
        mptable_add_isa_interrupts(mc, bus_isa, 0x2, 0);
 
        /* Standard local interrupt assignments */
-       smp_write_lintsrc(mc, mp_ExtINT, MP_IRQ_TRIGGER_DEFAULT|MP_IRQ_POLARITY_DEFAULT,
-               bus_isa, 0x00, MP_APIC_ALL, 0x00);
-       smp_write_lintsrc(mc, mp_NMI, MP_IRQ_TRIGGER_DEFAULT|MP_IRQ_POLARITY_DEFAULT,
-               bus_isa, 0x00, MP_APIC_ALL, 0x01);
+       mptable_lintsrc(mc, bus_isa);
 
 
        /* PCI Slot 1 */
index db965841ff2700d32a4187524f4cd588a1c79098..043e473ecbdc03fc7e7a6a3a10c5e330f362db36 100644 (file)
@@ -161,8 +161,7 @@ static void *smp_write_config_table(void *v)
        }
 
 /*Local Ints:  Type    Polarity    Trigger     Bus ID   IRQ    APIC ID PIN#*/
-       smp_write_lintsrc(mc, mp_ExtINT, MP_IRQ_TRIGGER_EDGE|MP_IRQ_POLARITY_HIGH, bus_isa, 0x0, MP_APIC_ALL, 0x0);
-       smp_write_lintsrc(mc, mp_NMI, MP_IRQ_TRIGGER_EDGE|MP_IRQ_POLARITY_HIGH, bus_isa, 0x0, MP_APIC_ALL, 0x1);
+       mptable_lintsrc(mc, bus_isa);
        /* There is no extension information... */
 
        /* Compute the checksums */
index ea7db07944ca3a877227c5d9728c3bdf94106efa..989c8928d64311e6c424bf1cb44390c1a420796a 100644 (file)
@@ -71,8 +71,7 @@ static void *smp_write_config_table(void *v)
        smp_write_intsrc(mc, mp_INT, MP_IRQ_TRIGGER_LEVEL|MP_IRQ_POLARITY_LOW, 0x1, 0x0, 0x2, 0x10);
 
        /* Local Ints:  Type    Polarity    Trigger     Bus ID   IRQ    APIC ID PIN# */
-       smp_write_lintsrc(mc, mp_ExtINT, MP_IRQ_TRIGGER_DEFAULT|MP_IRQ_POLARITY_DEFAULT, isa_bus, 0x0, MP_APIC_ALL, 0x0);
-       smp_write_lintsrc(mc, mp_NMI, MP_IRQ_TRIGGER_DEFAULT|MP_IRQ_POLARITY_DEFAULT, isa_bus, 0x0, MP_APIC_ALL, 0x1);
+       mptable_lintsrc(mc, isa_bus);
 
        /* Compute the checksums */
        mc->mpe_checksum = smp_compute_checksum(smp_next_mpc_entry(mc), mc->mpe_length);
index df2f77b97d4c7524d3550bb1a1c6dfef27b6959f..889810f21826160181e36a5c6c3a4be38d690f6c 100644 (file)
@@ -65,8 +65,7 @@ static void *smp_write_config_table(void *v)
        }
        mptable_add_isa_interrupts(mc, bus_isa, apicid_sb600, 0);
        /* I/O Ints:    Type    Polarity    Trigger     Bus ID   IRQ    APIC ID PIN# */
-       smp_write_lintsrc(mc, mp_ExtINT, MP_IRQ_TRIGGER_EDGE|MP_IRQ_POLARITY_HIGH, bus_isa, 0x0, MP_APIC_ALL, 0x0);
-       smp_write_lintsrc(mc, mp_NMI, MP_IRQ_TRIGGER_EDGE|MP_IRQ_POLARITY_HIGH, bus_isa, 0x0, MP_APIC_ALL, 0x1);
+       mptable_lintsrc(mc, bus_isa);
 
        /* Compute the checksums */
        mc->mpe_checksum =
index 02a70246a7f774ecfb47507e85690e4122347d76..9dbcf97c79db32accaecd81f43d4a127475c80bd 100644 (file)
@@ -182,8 +182,7 @@ static void *smp_write_config_table(void *v)
         }
 
 /*Local Ints:  Type    Polarity    Trigger     Bus ID   IRQ    APIC ID PIN#*/
-       smp_write_lintsrc(mc, mp_ExtINT, MP_IRQ_TRIGGER_EDGE|MP_IRQ_POLARITY_HIGH, bus_isa, 0x0, MP_APIC_ALL, 0x0);
-       smp_write_lintsrc(mc, mp_NMI, MP_IRQ_TRIGGER_EDGE|MP_IRQ_POLARITY_HIGH, bus_isa, 0x0, MP_APIC_ALL, 0x1);
+       mptable_lintsrc(mc, bus_isa);
        /* There is no extension information... */
 
        /* Compute the checksums */
index 16ff72a961272aa7074961b34aab492adaa64c3c..dafa92ad0ac26d6e97cb45fb70a9b4cde9c60040 100644 (file)
@@ -117,8 +117,7 @@ static void *smp_write_config_table(void *v)
        }
 
 /*Local Ints:  Type    Polarity    Trigger     Bus ID   IRQ    APIC ID PIN#*/
-       smp_write_lintsrc(mc, mp_ExtINT, MP_IRQ_TRIGGER_EDGE|MP_IRQ_POLARITY_HIGH, bus_isa, 0x0, MP_APIC_ALL, 0x0);
-       smp_write_lintsrc(mc, mp_NMI, MP_IRQ_TRIGGER_EDGE|MP_IRQ_POLARITY_HIGH, bus_isa, 0x0, MP_APIC_ALL, 0x1);
+       mptable_lintsrc(mc, bus_isa);
        /* There is no extension information... */
 
        /* Compute the checksums */
index 8a00275e26b34eec1a0194dfaa73400f982922af..041aef8d07ed2829bf7fb8b4f275c01f9e213ffd 100644 (file)
@@ -118,8 +118,7 @@ static void *smp_write_config_table(void *v)
        }
 
 /*Local Ints:  Type    Polarity    Trigger     Bus ID   IRQ    APIC ID PIN#*/
-       smp_write_lintsrc(mc, mp_ExtINT, MP_IRQ_TRIGGER_EDGE|MP_IRQ_POLARITY_HIGH, bus_isa, 0x0, MP_APIC_ALL, 0x0);
-       smp_write_lintsrc(mc, mp_NMI, MP_IRQ_TRIGGER_EDGE|MP_IRQ_POLARITY_HIGH, bus_isa, 0x0, MP_APIC_ALL, 0x1);
+       mptable_lintsrc(mc, bus_isa);
        /* There is no extension information... */
 
        /* Compute the checksums */
index a8cbc4b8c122da771e685e7aef38f4292cf7552b..54264e52309bce48d7fac3d04cf3226ab2e277df 100644 (file)
@@ -104,8 +104,7 @@ static void *smp_write_config_table(void *v)
                }
 
 /*Local Ints:  Type    Polarity    Trigger     Bus ID   IRQ    APIC ID PIN#*/
-       smp_write_lintsrc(mc, mp_ExtINT, MP_IRQ_TRIGGER_EDGE|MP_IRQ_POLARITY_HIGH, bus_isa, 0x0, MP_APIC_ALL, 0x0);
-       smp_write_lintsrc(mc, mp_NMI, MP_IRQ_TRIGGER_EDGE|MP_IRQ_POLARITY_HIGH, bus_isa, 0x0, MP_APIC_ALL, 0x1);
+       mptable_lintsrc(mc, bus_isa);
        /* There is no extension information... */
 
        /* Compute the checksums */
index af44614779a50faec7d5671e93d716d94e95b398..5a0ba63c1871f15ace7f363e6c250f36a91b437e 100644 (file)
@@ -102,8 +102,7 @@ static void *smp_write_config_table(void *v)
                }
 
 /*Local Ints:  Type    Polarity    Trigger     Bus ID   IRQ    APIC ID PIN#*/
-       smp_write_lintsrc(mc, mp_ExtINT, MP_IRQ_TRIGGER_EDGE|MP_IRQ_POLARITY_HIGH, bus_isa, 0x0, MP_APIC_ALL, 0x0);
-       smp_write_lintsrc(mc, mp_NMI, MP_IRQ_TRIGGER_EDGE|MP_IRQ_POLARITY_HIGH, bus_isa, 0x0, MP_APIC_ALL, 0x1);
+       mptable_lintsrc(mc, bus_isa);
        /* There is no extension information... */
 
        /* Compute the checksums */
index 9b182a2d1c809c24a1b27942033108ec571dff43..ba07bc7fca5716b057cbe6c02edded821f841319 100644 (file)
@@ -116,10 +116,7 @@ static void *smp_write_config_table(void *v)
                bus_esb6300_2, 0x08, 0x02, 0x14);
 
        /* Standard local interrupt assignments */
-       smp_write_lintsrc(mc, mp_ExtINT, MP_IRQ_TRIGGER_EDGE|MP_IRQ_POLARITY_HIGH,
-               bus_isa, 0x00, MP_APIC_ALL, 0x00);
-       smp_write_lintsrc(mc, mp_NMI, MP_IRQ_TRIGGER_EDGE|MP_IRQ_POLARITY_HIGH,
-               bus_isa, 0x00, MP_APIC_ALL, 0x01);
+       mptable_lintsrc(mc, bus_isa);
 
        /* FIXME verify I have the irqs handled for all of the risers */
 
index 4ea62cec71ca8977fd92fe1e24e05363071fcbb2..35da882804a2c476368e1134461ee28a4a125131 100644 (file)
@@ -117,10 +117,7 @@ static void *smp_write_config_table(void *v)
                bus_esb6300_2, 0x08, 0x02, 0x14);
 
        /* Standard local interrupt assignments */
-       smp_write_lintsrc(mc, mp_ExtINT, MP_IRQ_TRIGGER_EDGE|MP_IRQ_POLARITY_HIGH,
-               bus_isa, 0x00, MP_APIC_ALL, 0x00);
-       smp_write_lintsrc(mc, mp_NMI, MP_IRQ_TRIGGER_EDGE|MP_IRQ_POLARITY_HIGH,
-               bus_isa, 0x00, MP_APIC_ALL, 0x01);
+       mptable_lintsrc(mc, bus_isa);
 
        /* FIXME verify I have the irqs handled for all of the risers */
 
index eb0c307bdd3bc439d3e7732c1e4f447e2aed6056..7b182c832ed304ad5a324f4845a3c9205f74b921 100644 (file)
@@ -164,10 +164,7 @@ static void *smp_write_config_table(void *v)
                (bus_isa - 1), 0x04, 0x02, 0x10);
 
        /* Standard local interrupt assignments */
-       smp_write_lintsrc(mc, mp_ExtINT, MP_IRQ_TRIGGER_EDGE|MP_IRQ_POLARITY_HIGH,
-               bus_isa, 0x00, MP_APIC_ALL, 0x00);
-       smp_write_lintsrc(mc, mp_NMI, MP_IRQ_TRIGGER_EDGE|MP_IRQ_POLARITY_HIGH,
-               bus_isa, 0x00, MP_APIC_ALL, 0x01);
+       mptable_lintsrc(mc, bus_isa);
 
        /* There is no extension information... */
 
index d17cd418bab44797edebb203350cf287323d3293..8f5a6b855d1389489d918cfd09fc135d96915430 100644 (file)
@@ -79,8 +79,7 @@ static void *smp_write_config_table(void *v)
        smp_write_intsrc(mc, mp_INT, MP_IRQ_TRIGGER_LEVEL|MP_IRQ_POLARITY_LOW, 0x3, (0x6<<2)|3, 0x9, 0x7);
 
 /*Local Ints:  Type    Polarity    Trigger     Bus ID   IRQ    APIC ID PIN#*/
-       smp_write_lintsrc(mc, mp_ExtINT, MP_IRQ_TRIGGER_EDGE|MP_IRQ_POLARITY_HIGH, 0x0, 0x0, MP_APIC_ALL, 0x0);
-       smp_write_lintsrc(mc, mp_NMI, MP_IRQ_TRIGGER_EDGE|MP_IRQ_POLARITY_HIGH, 0x0, 0x0, MP_APIC_ALL, 0x1);
+       mptable_lintsrc(mc, 0x0);
 /*
 MP Config Extended Table Entries:
 
index 103dd3d00b0ab96818a086a48ae7a770cf66d007..4267baf0096da141111bba92e7c66d1a75296a6d 100644 (file)
@@ -148,8 +148,7 @@ static void *smp_write_config_table(void *v)
         smp_write_intsrc(mc, mp_INT, MP_IRQ_TRIGGER_LEVEL|MP_IRQ_POLARITY_LOW, bus_8111_1, (0x0a<<2)|3, apicid_8111, 0x10);
 
 /*Local Ints:  Type    Polarity    Trigger     Bus ID   IRQ    APIC ID PIN#*/
-        smp_write_lintsrc(mc, mp_ExtINT, MP_IRQ_TRIGGER_EDGE|MP_IRQ_POLARITY_HIGH, bus_isa, 0x0, MP_APIC_ALL, 0x0);
-        smp_write_lintsrc(mc, mp_NMI, MP_IRQ_TRIGGER_EDGE|MP_IRQ_POLARITY_HIGH, bus_isa, 0x0, MP_APIC_ALL, 0x1);
+        mptable_lintsrc(mc, bus_isa);
        /* There is no extension information... */
 
        /* Compute the checksums */
index 80c1b84a33082ff428cc1772985a1e215fc61c11..4f9e50adef6b61b0051a794b0511e582f8d17acd 100644 (file)
@@ -165,8 +165,7 @@ static void *smp_write_config_table(void *v)
 
 
 /*Local Ints:  Type    Polarity    Trigger     Bus ID   IRQ    APIC ID PIN#*/
-       smp_write_lintsrc(mc, mp_ExtINT, MP_IRQ_TRIGGER_EDGE|MP_IRQ_POLARITY_HIGH, bus_isa, 0x0, MP_APIC_ALL, 0x0);
-       smp_write_lintsrc(mc, mp_NMI, MP_IRQ_TRIGGER_EDGE|MP_IRQ_POLARITY_HIGH, bus_isa, 0x0, MP_APIC_ALL, 0x1);
+       mptable_lintsrc(mc, bus_isa);
        /* There is no extension information... */
 
        /* Compute the checksums */
index 8e117622ca2454450e2eaa757fcdbef456641291..559f768c4058362062716b0334e0e999265e1911 100644 (file)
@@ -191,8 +191,7 @@ static void *smp_write_config_table(void *v)
         smp_write_intsrc(mc, mp_INT, MP_IRQ_TRIGGER_LEVEL|MP_IRQ_POLARITY_LOW, bus_8131_2, (6<<2)|3, apicid_8131_2, 0x0);//
 
 /*Local Ints:  Type    Polarity    Trigger     Bus ID   IRQ    APIC ID PIN#*/
-       smp_write_lintsrc(mc, mp_ExtINT, MP_IRQ_TRIGGER_EDGE|MP_IRQ_POLARITY_HIGH, bus_isa, 0x0, MP_APIC_ALL, 0x0);
-       smp_write_lintsrc(mc, mp_NMI, MP_IRQ_TRIGGER_EDGE|MP_IRQ_POLARITY_HIGH, bus_isa, 0x0, MP_APIC_ALL, 0x1);
+       mptable_lintsrc(mc, bus_isa);
        /* There is no extension information... */
 
        /* Compute the checksums */
index 2a6fcdc9b3360d7510b69448338ffd2a6f33cffe..bad4ae6673822536d310bacbaab1f464d2259b39 100644 (file)
@@ -94,8 +94,7 @@ static void *smp_write_config_table(void *v)
 
 
 /*Local Ints:  Type    Polarity    Trigger     Bus ID   IRQ    APIC ID PIN#*/
-       smp_write_lintsrc(mc, mp_ExtINT, MP_IRQ_TRIGGER_EDGE|MP_IRQ_POLARITY_HIGH, bus_isa, 0x0, MP_APIC_ALL, 0x0);
-       smp_write_lintsrc(mc, mp_NMI, MP_IRQ_TRIGGER_EDGE|MP_IRQ_POLARITY_HIGH, bus_isa, 0x0, MP_APIC_ALL, 0x1);
+       mptable_lintsrc(mc, bus_isa);
        /* There is no extension information... */
 
        /* Compute the checksums */
index 49ec61ffb0340778d91c00fa83e2680564d65a67..b380dc1e24ec7da0df56abb8988a98904aaeac15 100644 (file)
@@ -203,8 +203,7 @@ static void *smp_write_config_table(void *v)
 
 #endif
 /*Local Ints:  Type    Polarity    Trigger     Bus ID   IRQ    APIC ID PIN#*/
-        smp_write_lintsrc(mc, mp_ExtINT, MP_IRQ_TRIGGER_EDGE|MP_IRQ_POLARITY_HIGH, bus_isa, 0x0, MP_APIC_ALL, 0x0);
-        smp_write_lintsrc(mc, mp_NMI, MP_IRQ_TRIGGER_EDGE|MP_IRQ_POLARITY_HIGH, bus_isa, 0x0, MP_APIC_ALL, 0x1);
+        mptable_lintsrc(mc, bus_isa);
        /* There is no extension information... */
 
        /* Compute the checksums */
index a901cd722c83e5a959ef6a89c51a1300493ea0e4..e41e7504e91a36a41654ccf5c9f8703ab058d3cc 100644 (file)
@@ -106,8 +106,7 @@ static void *smp_write_config_table(void *v)
         }
 
 /*Local Ints:  Type    Polarity    Trigger     Bus ID   IRQ    APIC ID PIN#*/
-       smp_write_lintsrc(mc, mp_ExtINT, MP_IRQ_TRIGGER_EDGE|MP_IRQ_POLARITY_HIGH, bus_isa, 0x0, MP_APIC_ALL, 0x0);
-       smp_write_lintsrc(mc, mp_NMI, MP_IRQ_TRIGGER_EDGE|MP_IRQ_POLARITY_HIGH, bus_isa, 0x0, MP_APIC_ALL, 0x1);
+       mptable_lintsrc(mc, bus_isa);
        /* There is no extension information... */
 
        /* Compute the checksums */
index f3014e76df86f93f8c987813c5b3994a5c39df44..aec325e42fe2d9c80e3b95c8d92efdfb6f8ab146 100644 (file)
@@ -131,8 +131,7 @@ static void *smp_write_config_table(void *v)
        }
 
 /*Local Ints:  Type    Polarity    Trigger     Bus ID   IRQ    APIC ID PIN#*/
-       smp_write_lintsrc(mc, mp_ExtINT, MP_IRQ_TRIGGER_EDGE|MP_IRQ_POLARITY_HIGH, bus_isa, 0x0, MP_APIC_ALL, 0x0);
-       smp_write_lintsrc(mc, mp_NMI, MP_IRQ_TRIGGER_EDGE|MP_IRQ_POLARITY_HIGH, bus_isa, 0x0, MP_APIC_ALL, 0x1);
+       mptable_lintsrc(mc, bus_isa);
        /* There is no extension information... */
 
        /* Compute the checksums */
index fa5d0a144db395cee5fdca1ac7f3c4762b2e1e23..0fc260c29f685a6cc9c35a96e7e70305da104adb 100644 (file)
@@ -153,8 +153,7 @@ static void *smp_write_config_table(void *v)
        }
 
 /*Local Ints:  Type    Polarity    Trigger     Bus ID   IRQ    APIC ID PIN#*/
-       smp_write_lintsrc(mc, mp_ExtINT, MP_IRQ_TRIGGER_EDGE|MP_IRQ_POLARITY_HIGH, bus_isa, 0x0, MP_APIC_ALL, 0x0);
-       smp_write_lintsrc(mc, mp_NMI, MP_IRQ_TRIGGER_EDGE|MP_IRQ_POLARITY_HIGH, bus_isa, 0x0, MP_APIC_ALL, 0x1);
+       mptable_lintsrc(mc, bus_isa);
        /* There is no extension information... */
 
        /* Compute the checksums */
index a051b93861e4d3d0aa517f318c2646ae7dec374f..67fa39fd286f6e7d82fe94ed29f89e98b257df5d 100644 (file)
@@ -181,8 +181,7 @@ static void *smp_write_config_table(void *v)
        }
 
 /*Local Ints:  Type    Polarity    Trigger     Bus ID   IRQ    APIC ID PIN#*/
-       smp_write_lintsrc(mc, mp_ExtINT, MP_IRQ_TRIGGER_EDGE|MP_IRQ_POLARITY_HIGH, bus_isa, 0x0, MP_APIC_ALL, 0x0);
-       smp_write_lintsrc(mc, mp_NMI, MP_IRQ_TRIGGER_EDGE|MP_IRQ_POLARITY_HIGH, bus_isa, 0x0, MP_APIC_ALL, 0x1);
+       mptable_lintsrc(mc, bus_isa);
        /* There is no extension information... */
 
        /* Compute the checksums */
index 26770bf9d8618cd1f3ffb7c36093546a6ae2c3a5..10c132c14871a50268ef5dd92381b713a9811207 100644 (file)
@@ -102,8 +102,7 @@ static void *smp_write_config_table(void *v)
                }
 
 /*Local Ints:  Type    Polarity    Trigger     Bus ID   IRQ    APIC ID PIN#*/
-       smp_write_lintsrc(mc, mp_ExtINT, MP_IRQ_TRIGGER_EDGE|MP_IRQ_POLARITY_HIGH, bus_isa, 0x0, MP_APIC_ALL, 0x0);
-       smp_write_lintsrc(mc, mp_NMI, MP_IRQ_TRIGGER_EDGE|MP_IRQ_POLARITY_HIGH, bus_isa, 0x0, MP_APIC_ALL, 0x1);
+       mptable_lintsrc(mc, bus_isa);
        /* There is no extension information... */
 
        /* Compute the checksums */
index 58d6abb680f7262fb90231d0d451c9d9abe034ca..7efccd03852795fd109e17b5aaac91b289926ef6 100644 (file)
@@ -102,8 +102,7 @@ static void *smp_write_config_table(void *v)
                }
 
 /*Local Ints:  Type    Polarity    Trigger     Bus ID   IRQ    APIC ID PIN#*/
-       smp_write_lintsrc(mc, mp_ExtINT, MP_IRQ_TRIGGER_EDGE|MP_IRQ_POLARITY_HIGH, bus_isa, 0x0, MP_APIC_ALL, 0x0);
-       smp_write_lintsrc(mc, mp_NMI, MP_IRQ_TRIGGER_EDGE|MP_IRQ_POLARITY_HIGH, bus_isa, 0x0, MP_APIC_ALL, 0x1);
+       mptable_lintsrc(mc, bus_isa);
        /* There is no extension information... */
 
        /* Compute the checksums */
index 5f59c7a0ee02310d0c8217c31ff8e91d259b22ac..71c7ff05b656ff5a852e3184a67571a87b701462 100644 (file)
@@ -197,8 +197,7 @@ static void *smp_write_config_table(void *v)
         smp_write_intsrc(mc, mp_INT, MP_IRQ_TRIGGER_LEVEL|MP_IRQ_POLARITY_LOW, bus_8131_2, (1<<2)|3, apicid_8131_2, 0x0);//
 
 /*Local Ints:  Type    Polarity    Trigger     Bus ID   IRQ    APIC ID PIN#*/
-       smp_write_lintsrc(mc, mp_ExtINT, MP_IRQ_TRIGGER_EDGE|MP_IRQ_POLARITY_HIGH, bus_isa, 0x0, MP_APIC_ALL, 0x0);
-       smp_write_lintsrc(mc, mp_NMI, MP_IRQ_TRIGGER_EDGE|MP_IRQ_POLARITY_HIGH, bus_isa, 0x0, MP_APIC_ALL, 0x1);
+       mptable_lintsrc(mc, bus_isa);
        /* There is no extension information... */
 
        /* Compute the checksums */
index aa39882fea837ecc18b9e4df751aa4ffa540c185..668c8809c52fff8da7d946dcfad7b40c32649b3c 100644 (file)
@@ -196,8 +196,7 @@ static void *smp_write_config_table(void *v)
         smp_write_intsrc(mc, mp_INT, MP_IRQ_TRIGGER_LEVEL|MP_IRQ_POLARITY_LOW, bus_8131_2, (1<<2)|3, apicid_8131_2, 0x0);//
 
 /*Local Ints:  Type    Polarity    Trigger     Bus ID   IRQ    APIC ID PIN#*/
-       smp_write_lintsrc(mc, mp_ExtINT, MP_IRQ_TRIGGER_EDGE|MP_IRQ_POLARITY_HIGH, bus_isa, 0x0, MP_APIC_ALL, 0x0);
-       smp_write_lintsrc(mc, mp_NMI, MP_IRQ_TRIGGER_EDGE|MP_IRQ_POLARITY_HIGH, bus_isa, 0x0, MP_APIC_ALL, 0x1);
+       mptable_lintsrc(mc, bus_isa);
        /* There is no extension information... */
 
        /* Compute the checksums */
index 2102bf6f9a80820faba90f2dac7dae46913aeaf2..3be2f0a93ebab83142bb01dccb35b6814c8dbd92 100644 (file)
@@ -35,8 +35,7 @@ static void *smp_write_config_table(void *v)
        smp_write_intsrc(mc, mp_INT, MP_IRQ_TRIGGER_LEVEL|MP_IRQ_POLARITY_LOW, 0x0, 0x48, 0x2, 0x17);
        smp_write_intsrc(mc, mp_INT, MP_IRQ_TRIGGER_LEVEL|MP_IRQ_POLARITY_LOW, 0x0, 0x3d, 0x2, 0x14);
 /*Local Ints:  Type    Polarity    Trigger     Bus ID   IRQ    APIC ID PIN#*/
-       smp_write_lintsrc(mc, mp_ExtINT, MP_IRQ_TRIGGER_DEFAULT|MP_IRQ_POLARITY_DEFAULT, 0x0, 0x0, MP_APIC_ALL, 0x0);
-       smp_write_lintsrc(mc, mp_NMI, MP_IRQ_TRIGGER_DEFAULT|MP_IRQ_POLARITY_DEFAULT, 0x0, 0x0, MP_APIC_ALL, 0x1);
+       mptable_lintsrc(mc, 0x0);
        /* There is no extension information... */
 
        /* Compute the checksums */
index 125db37cf5b41844381611b194c431d525a7158b..e62c576b14341152daadaf1c4ad55eba25c77860 100644 (file)
@@ -83,12 +83,7 @@ static void *smp_write_config_table(void *v)
        PCI_INT(1, 0, 0, 16);
 
 /*Local Ints:  Type    Polarity    Trigger     Bus ID   IRQ    APIC ID PIN#*/
-       smp_write_lintsrc(mc, mp_ExtINT,
-                        MP_IRQ_TRIGGER_DEFAULT | MP_IRQ_POLARITY_DEFAULT,
-                        0, 0x0, MP_APIC_ALL, 0x0);
-       smp_write_lintsrc(mc, mp_NMI,
-                        MP_IRQ_TRIGGER_DEFAULT | MP_IRQ_POLARITY_DEFAULT,
-                        0, 0x0, MP_APIC_ALL, 0x1);
+       mptable_lintsrc(mc, 0);
 
        /* There is no extension information... */
 
index c2c844e2966167db2ad2a11a4885384242f1b5e9..f196c15645103ae7788b8ad9cac06d238eb12f2d 100644 (file)
@@ -55,8 +55,7 @@ static void *smp_write_config_table(void *v)
        smp_write_intsrc(mc, mp_INT, MP_IRQ_TRIGGER_LEVEL | MP_IRQ_POLARITY_LOW, 0x2, 0x10, 0x2, 0x11);
 
        /*Local Ints:   Type    Polarity    Trigger     Bus ID   IRQ    APIC ID PIN# */
-       smp_write_lintsrc(mc, mp_ExtINT, MP_IRQ_TRIGGER_DEFAULT | MP_IRQ_POLARITY_DEFAULT, 0x0, 0x0, MP_APIC_ALL, 0x0);
-       smp_write_lintsrc(mc, mp_NMI, MP_IRQ_TRIGGER_DEFAULT | MP_IRQ_POLARITY_DEFAULT, 0x0, 0x0, MP_APIC_ALL, 0x1);
+       mptable_lintsrc(mc, 0x0);
 
        /* Compute the checksums */
        mc->mpe_checksum = smp_compute_checksum(smp_next_mpc_entry(mc), mc->mpe_length);