Changeset f24d300 in mainline for kernel/arch/amd64/src/cpu/cpu.c


Ignore:
Timestamp:
2009-03-03T15:52:55Z (16 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
e762b43
Parents:
add04f7
Message:

better inline assembler readability using the new symbolic syntax

File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/amd64/src/cpu/cpu.c

    radd04f7 rf24d300  
    7878{
    7979        asm volatile (
    80                 "movq %%cr0, %%rax;"
    81                 "btsq $1, %%rax;" /* cr0.mp */
    82                 "btrq $2, %%rax;"  /* cr0.em */
    83                 "movq %%rax, %%cr0;"
    84 
    85                 "movq %%cr4, %%rax;"
    86                 "bts $9, %%rax;" /* cr4.osfxsr */
    87                 "movq %%rax, %%cr4;"
    88                 :
    89                 :
    90                 :"%rax"
    91                 );
     80                "movq %%cr0, %%rax\n"
     81                "btsq $1, %%rax\n"  /* cr0.mp */
     82                "btrq $2, %%rax\n"  /* cr0.em */
     83                "movq %%rax, %%cr0\n"
     84               
     85                "movq %%cr4, %%rax\n"
     86                "bts $9, %%rax\n"   /* cr4.osfxsr */
     87                "movq %%rax, %%cr4\n"
     88                ::: "%rax"
     89        );
    9290}
    9391
    94 /** Set the TS flag to 1. 
     92/** Set the TS flag to 1.
    9593 *
    9694 * If a thread accesses coprocessor, exception is run, which
     
    10098void fpu_disable(void)
    10199{
    102         asm     volatile (
    103                 "mov %%cr0,%%rax;"
    104                 "bts $3,%%rax;"
    105                 "mov %%rax,%%cr0;"
    106                 :
    107                 :
    108                 :"%rax"
    109                 );
     100        asm volatile (
     101                "mov %%cr0, %%rax\n"
     102                "bts $3, %%rax\n"
     103                "mov %%rax, %%cr0\n"
     104                ::: "%rax"
     105        );
    110106}
    111107
    112108void fpu_enable(void)
    113109{
    114         asm     volatile (
    115                 "mov %%cr0,%%rax;"
    116                 "btr $3,%%rax;"
    117                 "mov %%rax,%%cr0;"
    118                 :
    119                 :
    120                 :"%rax"
    121                 );     
     110        asm volatile (
     111                "mov %%cr0, %%rax\n"
     112                "btr $3, %%rax\n"
     113                "mov %%rax, %%cr0\n"
     114                ::: "%rax"
     115        );
    122116}
    123117
Note: See TracChangeset for help on using the changeset viewer.