Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/c/arch/ia64/include/ddi.h

    r314f3a3c r63f8966  
    5252static inline void pio_write_8(ioport8_t *port, uint8_t v)
    5353{
    54         if (port < (ioport8_t *) IO_SPACE_BOUNDARY) {
    55                 uintptr_t prt = (uintptr_t) port;
     54        uintptr_t prt = (uintptr_t) port;
    5655
    57                 *((ioport8_t *)(IA64_IOSPACE_ADDRESS +
    58                     ((prt & 0xfff) | ((prt >> 2) << 12)))) = v;
    59         } else {
    60                 *port = v;
    61         }
     56        *((ioport8_t *)(IA64_IOSPACE_ADDRESS +
     57            ((prt & 0xfff) | ((prt >> 2) << 12)))) = v;
    6258
    6359        asm volatile ("mf\n" ::: "memory");
    64         asm volatile ("mf.a\n" ::: "memory");
    6560}
    6661
    6762static inline void pio_write_16(ioport16_t *port, uint16_t v)
    6863{
    69         if (port < (ioport16_t *) IO_SPACE_BOUNDARY) {
    70                 uintptr_t prt = (uintptr_t) port;
     64        uintptr_t prt = (uintptr_t) port;
    7165
    72                 *((ioport16_t *)(IA64_IOSPACE_ADDRESS +
    73                     ((prt & 0xfff) | ((prt >> 2) << 12)))) = v;
    74         } else {
    75                 *port = v;
    76         }
     66        *((ioport16_t *)(IA64_IOSPACE_ADDRESS +
     67            ((prt & 0xfff) | ((prt >> 2) << 12)))) = v;
    7768
    7869        asm volatile ("mf\n" ::: "memory");
    79         asm volatile ("mf.a\n" ::: "memory");
    8070}
    8171
    8272static inline void pio_write_32(ioport32_t *port, uint32_t v)
    8373{
    84         if (port < (ioport32_t *) IO_SPACE_BOUNDARY) {
    85                 uintptr_t prt = (uintptr_t) port;
     74        uintptr_t prt = (uintptr_t) port;
    8675
    87                 *((ioport32_t *)(IA64_IOSPACE_ADDRESS +
    88                     ((prt & 0xfff) | ((prt >> 2) << 12)))) = v;
    89         } else {
    90                 *port = v;
    91         }
     76        *((ioport32_t *)(IA64_IOSPACE_ADDRESS +
     77            ((prt & 0xfff) | ((prt >> 2) << 12)))) = v;
    9278
    9379        asm volatile ("mf\n" ::: "memory");
    94         asm volatile ("mf.a\n" ::: "memory");
    9580}
    9681
    9782static inline uint8_t pio_read_8(ioport8_t *port)
    9883{
    99         uint8_t v;
     84        uintptr_t prt = (uintptr_t) port;
    10085
    10186        asm volatile ("mf\n" ::: "memory");
    10287
    103         if (port < (ioport8_t *) IO_SPACE_BOUNDARY) {
    104                 uintptr_t prt = (uintptr_t) port;
    105 
    106                 v = *((ioport8_t *)(IA64_IOSPACE_ADDRESS +
    107                     ((prt & 0xfff) | ((prt >> 2) << 12))));
    108         } else {
    109                 v = *port;
    110         }
    111 
    112         asm volatile ("mf.a\n" ::: "memory");
    113 
    114         return v;
     88        return *((ioport8_t *)(IA64_IOSPACE_ADDRESS +
     89            ((prt & 0xfff) | ((prt >> 2) << 12))));
    11590}
    11691
    11792static inline uint16_t pio_read_16(ioport16_t *port)
    11893{
    119         uint16_t v;
     94        uintptr_t prt = (uintptr_t) port;
    12095
    12196        asm volatile ("mf\n" ::: "memory");
    12297
    123         if (port < (ioport16_t *) IO_SPACE_BOUNDARY) {
    124                 uintptr_t prt = (uintptr_t) port;
    125 
    126                 v = *((ioport16_t *)(IA64_IOSPACE_ADDRESS +
    127                     ((prt & 0xfff) | ((prt >> 2) << 12))));
    128         } else {
    129                 v = *port;
    130         }
    131 
    132         asm volatile ("mf.a\n" ::: "memory");
    133 
    134         return v;
     98        return *((ioport16_t *)(IA64_IOSPACE_ADDRESS +
     99            ((prt & 0xfff) | ((prt >> 2) << 12))));
    135100}
    136101
    137102static inline uint32_t pio_read_32(ioport32_t *port)
    138103{
    139         uint32_t v;
     104        uintptr_t prt = (uintptr_t) port;
    140105
    141106        asm volatile ("mf\n" ::: "memory");
    142107
    143         if (port < (ioport32_t *) IO_SPACE_BOUNDARY) {
    144                 uintptr_t prt = (uintptr_t) port;
    145 
    146                 v = *((ioport32_t *)(IA64_IOSPACE_ADDRESS +
    147                     ((prt & 0xfff) | ((prt >> 2) << 12))));
    148         } else {
    149                 v = *port;
    150         }
    151 
    152         asm volatile ("mf.a\n" ::: "memory");
    153 
    154         return v;
     108        return *((ioport32_t *)(IA64_IOSPACE_ADDRESS +
     109            ((prt & 0xfff) | ((prt >> 2) << 12))));
    155110}
    156111
Note: See TracChangeset for help on using the changeset viewer.