Changeset 105a0dc in mainline for arch/ia32/include/asm.h
- Timestamp:
- 2005-09-18T19:37:14Z (20 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 650d976
- Parents:
- e158717
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
arch/ia32/include/asm.h
re158717 r105a0dc 39 39 extern void interrupt_handlers(void); 40 40 41 extern __u8 inb(int port);42 extern __u16 inw(int port);43 extern __u32 inl(int port);44 45 41 extern void enable_l_apic_in_msr(void); 46 42 … … 99 95 static inline void outw(__u16 port, __u16 val) { __asm__ volatile ("outw %w0, %w1\n" : : "a" (val), "d" (port) ); } 100 96 101 102 103 97 /** Double word to port 104 98 * … … 109 103 */ 110 104 static inline void outl(__u16 port, __u32 val) { __asm__ volatile ("outl %l0, %w1\n" : : "a" (val), "d" (port) ); } 105 106 /** Byte from port 107 * 108 * Get byte from port 109 * 110 * @param port Port to read from 111 * @return Value read 112 */ 113 static inline __u8 inb(__u16 port) { __u8 val; __asm__ volatile ("inb %w1, %b0 \n" : "=a" (val) : "d" (port) ); return val; } 114 115 /** Word from port 116 * 117 * Get word from port 118 * 119 * @param port Port to read from 120 * @return Value read 121 */ 122 static inline __u16 inw(__u16 port) { __u16 val; __asm__ volatile ("inw %w1, %w0 \n" : "=a" (val) : "d" (port) ); return val; } 123 124 /** Double word from port 125 * 126 * Get double word from port 127 * 128 * @param port Port to read from 129 * @return Value read 130 */ 131 static inline __u32 inl(__u16 port) { __u32 val; __asm__ volatile ("inl %w1, %l0 \n" : "=a" (val) : "d" (port) ); return val; } 111 132 112 133 /** Set priority level low
Note:
See TracChangeset
for help on using the changeset viewer.