Messages in this thread |  | | Subject | APIC, AMD-K6/2 -mcpu=586... | From | Bill Pringlemeir <> | Date | 18 May 2001 09:38:01 -0400 |
| |
Hello,
I have the 2.4.4 distribution from kernel.org.
"http://www.kernel.org/pub/linux/kernel/v2.4/"
I have a Mandrake system and selected the AMD processors and APIC option. The egcs-2.91.66 compiler with -mcpu=586. It appears that the structure alignment of the floating point registers was not correct under this configuration. This code was being compiled and a linker error produced.
if (offsetof(struct task_struct, thread.i387.fxsave) & 15) { /* printk("WJP: value is %x.\n", offsetof(struct task_struct, thread.i387.fxsave) & 15); */ /* while(1); */ extern void __buggy_fxsr_alignment(void); __buggy_fxsr_alignment(); }
The alignment was to 8 bytes instead of 16. I added some padding to the thread structure to produce an alignment of 16 and the code compiled and seemed to work fine; I used it for a few days.
[in processor.h] /* floating point info */ /* unsigned char wjpDummy[8]; */ union i387_union i387;
I did not see any mention of this in the archives [but the volume of mailings is large... which I may be contributing to]. I recompiled without the padding and APIC support and everything seems to be fine, but _VERY_ slow. Is this change ok locally? Has it been addressed in a patch?
regards, Bill Pringlemeir.
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |