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