Commit 0096369daa9eaaef1a309e5d8167b023af3f998d
Committed by
Avi Kivity
1 parent
99e65c92f2
Exists in
master
and in
7 other branches
KVM: s390: Change guestaddr type in gaccess
All registers are unsigned long types. This patch changes all occurences of guestaddr in gaccess from u64 to unsigned long. Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com> Signed-off-by: Avi Kivity <avi@qumranet.com>
Showing 3 changed files with 37 additions and 32 deletions Side-by-side Diff
arch/s390/kvm/gaccess.h
... | ... | @@ -18,11 +18,11 @@ |
18 | 18 | #include <asm/uaccess.h> |
19 | 19 | |
20 | 20 | static inline void __user *__guestaddr_to_user(struct kvm_vcpu *vcpu, |
21 | - u64 guestaddr) | |
21 | + unsigned long guestaddr) | |
22 | 22 | { |
23 | - u64 prefix = vcpu->arch.sie_block->prefix; | |
24 | - u64 origin = vcpu->kvm->arch.guest_origin; | |
25 | - u64 memsize = vcpu->kvm->arch.guest_memsize; | |
23 | + unsigned long prefix = vcpu->arch.sie_block->prefix; | |
24 | + unsigned long origin = vcpu->kvm->arch.guest_origin; | |
25 | + unsigned long memsize = vcpu->kvm->arch.guest_memsize; | |
26 | 26 | |
27 | 27 | if (guestaddr < 2 * PAGE_SIZE) |
28 | 28 | guestaddr += prefix; |
... | ... | @@ -37,7 +37,7 @@ |
37 | 37 | return (void __user *) guestaddr; |
38 | 38 | } |
39 | 39 | |
40 | -static inline int get_guest_u64(struct kvm_vcpu *vcpu, u64 guestaddr, | |
40 | +static inline int get_guest_u64(struct kvm_vcpu *vcpu, unsigned long guestaddr, | |
41 | 41 | u64 *result) |
42 | 42 | { |
43 | 43 | void __user *uptr = __guestaddr_to_user(vcpu, guestaddr); |
44 | 44 | |
... | ... | @@ -47,10 +47,10 @@ |
47 | 47 | if (IS_ERR((void __force *) uptr)) |
48 | 48 | return PTR_ERR((void __force *) uptr); |
49 | 49 | |
50 | - return get_user(*result, (u64 __user *) uptr); | |
50 | + return get_user(*result, (unsigned long __user *) uptr); | |
51 | 51 | } |
52 | 52 | |
53 | -static inline int get_guest_u32(struct kvm_vcpu *vcpu, u64 guestaddr, | |
53 | +static inline int get_guest_u32(struct kvm_vcpu *vcpu, unsigned long guestaddr, | |
54 | 54 | u32 *result) |
55 | 55 | { |
56 | 56 | void __user *uptr = __guestaddr_to_user(vcpu, guestaddr); |
... | ... | @@ -63,7 +63,7 @@ |
63 | 63 | return get_user(*result, (u32 __user *) uptr); |
64 | 64 | } |
65 | 65 | |
66 | -static inline int get_guest_u16(struct kvm_vcpu *vcpu, u64 guestaddr, | |
66 | +static inline int get_guest_u16(struct kvm_vcpu *vcpu, unsigned long guestaddr, | |
67 | 67 | u16 *result) |
68 | 68 | { |
69 | 69 | void __user *uptr = __guestaddr_to_user(vcpu, guestaddr); |
... | ... | @@ -76,7 +76,7 @@ |
76 | 76 | return get_user(*result, (u16 __user *) uptr); |
77 | 77 | } |
78 | 78 | |
79 | -static inline int get_guest_u8(struct kvm_vcpu *vcpu, u64 guestaddr, | |
79 | +static inline int get_guest_u8(struct kvm_vcpu *vcpu, unsigned long guestaddr, | |
80 | 80 | u8 *result) |
81 | 81 | { |
82 | 82 | void __user *uptr = __guestaddr_to_user(vcpu, guestaddr); |
... | ... | @@ -87,7 +87,7 @@ |
87 | 87 | return get_user(*result, (u8 __user *) uptr); |
88 | 88 | } |
89 | 89 | |
90 | -static inline int put_guest_u64(struct kvm_vcpu *vcpu, u64 guestaddr, | |
90 | +static inline int put_guest_u64(struct kvm_vcpu *vcpu, unsigned long guestaddr, | |
91 | 91 | u64 value) |
92 | 92 | { |
93 | 93 | void __user *uptr = __guestaddr_to_user(vcpu, guestaddr); |
... | ... | @@ -100,7 +100,7 @@ |
100 | 100 | return put_user(value, (u64 __user *) uptr); |
101 | 101 | } |
102 | 102 | |
103 | -static inline int put_guest_u32(struct kvm_vcpu *vcpu, u64 guestaddr, | |
103 | +static inline int put_guest_u32(struct kvm_vcpu *vcpu, unsigned long guestaddr, | |
104 | 104 | u32 value) |
105 | 105 | { |
106 | 106 | void __user *uptr = __guestaddr_to_user(vcpu, guestaddr); |
... | ... | @@ -113,7 +113,7 @@ |
113 | 113 | return put_user(value, (u32 __user *) uptr); |
114 | 114 | } |
115 | 115 | |
116 | -static inline int put_guest_u16(struct kvm_vcpu *vcpu, u64 guestaddr, | |
116 | +static inline int put_guest_u16(struct kvm_vcpu *vcpu, unsigned long guestaddr, | |
117 | 117 | u16 value) |
118 | 118 | { |
119 | 119 | void __user *uptr = __guestaddr_to_user(vcpu, guestaddr); |
... | ... | @@ -126,7 +126,7 @@ |
126 | 126 | return put_user(value, (u16 __user *) uptr); |
127 | 127 | } |
128 | 128 | |
129 | -static inline int put_guest_u8(struct kvm_vcpu *vcpu, u64 guestaddr, | |
129 | +static inline int put_guest_u8(struct kvm_vcpu *vcpu, unsigned long guestaddr, | |
130 | 130 | u8 value) |
131 | 131 | { |
132 | 132 | void __user *uptr = __guestaddr_to_user(vcpu, guestaddr); |
... | ... | @@ -138,7 +138,8 @@ |
138 | 138 | } |
139 | 139 | |
140 | 140 | |
141 | -static inline int __copy_to_guest_slow(struct kvm_vcpu *vcpu, u64 guestdest, | |
141 | +static inline int __copy_to_guest_slow(struct kvm_vcpu *vcpu, | |
142 | + unsigned long guestdest, | |
142 | 143 | const void *from, unsigned long n) |
143 | 144 | { |
144 | 145 | int rc; |
145 | 146 | |
... | ... | @@ -153,12 +154,12 @@ |
153 | 154 | return 0; |
154 | 155 | } |
155 | 156 | |
156 | -static inline int copy_to_guest(struct kvm_vcpu *vcpu, u64 guestdest, | |
157 | +static inline int copy_to_guest(struct kvm_vcpu *vcpu, unsigned long guestdest, | |
157 | 158 | const void *from, unsigned long n) |
158 | 159 | { |
159 | - u64 prefix = vcpu->arch.sie_block->prefix; | |
160 | - u64 origin = vcpu->kvm->arch.guest_origin; | |
161 | - u64 memsize = vcpu->kvm->arch.guest_memsize; | |
160 | + unsigned long prefix = vcpu->arch.sie_block->prefix; | |
161 | + unsigned long origin = vcpu->kvm->arch.guest_origin; | |
162 | + unsigned long memsize = vcpu->kvm->arch.guest_memsize; | |
162 | 163 | |
163 | 164 | if ((guestdest < 2 * PAGE_SIZE) && (guestdest + n > 2 * PAGE_SIZE)) |
164 | 165 | goto slowpath; |
... | ... | @@ -189,7 +190,8 @@ |
189 | 190 | } |
190 | 191 | |
191 | 192 | static inline int __copy_from_guest_slow(struct kvm_vcpu *vcpu, void *to, |
192 | - u64 guestsrc, unsigned long n) | |
193 | + unsigned long guestsrc, | |
194 | + unsigned long n) | |
193 | 195 | { |
194 | 196 | int rc; |
195 | 197 | unsigned long i; |
196 | 198 | |
... | ... | @@ -204,11 +206,11 @@ |
204 | 206 | } |
205 | 207 | |
206 | 208 | static inline int copy_from_guest(struct kvm_vcpu *vcpu, void *to, |
207 | - u64 guestsrc, unsigned long n) | |
209 | + unsigned long guestsrc, unsigned long n) | |
208 | 210 | { |
209 | - u64 prefix = vcpu->arch.sie_block->prefix; | |
210 | - u64 origin = vcpu->kvm->arch.guest_origin; | |
211 | - u64 memsize = vcpu->kvm->arch.guest_memsize; | |
211 | + unsigned long prefix = vcpu->arch.sie_block->prefix; | |
212 | + unsigned long origin = vcpu->kvm->arch.guest_origin; | |
213 | + unsigned long memsize = vcpu->kvm->arch.guest_memsize; | |
212 | 214 | |
213 | 215 | if ((guestsrc < 2 * PAGE_SIZE) && (guestsrc + n > 2 * PAGE_SIZE)) |
214 | 216 | goto slowpath; |
215 | 217 | |
... | ... | @@ -238,11 +240,12 @@ |
238 | 240 | return __copy_from_guest_slow(vcpu, to, guestsrc, n); |
239 | 241 | } |
240 | 242 | |
241 | -static inline int copy_to_guest_absolute(struct kvm_vcpu *vcpu, u64 guestdest, | |
243 | +static inline int copy_to_guest_absolute(struct kvm_vcpu *vcpu, | |
244 | + unsigned long guestdest, | |
242 | 245 | const void *from, unsigned long n) |
243 | 246 | { |
244 | - u64 origin = vcpu->kvm->arch.guest_origin; | |
245 | - u64 memsize = vcpu->kvm->arch.guest_memsize; | |
247 | + unsigned long origin = vcpu->kvm->arch.guest_origin; | |
248 | + unsigned long memsize = vcpu->kvm->arch.guest_memsize; | |
246 | 249 | |
247 | 250 | if (guestdest + n > memsize) |
248 | 251 | return -EFAULT; |
249 | 252 | |
... | ... | @@ -256,10 +259,11 @@ |
256 | 259 | } |
257 | 260 | |
258 | 261 | static inline int copy_from_guest_absolute(struct kvm_vcpu *vcpu, void *to, |
259 | - u64 guestsrc, unsigned long n) | |
262 | + unsigned long guestsrc, | |
263 | + unsigned long n) | |
260 | 264 | { |
261 | - u64 origin = vcpu->kvm->arch.guest_origin; | |
262 | - u64 memsize = vcpu->kvm->arch.guest_memsize; | |
265 | + unsigned long origin = vcpu->kvm->arch.guest_origin; | |
266 | + unsigned long memsize = vcpu->kvm->arch.guest_memsize; | |
263 | 267 | |
264 | 268 | if (guestsrc + n > memsize) |
265 | 269 | return -EFAULT; |
arch/s390/kvm/sigp.c
... | ... | @@ -43,7 +43,8 @@ |
43 | 43 | #define SIGP_STAT_RECEIVER_CHECK 0x00000001UL |
44 | 44 | |
45 | 45 | |
46 | -static int __sigp_sense(struct kvm_vcpu *vcpu, u16 cpu_addr, u64 *reg) | |
46 | +static int __sigp_sense(struct kvm_vcpu *vcpu, u16 cpu_addr, | |
47 | + unsigned long *reg) | |
47 | 48 | { |
48 | 49 | struct kvm_s390_float_interrupt *fi = &vcpu->kvm->arch.float_int; |
49 | 50 | int rc; |
... | ... | @@ -167,7 +168,7 @@ |
167 | 168 | } |
168 | 169 | |
169 | 170 | static int __sigp_set_prefix(struct kvm_vcpu *vcpu, u16 cpu_addr, u32 address, |
170 | - u64 *reg) | |
171 | + unsigned long *reg) | |
171 | 172 | { |
172 | 173 | struct kvm_s390_float_interrupt *fi = &vcpu->kvm->arch.float_int; |
173 | 174 | struct kvm_s390_local_interrupt *li; |
include/asm-s390/kvm_host.h