24 lines
800 B
Diff
24 lines
800 B
Diff
|
# HG changeset patch
|
||
|
# User Jan Beulich <jbeulich@suse.com>
|
||
|
# Date 1323955725 -3600
|
||
|
# Node ID 99caac2e35df41cbece606f663cb5570a62613c3
|
||
|
# Parent ca5f588bd203c9207e0988fcc80f43d83eed5420
|
||
|
x86/AMD: use correct shift count when merging model and stepping
|
||
|
|
||
|
... for legacy errata matching.
|
||
|
|
||
|
Signed-off-by: Jan Beulich <jbeulich@suse.com>
|
||
|
Acked-by: Keir Fraser <keir@xen.org>
|
||
|
|
||
|
--- a/xen/arch/x86/cpu/amd.c
|
||
|
+++ b/xen/arch/x86/cpu/amd.c
|
||
|
@@ -216,7 +216,7 @@ int cpu_has_amd_erratum(const struct cpu
|
||
|
}
|
||
|
|
||
|
/* OSVW unavailable or ID unknown, match family-model-stepping range */
|
||
|
- ms = (cpu->x86_model << 8) | cpu->x86_mask;
|
||
|
+ ms = (cpu->x86_model << 4) | cpu->x86_mask;
|
||
|
while ((range = va_arg(ap, int))) {
|
||
|
if ((cpu->x86 == AMD_MODEL_RANGE_FAMILY(range)) &&
|
||
|
(ms >= AMD_MODEL_RANGE_START(range)) &&
|