FPU Exception Emulation - Emulation of FPU exceptions
More...
#include <xtf.h>
Go to the source code of this file.
FPU Exception Emulation - Emulation of FPU exceptions
Definition in file main.c.
◆ CR0_SYM
#define CR0_SYM |
( |
|
... | ) |
TOK_OR(X86_CR0_, ##__VA_ARGS__) |
◆ CR0_MASK
#define CR0_MASK CR0_SYM(EM, MP, TS) |
◆ probe_x87()
◆ probe_x87_wait()
◆ probe_mmx()
◆ probe_sse()
◆ probe_avx()
◆ run_sequence()
void run_sequence |
( |
const struct test_cfg * |
seq, |
|
|
unsigned int |
nr, |
|
|
unsigned int(*)(bool) |
fn, |
|
|
bool |
force, |
|
|
exinfo_t |
override |
|
) |
| |
◆ run_tests()
void run_tests |
( |
bool |
force | ) |
|
◆ test_main()
To be implemented by each test, as its entry point.
Definition at line 283 of file main.c.
◆ test_title
const char test_title[] = "FPU Exception Emulation" |
The title of the test.
Definition at line 38 of file main.c.
◆ default_cr0
unsigned long default_cr0 |
|
static |
◆ x87
Initial value:=
{
}
#define EXINFO_SYM(exc, ec)
x87 coprocessor.
Should raise #NM if emulation is enabled (no coprocessor available) or if the task has switched.
Definition at line 55 of file main.c.
◆ x87_wait
Initial value:
The x87 wait
instruction.
This instruction behaves differently, and should only raise #NM when monitoring the coprocessor and the task has switched.
Definition at line 88 of file main.c.
◆ mmx_sse
Initial value:
MMX and SSE instructions.
Emulation is unsupported (thus raising #UD), but #NM should be raised if the task has been switched.
Definition at line 120 of file main.c.
◆ avx
Initial value:
AVX instructions.
The emulation flag is meaningless, but #NM should be raised if the task has been switched.
Definition at line 168 of file main.c.