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)
commit6eb7a5316963cb0285fe86286c47491fd213a36b
treed21822a3d218cc846c890344ba463c12d3aba10d
parent3a1fe9dec1d4758fd9c5c52f93c4efb5956f3c33
mptable: Refactor lintsrc generation

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