Denis Carikli (GNUtoo@no-log.org) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/1948
-gerrit
commit 0de27696025d59463d660eb78fc68956a1190525 Author: Denis 'GNUtoo' Carikli GNUtoo@no-log.org Date: Fri Nov 30 12:35:51 2012 +0100
Make the CPU microcode filter generic(not CPU model specific).
The microcode updating filter can be used this way: For AMD: -------- In your mainboard file add something like that: microcode_patchlevel_eax = 0x010000b7
function do_mainboard_setup() [...] enable_hook(cpumsr_hooks, filter_amd_microcode) end
0x010000b7 is what corresponds to the microcode patch level.
For Intel: ---------- In your mainboard file add something like that: microcode_patchlevel_edx = 0xc7
function do_mainboard_setup() [...] enable_hook(cpumsr_hooks, filter_intel_microcode) end
Change-Id: I370b80a341820ab070f97cc578eb43d5aca192ad Signed-off-by: Denis 'GNUtoo' Carikli GNUtoo@no-log.org --- SerialICE/simba/cpu.lua | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/SerialICE/simba/cpu.lua b/SerialICE/simba/cpu.lua index 40f21a6..bd80d0e 100644 --- a/SerialICE/simba/cpu.lua +++ b/SerialICE/simba/cpu.lua @@ -57,6 +57,9 @@ filter_cpumsr_fallback = { -- ********************************************************** -- CPUID filters
+microcode_patchlevel_eax = 0 +microcode_patchlevel_edx = 0 + function cpuid_pre(f, action) return handle_action(f, action) end @@ -116,7 +119,7 @@ end -- Fakes microcode revision of my 0x6f6 Core 2 Duo Mobile function intel_microcode_post(f, action) if action.rin.ecx == 0x8b then - action.rout.edx = 0xc7 + action.rout.edx = microcode_patchlevel_edx action.rout.eax = 0 return fake_action(f, action, 0) end @@ -145,7 +148,7 @@ end -- Fakes microcode revision. function amd_microcode_post(f, action) if action.rin.ecx == 0x8b then - action.rout.eax = 0x010000b7 + action.rout.eax = microcode_patchlevel_eax return fake_action(f, action, 0) end return skip_filter(f, action)