12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- /*
- * include/asm-s390/io.h
- *
- * S390 version
- * Copyright (C) 1999 IBM Deutschland Entwicklung GmbH, IBM Corporation
- * Author(s): Martin Schwidefsky (schwidefsky@de.ibm.com)
- *
- * Derived from "include/asm-i386/io.h"
- */
- #ifndef _S390_IO_H
- #define _S390_IO_H
- #ifdef __KERNEL__
- #include <asm/page.h>
- #define IO_SPACE_LIMIT 0xffffffff
- /*
- * Change virtual addresses to physical addresses and vv.
- * These are pretty trivial
- */
- static inline unsigned long virt_to_phys(volatile void * address)
- {
- unsigned long real_address;
- asm volatile(
- " lra %0,0(%1)\n"
- " jz 0f\n"
- " la %0,0\n"
- "0:"
- : "=a" (real_address) : "a" (address) : "cc");
- return real_address;
- }
- static inline void * phys_to_virt(unsigned long address)
- {
- return (void *) 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
- #endif /* __KERNEL__ */
- #endif
|