[SerialICE] New patch to review for serialice: bb8620b Add AMD microcode updating filter.
Denis Carikli (GNUtoo@no-log.org)
gerrit at coreboot.org
Thu Nov 29 23:31:03 CET 2012
Denis Carikli (GNUtoo at 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 at 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 at 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,
+}
More information about the SerialICE
mailing list