/root/src/xen/xen/include/asm/i387.h
Line | Count | Source |
1 | | /* |
2 | | * include/asm-i386/i387.h |
3 | | * |
4 | | * Copyright (C) 1994 Linus Torvalds |
5 | | * |
6 | | * Pentium III FXSR, SSE support |
7 | | * General FPU state handling cleanups |
8 | | * Gareth Hughes <gareth@valinux.com>, May 2000 |
9 | | */ |
10 | | |
11 | | #ifndef __ASM_I386_I387_H |
12 | | #define __ASM_I386_I387_H |
13 | | |
14 | | #include <xen/types.h> |
15 | | #include <xen/percpu.h> |
16 | | |
17 | | /* Byte offset of the stored word size within the FXSAVE area/portion. */ |
18 | 551 | #define FPU_WORD_SIZE_OFFSET 511 |
19 | | |
20 | | struct ix87_env { |
21 | | uint16_t fcw, _res0; |
22 | | uint16_t fsw, _res1; |
23 | | uint16_t ftw, _res2; |
24 | | uint32_t fip; |
25 | | uint16_t fcs; |
26 | | uint16_t fop; |
27 | | uint32_t fdp; |
28 | | uint16_t fds, _res6; |
29 | | }; |
30 | | |
31 | | void vcpu_restore_fpu_eager(struct vcpu *v); |
32 | | void vcpu_restore_fpu_lazy(struct vcpu *v); |
33 | | void vcpu_save_fpu(struct vcpu *v); |
34 | | void save_fpu_enable(void); |
35 | | |
36 | | int vcpu_init_fpu(struct vcpu *v); |
37 | | void vcpu_destroy_fpu(struct vcpu *v); |
38 | | #endif /* __ASM_I386_I387_H */ |