Revision 06c46bba hw/spapr_hcall.c

b/hw/spapr_hcall.c
278 278
    }
279 279
    /* FIXME: bounds check the address */
280 280

  
281
    size = lduw_phys(vpa + 0x4);
281
    size = lduw_be_phys(vpa + 0x4);
282 282

  
283 283
    if (size < VPA_MIN_SIZE) {
284 284
        return H_PARAMETER;
......
321 321
        return H_HARDWARE;
322 322
    }
323 323

  
324
    size = ldl_phys(addr + 0x4);
324
    size = ldl_be_phys(addr + 0x4);
325 325
    if (size < 0x8) {
326 326
        return H_PARAMETER;
327 327
    }
......
354 354
        return H_HARDWARE;
355 355
    }
356 356

  
357
    size = ldl_phys(addr + 0x4);
357
    size = ldl_be_phys(addr + 0x4);
358 358

  
359 359
    if (size < 48) {
360 360
        return H_PARAMETER;
......
441 441
                           target_ulong opcode, target_ulong *args)
442 442
{
443 443
    target_ulong rtas_r3 = args[0];
444
    uint32_t token = ldl_phys(rtas_r3);
445
    uint32_t nargs = ldl_phys(rtas_r3 + 4);
446
    uint32_t nret = ldl_phys(rtas_r3 + 8);
444
    uint32_t token = ldl_be_phys(rtas_r3);
445
    uint32_t nargs = ldl_be_phys(rtas_r3 + 4);
446
    uint32_t nret = ldl_be_phys(rtas_r3 + 8);
447 447

  
448 448
    return spapr_rtas_call(spapr, token, nargs, rtas_r3 + 12,
449 449
                           nret, rtas_r3 + 12 + 4*nargs);

Also available in: Unified diff