| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | #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
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2006-01-18 17:42:38 -08:00
										 |  |  | 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; | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2006-06-30 01:55:59 -07:00
										 |  |  | static inline void writeq(unsigned int b, volatile void __iomem *addr) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	*(volatile unsigned long long __force *) addr = b; | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2006-01-18 17:42:38 -08:00
										 |  |  | #define __raw_writeb writeb
 | 
					
						
							|  |  |  | #define __raw_writew writew
 | 
					
						
							|  |  |  | #define __raw_writel writel
 | 
					
						
							| 
									
										
										
										
											2006-06-30 01:55:59 -07:00
										 |  |  | #define __raw_writeq writeq
 | 
					
						
							| 
									
										
										
										
											2006-01-18 17:42:38 -08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | #endif
 |