diff options
| author | Michael Brown | 2008-10-12 03:11:50 +0200 |
|---|---|---|
| committer | Michael Brown | 2008-10-12 03:15:34 +0200 |
| commit | aef6d0df5cf4e4c917e44d6b145802fa206da246 (patch) | |
| tree | 69218e362822816b15dc0e9b4c95b19a6c943778 /src/arch/i386/include | |
| parent | [i386] Remove obsolete functions from virtaddr.h (diff) | |
| download | ipxe-aef6d0df5cf4e4c917e44d6b145802fa206da246.tar.gz ipxe-aef6d0df5cf4e4c917e44d6b145802fa206da246.tar.xz ipxe-aef6d0df5cf4e4c917e44d6b145802fa206da246.zip | |
[ioapi] Absorb virt_to_phys() and phys_to_virt() into the I/O API
Diffstat (limited to 'src/arch/i386/include')
| -rw-r--r-- | src/arch/i386/include/gpxe/x86_io.h | 30 | ||||
| -rw-r--r-- | src/arch/i386/include/virtaddr.h | 12 |
2 files changed, 20 insertions, 22 deletions
diff --git a/src/arch/i386/include/gpxe/x86_io.h b/src/arch/i386/include/gpxe/x86_io.h index 3a907f8bd..8b9942e6d 100644 --- a/src/arch/i386/include/gpxe/x86_io.h +++ b/src/arch/i386/include/gpxe/x86_io.h @@ -28,6 +28,26 @@ * */ +static inline __always_inline unsigned long +IOAPI_INLINE ( x86, virt_to_phys ) ( volatile const void *addr ) { + return ( ( ( unsigned long ) addr ) + virt_offset ); +} + +static inline __always_inline void * +IOAPI_INLINE ( x86, phys_to_virt ) ( unsigned long phys_addr ) { + return ( ( void * ) ( phys_addr - virt_offset ) ); +} + +static inline __always_inline unsigned long +IOAPI_INLINE ( x86, virt_to_bus ) ( volatile const void *addr ) { + return virt_to_phys ( addr ); +} + +static inline __always_inline void * +IOAPI_INLINE ( x86, bus_to_virt ) ( unsigned long bus_addr ) { + return phys_to_virt ( bus_addr ); +} + static inline __always_inline void * IOAPI_INLINE ( x86, ioremap ) ( unsigned long bus_addr, size_t len __unused ) { return phys_to_virt ( bus_addr ); @@ -43,16 +63,6 @@ IOAPI_INLINE ( x86, io_to_bus ) ( volatile const void *io_addr ) { return virt_to_phys ( io_addr ); } -static inline __always_inline unsigned long -IOAPI_INLINE ( x86, virt_to_bus ) ( volatile const void *addr ) { - return virt_to_phys ( addr ); -} - -static inline __always_inline void * -IOAPI_INLINE ( x86, bus_to_virt ) ( unsigned long bus_addr ) { - return phys_to_virt ( bus_addr ); -} - /* * MMIO reads and writes up to 32 bits * diff --git a/src/arch/i386/include/virtaddr.h b/src/arch/i386/include/virtaddr.h index 6c63b5019..e7bb2ccef 100644 --- a/src/arch/i386/include/virtaddr.h +++ b/src/arch/i386/include/virtaddr.h @@ -32,18 +32,6 @@ /* Variables in virtaddr.S */ extern unsigned long virt_offset; -/* - * Convert between virtual and physical addresses - * - */ -static inline unsigned long virt_to_phys ( volatile const void *virt_addr ) { - return ( ( unsigned long ) virt_addr ) + virt_offset; -} - -static inline void * phys_to_virt ( unsigned long phys_addr ) { - return ( void * ) ( phys_addr - virt_offset ); -} - #else /* KEEP_IT_REAL */ #include <stdint.h> |
