[SerialICE] Patch set updated for serialice: 7577517 Make the CPU microcode filter generic (not CPU model specific).

Denis Carikli (GNUtoo@no-log.org) gerrit at coreboot.org
Sat Dec 1 12:31:50 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/1948

-gerrit

commit 757751745141a9d906cb3c669bdcde7e67745a41
Author: Denis 'GNUtoo' Carikli <GNUtoo at 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 at no-log.org>
---
 SerialICE/simba/cpu.lua | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/SerialICE/simba/cpu.lua b/SerialICE/simba/cpu.lua
index c440b4b..9c2c72b 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,8 +119,8 @@ 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.eax = 0
+		action.rout.edx = microcode_patchlevel_edx
+		action.rout.eax = microcode_patchlevel_eax
 		return fake_action(f, action, 0)
 	end
 	return skip_filter(f, action)
@@ -145,7 +148,8 @@ 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
+		action.rout.edx = microcode_patchlevel_edx
 		return fake_action(f, action, 0)
 	end
 	return skip_filter(f, action)



More information about the SerialICE mailing list