Changes in uspace/lib/c/arch/ia64/include/ddi.h [314f3a3c:63f8966] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/arch/ia64/include/ddi.h
r314f3a3c r63f8966 52 52 static inline void pio_write_8(ioport8_t *port, uint8_t v) 53 53 { 54 if (port < (ioport8_t *) IO_SPACE_BOUNDARY) { 55 uintptr_t prt = (uintptr_t) port; 54 uintptr_t prt = (uintptr_t) port; 56 55 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; 62 58 63 59 asm volatile ("mf\n" ::: "memory"); 64 asm volatile ("mf.a\n" ::: "memory");65 60 } 66 61 67 62 static inline void pio_write_16(ioport16_t *port, uint16_t v) 68 63 { 69 if (port < (ioport16_t *) IO_SPACE_BOUNDARY) { 70 uintptr_t prt = (uintptr_t) port; 64 uintptr_t prt = (uintptr_t) port; 71 65 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; 77 68 78 69 asm volatile ("mf\n" ::: "memory"); 79 asm volatile ("mf.a\n" ::: "memory");80 70 } 81 71 82 72 static inline void pio_write_32(ioport32_t *port, uint32_t v) 83 73 { 84 if (port < (ioport32_t *) IO_SPACE_BOUNDARY) { 85 uintptr_t prt = (uintptr_t) port; 74 uintptr_t prt = (uintptr_t) port; 86 75 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; 92 78 93 79 asm volatile ("mf\n" ::: "memory"); 94 asm volatile ("mf.a\n" ::: "memory");95 80 } 96 81 97 82 static inline uint8_t pio_read_8(ioport8_t *port) 98 83 { 99 uint 8_t v;84 uintptr_t prt = (uintptr_t) port; 100 85 101 86 asm volatile ("mf\n" ::: "memory"); 102 87 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)))); 115 90 } 116 91 117 92 static inline uint16_t pio_read_16(ioport16_t *port) 118 93 { 119 uint 16_t v;94 uintptr_t prt = (uintptr_t) port; 120 95 121 96 asm volatile ("mf\n" ::: "memory"); 122 97 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)))); 135 100 } 136 101 137 102 static inline uint32_t pio_read_32(ioport32_t *port) 138 103 { 139 uint 32_t v;104 uintptr_t prt = (uintptr_t) port; 140 105 141 106 asm volatile ("mf\n" ::: "memory"); 142 107 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)))); 155 110 } 156 111
Note:
See TracChangeset
for help on using the changeset viewer.