diff options
author | Borislav Petkov <bp@suse.de> | 2013-03-20 15:07:23 +0100 |
---|---|---|
committer | H. Peter Anvin <hpa@zytor.com> | 2013-04-02 19:12:52 +0200 |
commit | 65fc985b37dc241c4db7cd32adcbc989193fe3c8 (patch) | |
tree | b530d4cb1b0a42ad8c220639aa7f9f970e8774df /arch/x86/kernel/cpu/common.c | |
parent | Linux 3.9-rc5 (diff) | |
download | linux-65fc985b37dc241c4db7cd32adcbc989193fe3c8.tar.xz linux-65fc985b37dc241c4db7cd32adcbc989193fe3c8.zip |
x86, cpu: Expand cpufeature facility to include cpu bugs
We add another 32-bit vector at the end of the ->x86_capability
bitvector which collects bugs present in CPUs. After all, a CPU bug is a
kind of a capability, albeit a strange one.
Signed-off-by: Borislav Petkov <bp@suse.de>
Link: http://lkml.kernel.org/r/1363788448-31325-2-git-send-email-bp@alien8.de
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Diffstat (limited to 'arch/x86/kernel/cpu/common.c')
-rw-r--r-- | arch/x86/kernel/cpu/common.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/x86/kernel/cpu/common.c b/arch/x86/kernel/cpu/common.c index d814772c5bed..22018f70a671 100644 --- a/arch/x86/kernel/cpu/common.c +++ b/arch/x86/kernel/cpu/common.c @@ -920,6 +920,10 @@ static void __cpuinit identify_cpu(struct cpuinfo_x86 *c) /* AND the already accumulated flags with these */ for (i = 0; i < NCAPINTS; i++) boot_cpu_data.x86_capability[i] &= c->x86_capability[i]; + + /* OR, i.e. replicate the bug flags */ + for (i = NCAPINTS; i < NCAPINTS + NBUGINTS; i++) + c->x86_capability[i] |= boot_cpu_data.x86_capability[i]; } /* Init Machine Check Exception if available. */ |