diff options
author | Patrick Georgi <patrick@georgi-clan.de> | 2011-10-07 22:41:07 +0200 |
---|---|---|
committer | Stefan Reinauer <stefan.reinauer@coreboot.org> | 2011-10-13 01:10:44 +0200 |
commit | c75c79bd0269fec41714fad1899f12e6463d93d8 (patch) | |
tree | 2eda1b714c3080800a3fde89ccb6dd3849e952b7 /src/mainboard/ibase/mb899 | |
parent | 6eb7a5316963cb0285fe86286c47491fd213a36b (diff) |
mptable: Get rid of fixup_virtual_wire
As stated in some code files, fixup_virtual_wire was established
to avoid touching 200 invocations of the mptable code.
Let Coccinelle do it:
@@
type T;
identifier v;
@@
-void fixup_virtual_wire(T v)
-{ ... }
@@
expression A;
identifier v;
@@
-v = smp_write_floating_table(A);
+v = smp_write_floating_table(A, 0);
@@
expression A;
identifier v;
@@
-v = smp_write_floating_table(A, 0);
-fixup_virtual_wire(v);
+v = smp_write_floating_table(A, 1);
Change-Id: Icad8a063380bf4726be7cebb414d13b574112b14
Signed-off-by: Patrick Georgi <patrick@georgi-clan.de>
Reviewed-on: http://review.coreboot.org/245
Tested-by: build bot (Jenkins)
Reviewed-by: Marc Jones <marcj303@gmail.com>
Diffstat (limited to 'src/mainboard/ibase/mb899')
-rw-r--r-- | src/mainboard/ibase/mb899/mptable.c | 19 |
1 files changed, 1 insertions, 18 deletions
diff --git a/src/mainboard/ibase/mb899/mptable.c b/src/mainboard/ibase/mb899/mptable.c index 18af2a1ec6..7ee2ed8a5c 100644 --- a/src/mainboard/ibase/mb899/mptable.c +++ b/src/mainboard/ibase/mb899/mptable.c @@ -130,26 +130,9 @@ static void *smp_write_config_table(void *v) return smp_next_mpe_entry(mc); } -/* MP table generation in coreboot is not very well designed; - * One of the issues is that it knows nothing about Virtual - * Wire mode, which everyone uses since a decade or so. This - * function fixes up our floating table. This spares us doing - * a half-baked fix of adding a new parameter to 200+ calls - * to smp_write_floating_table() - */ -static void fixup_virtual_wire(void *v) -{ - struct intel_mp_floating *mf = v; - - mf->mpf_checksum = 0; - mf->mpf_feature2 = MP_FEATURE_VIRTUALWIRE; - mf->mpf_checksum = smp_compute_checksum(mf, mf->mpf_length*16); -} - unsigned long write_smp_table(unsigned long addr) { void *v; - v = smp_write_floating_table(addr); - fixup_virtual_wire(v); + v = smp_write_floating_table(addr, 1); return (unsigned long)smp_write_config_table(v); } |