New patch to review for serialice: bb8620b Add AMD microcode updating filter.

Denis Carikli (GNUtoo@no-log.org) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/1945 -gerrit commit bb8620bf4279503a53cde60aefccfa4974e5c422 Author: Denis 'GNUtoo' Carikli <GNUtoo@no-log.org> Date: Thu Nov 29 22:25:35 2012 +0100 Add AMD microcode updating filter. The microcode updating filter can be used this way: In your mainboard file add something like that: fake_microcode_value = 0x010000b7 function do_mainboard_setup() [...] enable_hook(cpumsr_hooks, filter_amd_microcode) end 0x010000b7 is what corresponds to the microcode patch level. Change-Id: If6d72bfdbd9b9f78cd5774db82c401b638f35046 Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@no-log.org> --- SerialICE/simba/cpu.lua | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/SerialICE/simba/cpu.lua b/SerialICE/simba/cpu.lua index be04825..43a1e42 100644 --- a/SerialICE/simba/cpu.lua +++ b/SerialICE/simba/cpu.lua @@ -129,3 +129,31 @@ filter_intel_microcode = { pre = intel_microcode_pre, post = intel_microcode_post, } + +-- AMD CPU microcode update +function amd_microcode_pre(f, action) + if action.rin.ecx == 0xc0010020 then + --action.dropped = true + --action.rout.edx = 0 + --action.rout.eax = 0xffff0000 + return drop_action(f, action) + end + return skip_filter(f, action) +end + +-- AMD CPU microcode revision check +-- Fakes microcode revision. +function amd_microcode_post(f, action) + if action.rin.ecx == 0x8b then + action.rout.eax = fake_microcode_value + return fake_action(f, action, 0) + end + return skip_filter(f, action) +end + +filter_amd_microcode = { + id = -1, + name = "Microcode Update", + pre = amd_microcode_pre, + post = amd_microcode_post, +}
participants (1)
-
Denis Carikli