Changeset 105a0dc in mainline for arch/ia32/include/asm.h


Ignore:
Timestamp:
2005-09-18T19:37:14Z (20 years ago)
Author:
Sergey Bondari <bondari@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
650d976
Parents:
e158717
Message:

Get from port functions are now inline

File:
1 edited

Legend:

Unmodified
Added
Removed
  • arch/ia32/include/asm.h

    re158717 r105a0dc  
    3939extern void interrupt_handlers(void);
    4040
    41 extern __u8 inb(int port);
    42 extern __u16 inw(int port);
    43 extern __u32 inl(int port);
    44 
    4541extern void enable_l_apic_in_msr(void);
    4642
     
    9995static inline void outw(__u16 port, __u16 val) { __asm__ volatile ("outw %w0, %w1\n" : : "a" (val), "d" (port) ); }
    10096
    101 
    102 
    10397/** Double word to port
    10498 *
     
    109103 */
    110104static 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 */
     113static 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 */
     122static 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 */
     131static inline __u32 inl(__u16 port) { __u32 val; __asm__ volatile ("inl %w1, %l0 \n" : "=a" (val) : "d" (port) ); return val; }
    111132
    112133/** Set priority level low
Note: See TracChangeset for help on using the changeset viewer.