| #ifndef __UM_IO_H | |
| #define __UM_IO_H | |
| #include "asm/page.h" | |
| #define IO_SPACE_LIMIT 0xdeadbeef /* Sure hope nothing uses this */ | |
| static inline int inb(unsigned long i) { return(0); } | |
| static inline void outb(char c, unsigned long i) { } | |
| /* | |
| * Change virtual addresses to physical addresses and vv. | |
| * These are pretty trivial | |
| */ | |
| static inline unsigned long virt_to_phys(volatile void * address) | |
| { | |
| return __pa((void *) address); | |
| } | |
| static inline void * phys_to_virt(unsigned long address) | |
| { | |
| return __va(address); | |
| } | |
| /* | |
| * Convert a physical pointer to a virtual kernel pointer for /dev/mem | |
| * access | |
| */ | |
| #define xlate_dev_mem_ptr(p) __va(p) | |
| /* | |
| * Convert a virtual cached pointer to an uncached pointer | |
| */ | |
| #define xlate_dev_kmem_ptr(p) p | |
| static inline void writeb(unsigned char b, volatile void __iomem *addr) | |
| { | |
| *(volatile unsigned char __force *) addr = b; | |
| } | |
| static inline void writew(unsigned short b, volatile void __iomem *addr) | |
| { | |
| *(volatile unsigned short __force *) addr = b; | |
| } | |
| static inline void writel(unsigned int b, volatile void __iomem *addr) | |
| { | |
| *(volatile unsigned int __force *) addr = b; | |
| } | |
| static inline void writeq(unsigned int b, volatile void __iomem *addr) | |
| { | |
| *(volatile unsigned long long __force *) addr = b; | |
| } | |
| #define __raw_writeb writeb | |
| #define __raw_writew writew | |
| #define __raw_writel writel | |
| #define __raw_writeq writeq | |
| #endif |