diff options
author | Harvey Harrison <harvey.harrison@gmail.com> | 2008-02-06 22:39:44 +0100 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-02-06 22:39:44 +0100 |
commit | deef79ef351225a9fe02e41a40cb125ed03a3e6b (patch) | |
tree | 3d9e555b8a1d636163def11675168bebac8a59bc /arch/x86/kernel/traps_32.c | |
parent | 4a5a77d106d6b43183662d4ad37a613bbaa9b829 (diff) | |
download | op-kernel-dev-deef79ef351225a9fe02e41a40cb125ed03a3e6b.zip op-kernel-dev-deef79ef351225a9fe02e41a40cb125ed03a3e6b.tar.gz |
x86: fix sparse error in traps_32.c
This was being used to ensure the proper alignment of the FXSAVE/FXRSTOR data.
This would create a sparse error in the _correct_ cases, hiding further
warnings. Use BUILD_BUG_ON instead.
Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/kernel/traps_32.c')
-rw-r--r-- | arch/x86/kernel/traps_32.c | 15 |
1 files changed, 5 insertions, 10 deletions
diff --git a/arch/x86/kernel/traps_32.c b/arch/x86/kernel/traps_32.c index 3cf72977..b22c01e 100644 --- a/arch/x86/kernel/traps_32.c +++ b/arch/x86/kernel/traps_32.c @@ -1176,17 +1176,12 @@ void __init trap_init(void) #endif set_trap_gate(19,&simd_coprocessor_error); + /* + * Verify that the FXSAVE/FXRSTOR data will be 16-byte aligned. + * Generate a build-time error if the alignment is wrong. + */ + BUILD_BUG_ON(offsetof(struct task_struct, thread.i387.fxsave) & 15); if (cpu_has_fxsr) { - /* - * Verify that the FXSAVE/FXRSTOR data will be 16-byte aligned. - * Generates a compile-time "error: zero width for bit-field" if - * the alignment is wrong. - */ - struct fxsrAlignAssert { - int _:!(offsetof(struct task_struct, - thread.i387.fxsave) & 15); - }; - printk(KERN_INFO "Enabling fast FPU save and restore... "); set_in_cr4(X86_CR4_OSFXSR); printk("done.\n"); |