Changeset 7d60cf5 in mainline for kernel/arch/ia64/include/asm.h
- Timestamp:
- 2009-02-19T21:58:37Z (16 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 5cb223f
- Parents:
- 4b44099d
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/ia64/include/asm.h
r4b44099d r7d60cf5 42 42 #define IA64_IOSPACE_ADDRESS 0xE001000000000000ULL 43 43 44 static inline void pio_write_8(ioport_t port, uint8_t v) 45 { 44 static inline void pio_write_8(ioport8_t *port, uint8_t v) 45 { 46 uintptr_t prt = (uintptr_t) port; 47 46 48 *((uint8_t *)(IA64_IOSPACE_ADDRESS + 47 ((port & 0xfff) | ((port >> 2) << 12)))) = v; 48 49 asm volatile ("mf\n" ::: "memory"); 50 } 51 52 static inline void pio_write_16(ioport_t port, uint16_t v) 53 { 49 ((prt & 0xfff) | ((prt >> 2) << 12)))) = v; 50 51 asm volatile ("mf\n" ::: "memory"); 52 } 53 54 static inline void pio_write_16(ioport16_t *port, uint16_t v) 55 { 56 uintptr_t prt = (uintptr_t) port; 57 54 58 *((uint16_t *)(IA64_IOSPACE_ADDRESS + 55 ((port & 0xfff) | ((port >> 2) << 12)))) = v; 56 57 asm volatile ("mf\n" ::: "memory"); 58 } 59 60 static inline void pio_write_32(ioport_t port, uint32_t v) 61 { 59 ((prt & 0xfff) | ((prt >> 2) << 12)))) = v; 60 61 asm volatile ("mf\n" ::: "memory"); 62 } 63 64 static inline void pio_write_32(ioport32_t *port, uint32_t v) 65 { 66 uintptr_t prt = (uintptr_t) port; 67 62 68 *((uint32_t *)(IA64_IOSPACE_ADDRESS + 63 ((port & 0xfff) | ((port >> 2) << 12)))) = v; 64 65 asm volatile ("mf\n" ::: "memory"); 66 } 67 68 static inline uint8_t pio_read_8(ioport_t port) 69 { 69 ((prt & 0xfff) | ((prt >> 2) << 12)))) = v; 70 71 asm volatile ("mf\n" ::: "memory"); 72 } 73 74 static inline uint8_t pio_read_8(ioport8_t *port) 75 { 76 uintptr_t prt = (uintptr_t) port; 77 70 78 asm volatile ("mf\n" ::: "memory"); 71 79 72 80 return *((uint8_t *)(IA64_IOSPACE_ADDRESS + 73 ((port & 0xfff) | ((port >> 2) << 12)))); 74 } 75 76 static inline uint16_t pio_read_16(ioport_t port) 77 { 81 ((prt & 0xfff) | ((prt >> 2) << 12)))); 82 } 83 84 static inline uint16_t pio_read_16(ioport16_t *port) 85 { 86 uintptr_t prt = (uintptr_t) port; 87 78 88 asm volatile ("mf\n" ::: "memory"); 79 89 80 90 return *((uint16_t *)(IA64_IOSPACE_ADDRESS + 81 ((port & 0xffE) | ((port >> 2) << 12)))); 82 } 83 84 static inline uint32_t pio_read_32(ioport_t port) 85 { 91 ((prt & 0xffE) | ((prt >> 2) << 12)))); 92 } 93 94 static inline uint32_t pio_read_32(ioport32_t *port) 95 { 96 uintptr_t prt = (uintptr_t) port; 97 86 98 asm volatile ("mf\n" ::: "memory"); 87 99 88 100 return *((uint32_t *)(IA64_IOSPACE_ADDRESS + 89 ((p ort & 0xfff) | ((port >> 2) << 12))));101 ((prt & 0xfff) | ((prt >> 2) << 12)))); 90 102 } 91 103
Note:
See TracChangeset
for help on using the changeset viewer.