Subversion Repositories HelenOS-historic

Rev

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(