Fork us on GitHub Follow us on Facebook Follow us on Twitter

Changeset 314f3a3c in mainline


Ignore:
Timestamp:
2012-02-22T22:23:15Z (8 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
master
Children:
f31aed5
Parents:
0428f77
Message:

Make sure mf.a is issued after each PIO.

Files:
2 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/ia64/include/asm.h

    r0428f77 r314f3a3c  
    6161        asm volatile (
    6262                "mf\n"
     63                "mf.a\n"
    6364                ::: "memory"
    6465        );
     
    7475        asm volatile (
    7576                "mf\n"
     77                "mf.a\n"
    7678                ::: "memory"
    7779        );
     
    8789        asm volatile (
    8890                "mf\n"
     91                "mf.a\n"
    8992                ::: "memory"
    9093        );
     
    104107        else
    105108                v = *port;
     109
     110        asm volatile (
     111                "mf.a\n"
     112                ::: "memory"
     113        );
    106114       
    107115        return v;
     
    121129        else
    122130                v = *port;
     131
     132        asm volatile (
     133                "mf.a\n"
     134                ::: "memory"
     135        );
    123136       
    124137        return v;
     
    138151        else
    139152                v = *port;
     153
     154        asm volatile (
     155                "mf.a\n"
     156                ::: "memory"
     157        );
    140158
    141159        return v;
  • uspace/lib/c/arch/ia64/include/ddi.h

    r0428f77 r314f3a3c  
    6262
    6363        asm volatile ("mf\n" ::: "memory");
     64        asm volatile ("mf.a\n" ::: "memory");
    6465}
    6566
     
    7677
    7778        asm volatile ("mf\n" ::: "memory");
     79        asm volatile ("mf.a\n" ::: "memory");
    7880}
    7981
     
    9092
    9193        asm volatile ("mf\n" ::: "memory");
     94        asm volatile ("mf.a\n" ::: "memory");
    9295}
    9396
     
    106109                v = *port;
    107110        }
     111
     112        asm volatile ("mf.a\n" ::: "memory");
    108113
    109114        return v;
     
    125130        }
    126131
     132        asm volatile ("mf.a\n" ::: "memory");
     133
    127134        return v;
    128135}
     
    143150        }
    144151
     152        asm volatile ("mf.a\n" ::: "memory");
     153
    145154        return v;
    146155}
Note: See TracChangeset for help on using the changeset viewer.