Revision 89343ecd

b/linux-user/qemu.h
206 206
#define access_ok(type,addr,size) \
207 207
    (page_check_range((target_ulong)addr,size,(type==VERIFY_READ)?PAGE_READ:PAGE_WRITE)==0)
208 208

  
209
/* NOTE get_user and put_user use host addresses.  */
210
#define __put_user(x,ptr)\
209
/* NOTE __get_user and __put_user use host pointers and don't check access. */
210
#define __put_user(x, hptr)\
211 211
({\
212
    int size = sizeof(*ptr);\
212
    int size = sizeof(*hptr);\
213 213
    switch(size) {\
214 214
    case 1:\
215
        *(uint8_t *)(ptr) = (typeof(*ptr))(x);\
215
        *(uint8_t *)(hptr) = (typeof(*hptr))(x);\
216 216
        break;\
217 217
    case 2:\
218
        *(uint16_t *)(ptr) = tswap16((typeof(*ptr))(x));\
218
        *(uint16_t *)(hptr) = tswap16((typeof(*hptr))(x));\
219 219
        break;\
220 220
    case 4:\
221
        *(uint32_t *)(ptr) = tswap32((typeof(*ptr))(x));\
221
        *(uint32_t *)(hptr) = tswap32((typeof(*hptr))(x));\
222 222
        break;\
223 223
    case 8:\
224
        *(uint64_t *)(ptr) = tswap64((typeof(*ptr))(x));\
224
        *(uint64_t *)(hptr) = tswap64((typeof(*hptr))(x));\
225 225
        break;\
226 226
    default:\
227 227
        abort();\
......
229 229
    0;\
230 230
})
231 231

  
232
#define __get_user(x, ptr) \
232
#define __get_user(x, hptr) \
233 233
({\
234
    int size = sizeof(*ptr);\
234
    int size = sizeof(*hptr);\
235 235
    switch(size) {\
236 236
    case 1:\
237
        x = (typeof(*ptr))*(uint8_t *)(ptr);\
237
        x = (typeof(*hptr))*(uint8_t *)(hptr);\
238 238
        break;\
239 239
    case 2:\
240
        x = (typeof(*ptr))tswap16(*(uint16_t *)(ptr));\
240
        x = (typeof(*hptr))tswap16(*(uint16_t *)(hptr));\
241 241
        break;\
242 242
    case 4:\
243
        x = (typeof(*ptr))tswap32(*(uint32_t *)(ptr));\
243
        x = (typeof(*hptr))tswap32(*(uint32_t *)(hptr));\
244 244
        break;\
245 245
    case 8:\
246
        x = (typeof(*ptr))tswap64(*(uint64_t *)(ptr));\
246
        x = (typeof(*hptr))tswap64(*(uint64_t *)(hptr));\
247 247
        break;\
248 248
    default:\
249 249
        abort();\

Also available in: Unified diff