Commit | Line | Data |
---|---|---|
1da177e4 | 1 | /* |
1da177e4 | 2 | * S390 version |
a53c8fab | 3 | * Copyright IBM Corp. 1999 |
1da177e4 LT |
4 | * Author(s): Martin Schwidefsky (schwidefsky@de.ibm.com) |
5 | * | |
6 | * Derived from "include/asm-i386/io.h" | |
7 | */ | |
8 | ||
9 | #ifndef _S390_IO_H | |
10 | #define _S390_IO_H | |
11 | ||
1da177e4 LT |
12 | #include <asm/page.h> |
13 | ||
14 | #define IO_SPACE_LIMIT 0xffffffff | |
15 | ||
1da177e4 LT |
16 | /* |
17 | * Change virtual addresses to physical addresses and vv. | |
18 | * These are pretty trivial | |
19 | */ | |
4448aaf0 | 20 | static inline unsigned long virt_to_phys(volatile void * address) |
1da177e4 LT |
21 | { |
22 | unsigned long real_address; | |
94c12cc7 | 23 | asm volatile( |
94c12cc7 | 24 | " lra %0,0(%1)\n" |
94c12cc7 MS |
25 | " jz 0f\n" |
26 | " la %0,0\n" | |
1da177e4 | 27 | "0:" |
94c12cc7 | 28 | : "=a" (real_address) : "a" (address) : "cc"); |
1da177e4 LT |
29 | return real_address; |
30 | } | |
31 | ||
4448aaf0 | 32 | static inline void * phys_to_virt(unsigned long address) |
1da177e4 | 33 | { |
022ae414 | 34 | return (void *) address; |
1da177e4 LT |
35 | } |
36 | ||
b2a68c23 MH |
37 | void *xlate_dev_mem_ptr(unsigned long phys); |
38 | void unxlate_dev_mem_ptr(unsigned long phys, void *addr); | |
1da177e4 LT |
39 | |
40 | /* | |
41 | * Convert a virtual cached pointer to an uncached pointer | |
42 | */ | |
43 | #define xlate_dev_kmem_ptr(p) p | |
44 | ||
1da177e4 | 45 | #endif |