Rev 125 | Rev 281 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 125 | Rev 257 | ||
---|---|---|---|
Line 47... | Line 47... | ||
47 | } |
47 | } |
48 | 48 | ||
49 | 49 | ||
50 | void fpu_lazy_context_save(fpu_context_t *fctx) |
50 | void fpu_lazy_context_save(fpu_context_t *fctx) |
51 | { |
51 | { |
52 | asm |
52 | return; |
53 | ( |
- | |
54 | "push %%eax;" |
53 | __asm__ ( |
55 | "mov 0x8(%%esp),%%eax;" |
- | |
56 | "fnsave (%%eax);" |
54 | "fnsave %0" |
57 | "pop %%eax;" |
- | |
58 | :"=m"(fctx) |
55 | : "=m"(fctx) |
59 | : |
- | |
60 | :"eax" |
- | |
61 | ); |
56 | ); |
62 | } |
57 | } |
63 | 58 | ||
64 | void fpu_lazy_context_restore(fpu_context_t *fctx) |
59 | void fpu_lazy_context_restore(fpu_context_t *fctx) |
65 | { |
60 | { |
66 | asm |
61 | return; |
67 | ( |
- | |
68 | "push %%eax;" |
62 | __asm__ ( |
69 | "mov 0x8(%%esp),%%eax;" |
- | |
70 | "frstor (%%eax);" |
63 | "frstor %0" |
71 | "pop %%eax;" |
- | |
72 | :"=m"(fctx) |
64 | : "=m"(fctx) |
73 | : |
- | |
74 | :"eax" |
- | |
75 | ); |
65 | ); |
76 | } |
66 | } |
77 | 67 | ||
78 | void fpu_init(void) |
68 | void fpu_init(void) |
79 | { |
69 | { |
80 | asm( |
70 | asm( |