Rev 49 | Rev 52 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 49 | Rev 50 | ||
---|---|---|---|
Line 28... | Line 28... | ||
28 | 28 | ||
29 | .text |
29 | .text |
30 | 30 | ||
31 | .global context_save |
31 | .global context_save |
32 | .global context_restore |
32 | .global context_restore |
33 | - | ||
- | 33 | .global fpu_context_save |
|
- | 34 | .global fpu_context_restore |
|
- | 35 | .global fpu_lazy_context_save |
|
- | 36 | .global fpu_lazy_context_restore |
|
34 | 37 | ||
35 | # |
38 | # |
36 | # save context of this CPU |
39 | # save context of this CPU |
37 | context_save: |
40 | context_save: |
38 | push %ebx |
41 | push %ebx |
Line 74... | Line 77... | ||
74 | movl %eax,(%esp) # ctx->pc -> saver's return %eip |
77 | movl %eax,(%esp) # ctx->pc -> saver's return %eip |
75 | xorl %eax,%eax # context_restore returns 0 |
78 | xorl %eax,%eax # context_restore returns 0 |
76 | ret |
79 | ret |
77 | 80 | ||
78 | 81 | ||
79 | .global fpu_context_save |
- | |
80 | fpu_context_save: |
82 | fpu_context_save: |
81 | ret |
83 | ret |
82 | .global fpu_context_restore |
- | |
- | 84 | ||
83 | fpu_context_restore: |
85 | fpu_context_restore: |
84 | ret |
86 | ret |
85 | 87 | ||
86 | .global fpu_lazy_context_save |
- | |
87 | fpu_lazy_context_save: |
88 | fpu_lazy_context_save: |
- | 89 | pushl %eax |
|
88 | mov 4(%esp),%eax; |
90 | mov 8(%esp),%eax |
89 | fxsave (%eax) |
91 | fxsave (%eax) |
90 | xor %eax,%eax; |
92 | popl %eax |
91 | ret; |
93 | ret |
92 | .global fpu_lazy_context_restore |
- | |
- | 94 | ||
93 | fpu_lazy_context_restore: |
95 | fpu_lazy_context_restore: |
- | 96 | pushl %eax |
|
94 | mov 4(%esp),%eax; |
97 | mov 8(%esp),%eax |
95 | fxrstor (%eax) |
98 | fxrstor (%eax) |
96 | xor %eax,%eax; |
99 | popl %eax |
97 | ret; |
100 | ret |
98 | 101 |