lkml.org 
[lkml]   [2004]   [Nov]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH 2.4.28] backport sigmatch() issue in microcode.c
Date
Hi,

some weeks ago, Tigran Aivazian sent this patch to Marcelo
in a private email, I am unaware of the reasons why it is not included.

Just for public documentation, here is the 2.6.7 backport of the patch, which
allows the use of microcode updates also for old Pentium II machines.

Original explanation from Tigran:
[PATCH] fix to microcode driver for the old CPUs.

Here is a patch against Linux 2.6.7 which fixes the sigmatch() macro to
work for the relatively old processors as well, which have 'pf == 0'
(processor flags as read from MSR 0x17), For example, the processors
failing without this patch are Pentium II 300 MHz (Klamath) with
family/model/stepping 6/3/4 and 6/3/3.

It works for me.
Regards,
Manfred


--- linux-2.4.28/arch/i386/kernel/microcode.c.orig 2004-09-11 15:30:13.000000000 +0200
+++ linux-2.4.28/arch/i386/kernel/microcode.c 2004-09-11 16:36:43.000000000 +0200
@@ -109,7 +109,10 @@
#define get_datasize(mc) \
(((microcode_t *)mc)->hdr.datasize ? \
((microcode_t *)mc)->hdr.datasize : DEFAULT_UCODE_DATASIZE)
-#define sigmatch(s1, s2, p1, p2) (((s1) == (s2)) && ((p1) & (p2)))
+
+#define sigmatch(s1, s2, p1, p2) \
+ (((s1) == (s2)) && (((p1) & (p2)) || (((p1) == 0) && ((p2) == 0))))
+
#define exttable_size(et) ((et)->count * EXT_SIGNATURE_SIZE + EXT_HEADER_SIZE)

/* serialize access to the physical write to MSR 0x79 */
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
\
 
 \ /
  Last update: 2005-03-22 14:08    [W:0.040 / U:0.188 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site