diff options
author | Ingo Molnar <mingo@elte.hu> | 2008-10-11 20:23:20 +0200 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-10-11 20:23:20 +0200 |
commit | 0afe2db21394820d32646a695eccf3fbfe6ab5c7 (patch) | |
tree | 6d925383f444a242ebc77d167420efb7e6ad8d99 /arch/x86/boot/cpu.c | |
parent | d84705969f898f294bc3fc32eca33580f14105bd (diff) | |
parent | 43603c8df97f246e8be7b9cc92a8f968a85108bd (diff) |
Merge branch 'x86/unify-cpu-detect' into x86-v28-for-linus-phase4-D
Conflicts:
arch/x86/kernel/cpu/common.c
arch/x86/kernel/signal_64.c
include/asm-x86/cpufeature.h
Diffstat (limited to 'arch/x86/boot/cpu.c')
-rw-r--r-- | arch/x86/boot/cpu.c | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/arch/x86/boot/cpu.c b/arch/x86/boot/cpu.c index 75298fe2edc..6ec6bb6e995 100644 --- a/arch/x86/boot/cpu.c +++ b/arch/x86/boot/cpu.c @@ -59,17 +59,18 @@ int validate_cpu(void) u32 e = err_flags[i]; for (j = 0; j < 32; j++) { - int n = (i << 5)+j; - if (*msg_strs < n) { + if (msg_strs[0] < i || + (msg_strs[0] == i && msg_strs[1] < j)) { /* Skip to the next string */ - do { - msg_strs++; - } while (*msg_strs); - msg_strs++; + msg_strs += 2; + while (*msg_strs++) + ; } if (e & 1) { - if (*msg_strs == n && msg_strs[1]) - printf("%s ", msg_strs+1); + if (msg_strs[0] == i && + msg_strs[1] == j && + msg_strs[2]) + printf("%s ", msg_strs+2); else printf("%d:%d ", i, j); } |