Changeset ee06f2a in mainline for kernel/arch/ia32/include/asm.h


Ignore:
Timestamp:
2009-02-15T15:28:00Z (16 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
2d96f4d
Parents:
e7f2ad68
Message:

Introduce a more platform-neutral name for programmed I/O.

The new API looks like pio_read_n() or pio_write_n(), where n is 8, 16 or 32.
The old API (i.e. inb(), inw(), inl(), outb() outw(), outl()) may have made
some people think that the interface is only to be used with the separate I/O
space. That's not the case. This API is to be implemented on all platforms
so that we can finally have really generic kernel device drivers.

File:
1 edited

Legend:

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

    re7f2ad68 ree06f2a  
    106106 * @param val Value to write
    107107 */
    108 static inline void outb(uint16_t port, uint8_t val)
     108static inline void pio_write_8(uint16_t port, uint8_t val)
    109109{
    110110        asm volatile ("outb %b0, %w1\n" : : "a" (val), "d" (port) );
     
    118118 * @param val Value to write
    119119 */
    120 static inline void outw(uint16_t port, uint16_t val)
     120static inline void pio_write_16(uint16_t port, uint16_t val)
    121121{
    122122        asm volatile ("outw %w0, %w1\n" : : "a" (val), "d" (port) );
     
    130130 * @param val Value to write
    131131 */
    132 static inline void outl(uint16_t port, uint32_t val)
     132static inline void pio_write_32(uint16_t port, uint32_t val)
    133133{
    134134        asm volatile ("outl %l0, %w1\n" : : "a" (val), "d" (port) );
     
    142142 * @return Value read
    143143 */
    144 static inline uint8_t inb(uint16_t port)
     144static inline uint8_t pio_read_8(uint16_t port)
    145145{
    146146        uint8_t val;
     
    157157 * @return Value read
    158158 */
    159 static inline uint16_t inw(uint16_t port)
     159static inline uint16_t pio_read_16(uint16_t port)
    160160{
    161161        uint16_t val;
     
    172172 * @return Value read
    173173 */
    174 static inline uint32_t inl(uint16_t port)
     174static inline uint32_t pio_read_32(uint16_t port)
    175175{
    176176        uint32_t val;
Note: See TracChangeset for help on using the changeset viewer.