Revision fdfba1a2 hw/ppc/spapr_hcall.c
b/hw/ppc/spapr_hcall.c | ||
---|---|---|
390 | 390 |
|
391 | 391 |
static target_ulong register_slb_shadow(CPUPPCState *env, target_ulong addr) |
392 | 392 |
{ |
393 |
CPUState *cs = ENV_GET_CPU(env); |
|
393 | 394 |
uint32_t size; |
394 | 395 |
|
395 | 396 |
if (addr == 0) { |
... | ... | |
397 | 398 |
return H_HARDWARE; |
398 | 399 |
} |
399 | 400 |
|
400 |
size = ldl_be_phys(addr + 0x4); |
|
401 |
size = ldl_be_phys(cs->as, addr + 0x4);
|
|
401 | 402 |
if (size < 0x8) { |
402 | 403 |
return H_PARAMETER; |
403 | 404 |
} |
... | ... | |
425 | 426 |
|
426 | 427 |
static target_ulong register_dtl(CPUPPCState *env, target_ulong addr) |
427 | 428 |
{ |
429 |
CPUState *cs = ENV_GET_CPU(env); |
|
428 | 430 |
uint32_t size; |
429 | 431 |
|
430 | 432 |
if (addr == 0) { |
... | ... | |
432 | 434 |
return H_HARDWARE; |
433 | 435 |
} |
434 | 436 |
|
435 |
size = ldl_be_phys(addr + 0x4); |
|
437 |
size = ldl_be_phys(cs->as, addr + 0x4);
|
|
436 | 438 |
|
437 | 439 |
if (size < 48) { |
438 | 440 |
return H_PARAMETER; |
... | ... | |
532 | 534 |
static target_ulong h_logical_load(PowerPCCPU *cpu, sPAPREnvironment *spapr, |
533 | 535 |
target_ulong opcode, target_ulong *args) |
534 | 536 |
{ |
537 |
CPUState *cs = CPU(cpu); |
|
535 | 538 |
target_ulong size = args[0]; |
536 | 539 |
target_ulong addr = args[1]; |
537 | 540 |
|
... | ... | |
543 | 546 |
args[0] = lduw_phys(addr); |
544 | 547 |
return H_SUCCESS; |
545 | 548 |
case 4: |
546 |
args[0] = ldl_phys(addr); |
|
549 |
args[0] = ldl_phys(cs->as, addr);
|
|
547 | 550 |
return H_SUCCESS; |
548 | 551 |
case 8: |
549 | 552 |
args[0] = ldq_phys(addr); |
... | ... | |
579 | 582 |
static target_ulong h_logical_memop(PowerPCCPU *cpu, sPAPREnvironment *spapr, |
580 | 583 |
target_ulong opcode, target_ulong *args) |
581 | 584 |
{ |
585 |
CPUState *cs = CPU(cpu); |
|
586 |
|
|
582 | 587 |
target_ulong dst = args[0]; /* Destination address */ |
583 | 588 |
target_ulong src = args[1]; /* Source address */ |
584 | 589 |
target_ulong esize = args[2]; /* Element size (0=1,1=2,2=4,3=8) */ |
... | ... | |
611 | 616 |
tmp = lduw_phys(src); |
612 | 617 |
break; |
613 | 618 |
case 2: |
614 |
tmp = ldl_phys(src); |
|
619 |
tmp = ldl_phys(cs->as, src);
|
|
615 | 620 |
break; |
616 | 621 |
case 3: |
617 | 622 |
tmp = ldq_phys(src); |
Also available in: Unified diff