Changeset a1d89ad in mainline for kernel/arch/ia64/include/asm.h


Ignore:
Timestamp:
2009-04-13T20:34:25Z (15 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
37c312a
Parents:
3cc6a52
Message:

Prevent optimizing ia64's PIO away.
This solves the frequent hangs of HelenOS/ia64 in i8042_init().

File:
1 edited

Legend:

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

    r3cc6a52 ra1d89ad  
    4747        uintptr_t prt = (uintptr_t) port;
    4848
    49         *((uint8_t *)(IA64_IOSPACE_ADDRESS +
     49        *((ioport8_t *)(IA64_IOSPACE_ADDRESS +
    5050            ((prt & 0xfff) | ((prt >> 2) << 12)))) = v;
    5151
     
    5757        uintptr_t prt = (uintptr_t) port;
    5858
    59         *((uint16_t *)(IA64_IOSPACE_ADDRESS +
     59        *((ioport16_t *)(IA64_IOSPACE_ADDRESS +
    6060            ((prt & 0xfff) | ((prt >> 2) << 12)))) = v;
    6161
     
    6767        uintptr_t prt = (uintptr_t) port;
    6868
    69         *((uint32_t *)(IA64_IOSPACE_ADDRESS +
     69        *((ioport32_t *)(IA64_IOSPACE_ADDRESS +
    7070            ((prt & 0xfff) | ((prt >> 2) << 12)))) = v;
    7171
     
    7979        asm volatile ("mf\n" ::: "memory");
    8080
    81         return *((uint8_t *)(IA64_IOSPACE_ADDRESS +
     81        return *((ioport8_t *)(IA64_IOSPACE_ADDRESS +
    8282            ((prt & 0xfff) | ((prt >> 2) << 12))));
    8383}
     
    8989        asm volatile ("mf\n" ::: "memory");
    9090
    91         return *((uint16_t *)(IA64_IOSPACE_ADDRESS +
     91        return *((ioport16_t *)(IA64_IOSPACE_ADDRESS +
    9292            ((prt & 0xfff) | ((prt >> 2) << 12))));
    9393}
     
    9999        asm volatile ("mf\n" ::: "memory");
    100100
    101         return *((uint32_t *)(IA64_IOSPACE_ADDRESS +
     101        return *((ioport32_t *)(IA64_IOSPACE_ADDRESS +
    102102            ((prt & 0xfff) | ((prt >> 2) << 12))));
    103103}
Note: See TracChangeset for help on using the changeset viewer.