1 #ifndef __UM_IO_H 2 #define __UM_IO_H 3 4 #include "asm/page.h" 5 6 #define IO_SPACE_LIMIT 0xdeadbeef /* Sure hope nothing uses this */ 7 8 static inline int inb(unsigned long i) { return(0); } 9 static inline void outb(char c, unsigned long i) { } 10 11 /* 12 * Change virtual addresses to physical addresses and vv. 13 * These are pretty trivial 14 */ 15 static inline unsigned long virt_to_phys(volatile void * address) 16 { 17 return __pa((void *) address); 18 } 19 20 static inline void * phys_to_virt(unsigned long address) 21 { 22 return __va(address); 23 } 24 25 /* 26 * Convert a physical pointer to a virtual kernel pointer for /dev/mem 27 * access 28 */ 29 #define xlate_dev_mem_ptr(p) __va(p) 30 31 /* 32 * Convert a virtual cached pointer to an uncached pointer 33 */ 34 #define xlate_dev_kmem_ptr(p) p 35 36 static inline void writeb(unsigned char b, volatile void __iomem *addr) 37 { 38 *(volatile unsigned char __force *) addr = b; 39 } 40 static inline void writew(unsigned short b, volatile void __iomem *addr) 41 { 42 *(volatile unsigned short __force *) addr = b; 43 } 44 static inline void writel(unsigned int b, volatile void __iomem *addr) 45 { 46 *(volatile unsigned int __force *) addr = b; 47 } 48 static inline void writeq(unsigned int b, volatile void __iomem *addr) 49 { 50 *(volatile unsigned long long __force *) addr = b; 51 } 52 #define __raw_writeb writeb 53 #define __raw_writew writew 54 #define __raw_writel writel 55 #define __raw_writeq writeq 56 57 #endif 58