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 8static inline int inb(unsigned long i) { return(0); } 9static 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 */ 15static inline unsigned long virt_to_phys(volatile void * address) 16{ 17 return __pa((void *) address); 18} 19 20static 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 36static inline void writeb(unsigned char b, volatile void __iomem *addr) 37{ 38 *(volatile unsigned char __force *) addr = b; 39} 40static inline void writew(unsigned short b, volatile void __iomem *addr) 41{ 42 *(volatile unsigned short __force *) addr = b; 43} 44static inline void writel(unsigned int b, volatile void __iomem *addr) 45{ 46 *(volatile unsigned int __force *) addr = b; 47} 48static 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