Changeset 3772e2c in rtems
- Timestamp:
- 11/23/99 14:54:42 (24 years ago)
- Branches:
- 4.10, 4.11, 4.8, 4.9, 5, master
- Children:
- 748cdca9
- Parents:
- a1bcc6e9
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
c/src/lib/libcpu/i386/cpu.h
ra1bcc6e9 r3772e2c 179 179 180 180 #define i386_outport_byte( _port, _value ) \ 181 181 do { register unsigned short __port = _port; \ 182 182 register unsigned char __value = _value; \ 183 183 \ 184 asm volatile ( "outb %0,%1" : "=a" (__value), "=d" (__port) \ 185 : "0" (__value), "1" (__port) \ 186 ); \ 187 } 184 asm volatile ( "outb %0,%1" : : "a" (__value), "d" (__port) ); \ 185 } while (0) 188 186 189 187 #define i386_outport_word( _port, _value ) \ 190 188 do { register unsigned short __port = _port; \ 191 189 register unsigned short __value = _value; \ 192 190 \ 193 asm volatile ( "outw %0,%1" : "=a" (__value), "=d" (__port) \ 194 : "0" (__value), "1" (__port) \ 195 ); \ 196 } 191 asm volatile ( "outw %0,%1" : : "a" (__value), "d" (__port) ); \ 192 } while (0) 197 193 198 194 #define i386_outport_long( _port, _value ) \ 199 195 do { register unsigned short __port = _port; \ 200 196 register unsigned int __value = _value; \ 201 197 \ 202 asm volatile ( "outl %0,%1" : "=a" (__value), "=d" (__port) \ 203 : "0" (__value), "1" (__port) \ 204 ); \ 205 } 198 asm volatile ( "outl %0,%1" : : "a" (__value), "d" (__port) ); \ 199 } while (0) 206 200 207 201 #define i386_inport_byte( _port, _value ) \ 208 202 do { register unsigned short __port = _port; \ 209 203 register unsigned char __value = 0; \ 210 204 \ 211 asm volatile ( "inb %1,%0" : "=a" (__value) , "=d" (__port)\212 : " 0" (__value), "1" (__port) \205 asm volatile ( "inb %1,%0" : "=a" (__value) \ 206 : "d" (__port) \ 213 207 ); \ 214 208 _value = __value; \ 215 } 209 } while (0) 216 210 217 211 #define i386_inport_word( _port, _value ) \ 218 212 do { register unsigned short __port = _port; \ 219 213 register unsigned short __value = 0; \ 220 214 \ 221 asm volatile ( "inw %1,%0" : "=a" (__value) , "=d" (__port)\222 : " 0" (__value), "1" (__port) \215 asm volatile ( "inw %1,%0" : "=a" (__value) \ 216 : "d" (__port) \ 223 217 ); \ 224 218 _value = __value; \ 225 } 219 } while (0) 226 220 227 221 #define i386_inport_long( _port, _value ) \ 228 222 do { register unsigned short __port = _port; \ 229 223 register unsigned int __value = 0; \ 230 224 \ 231 asm volatile ( "inl %1,%0" : "=a" (__value) , "=d" (__port)\232 : " 0" (__value), "1" (__port) \225 asm volatile ( "inl %1,%0" : "=a" (__value) \ 226 : "d" (__port) \ 233 227 ); \ 234 228 _value = __value; \ 235 } 229 } while (0) 236 230 237 231 /*
Note: See TracChangeset
for help on using the changeset viewer.