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>
This commit is contained in:
Родитель
4a5a77d106
Коммит
deef79ef35
|
@ -1176,17 +1176,12 @@ void __init trap_init(void)
|
||||||
#endif
|
#endif
|
||||||
set_trap_gate(19,&simd_coprocessor_error);
|
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) {
|
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... ");
|
printk(KERN_INFO "Enabling fast FPU save and restore... ");
|
||||||
set_in_cr4(X86_CR4_OSFXSR);
|
set_in_cr4(X86_CR4_OSFXSR);
|
||||||
printk("done.\n");
|
printk("done.\n");
|
||||||
|
|
Загрузка…
Ссылка в новой задаче