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
  • uspace/lib/libc/arch/ia64/include/ddi.h

    r3cc6a52 ra1d89ad  
    5454        uintptr_t prt = (uintptr_t) port;
    5555
    56         *((uint8_t *)(IA64_IOSPACE_ADDRESS +
     56        *((ioport8_t *)(IA64_IOSPACE_ADDRESS +
    5757            ((prt & 0xfff) | ((prt >> 2) << 12)))) = v;
    5858
     
    6464        uintptr_t prt = (uintptr_t) port;
    6565
    66         *((uint16_t *)(IA64_IOSPACE_ADDRESS +
     66        *((ioport16_t *)(IA64_IOSPACE_ADDRESS +
    6767            ((prt & 0xfff) | ((prt >> 2) << 12)))) = v;
    6868
     
    7474        uintptr_t prt = (uintptr_t) port;
    7575
    76         *((uint32_t *)(IA64_IOSPACE_ADDRESS +
     76        *((ioport32_t *)(IA64_IOSPACE_ADDRESS +
    7777            ((prt & 0xfff) | ((prt >> 2) << 12)))) = v;
    7878
     
    8686        asm volatile ("mf\n" ::: "memory");
    8787
    88         return *((uint8_t *)(IA64_IOSPACE_ADDRESS +
     88        return *((ioport8_t *)(IA64_IOSPACE_ADDRESS +
    8989            ((prt & 0xfff) | ((prt >> 2) << 12))));
    9090}
     
    9696        asm volatile ("mf\n" ::: "memory");
    9797
    98         return *((uint16_t *)(IA64_IOSPACE_ADDRESS +
     98        return *((ioport16_t *)(IA64_IOSPACE_ADDRESS +
    9999            ((prt & 0xfff) | ((prt >> 2) << 12))));
    100100}
     
    106106        asm volatile ("mf\n" ::: "memory");
    107107
    108         return *((uint32_t *)(IA64_IOSPACE_ADDRESS +
     108        return *((ioport32_t *)(IA64_IOSPACE_ADDRESS +
    109109            ((prt & 0xfff) | ((prt >> 2) << 12))));
    110110}
Note: See TracChangeset for help on using the changeset viewer.