mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2024-12-29 04:50:03 +01:00
684b081a16
The ucontext->x86_fxsave is initialize as 512 bytes of zeros, but it is not a valid value to be set onto FPU registers, causing a General Protection Fault: Interrupt 0x0d (General Protection Fault) while handling 0x07 (Device not available) EAX=0012f4c0 ECX=001336e4 EDX=001334ac EBX=001336e0 ESP=00123784 EBP=001237c8 ESI=00000200 EDI=00000000 Error code=00000000 CR0=80010031 CR2=00000000 CR3=0012d000 CR4=000001e0 EIP=0000:80010031 EFLAGS=0012d000 <stack trace> 00000000 ??? </stack trace> Halting. So lets copy the initial state of FPU registers before FPU is used and set it as the initial state of FPU to new threads(coroutine). |
||
---|---|---|
.. | ||
include | ||
Makefile | ||
Makefile.include | ||
nop_nop_nop.inc | ||
x86_atomic.c | ||
x86_cmos.c | ||
x86_glue.c | ||
x86_hwtimer.c | ||
x86_interrupts.c | ||
x86_memory.c | ||
x86_pci_init.c | ||
x86_pci_strings.c | ||
x86_pci.c | ||
x86_pic.c | ||
x86_pit.c | ||
x86_reboot.c | ||
x86_rtc.c | ||
x86_startup.c | ||
x86_threading.c | ||
x86_uart.c | ||
x86_ucontext.c | ||
x86_videoram.c |