Commit 2052caa7af288e1ea9739d321c4c9c89e9395666
1 parent
637947f1
GDB stub for MIPS64, by Jason Wessel.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2909 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
1 changed file
with
40 additions
and
40 deletions
gdbstub.c
| ... | ... | @@ -549,41 +549,41 @@ static int cpu_gdb_read_registers(CPUState *env, uint8_t *mem_buf) |
| 549 | 549 | ptr = mem_buf; |
| 550 | 550 | for (i = 0; i < 32; i++) |
| 551 | 551 | { |
| 552 | - *(uint32_t *)ptr = tswapl(env->gpr[i]); | |
| 553 | - ptr += 4; | |
| 552 | + *(target_ulong *)ptr = tswapl(env->gpr[i]); | |
| 553 | + ptr += sizeof(target_ulong); | |
| 554 | 554 | } |
| 555 | 555 | |
| 556 | - *(uint32_t *)ptr = tswapl(env->CP0_Status); | |
| 557 | - ptr += 4; | |
| 556 | + *(target_ulong *)ptr = tswapl(env->CP0_Status); | |
| 557 | + ptr += sizeof(target_ulong); | |
| 558 | 558 | |
| 559 | - *(uint32_t *)ptr = tswapl(env->LO); | |
| 560 | - ptr += 4; | |
| 559 | + *(target_ulong *)ptr = tswapl(env->LO); | |
| 560 | + ptr += sizeof(target_ulong); | |
| 561 | 561 | |
| 562 | - *(uint32_t *)ptr = tswapl(env->HI); | |
| 563 | - ptr += 4; | |
| 562 | + *(target_ulong *)ptr = tswapl(env->HI); | |
| 563 | + ptr += sizeof(target_ulong); | |
| 564 | 564 | |
| 565 | - *(uint32_t *)ptr = tswapl(env->CP0_BadVAddr); | |
| 566 | - ptr += 4; | |
| 565 | + *(target_ulong *)ptr = tswapl(env->CP0_BadVAddr); | |
| 566 | + ptr += sizeof(target_ulong); | |
| 567 | 567 | |
| 568 | - *(uint32_t *)ptr = tswapl(env->CP0_Cause); | |
| 569 | - ptr += 4; | |
| 568 | + *(target_ulong *)ptr = tswapl(env->CP0_Cause); | |
| 569 | + ptr += sizeof(target_ulong); | |
| 570 | 570 | |
| 571 | - *(uint32_t *)ptr = tswapl(env->PC); | |
| 572 | - ptr += 4; | |
| 571 | + *(target_ulong *)ptr = tswapl(env->PC); | |
| 572 | + ptr += sizeof(target_ulong); | |
| 573 | 573 | |
| 574 | 574 | if (env->CP0_Config1 & (1 << CP0C1_FP)) |
| 575 | 575 | { |
| 576 | 576 | for (i = 0; i < 32; i++) |
| 577 | 577 | { |
| 578 | - *(uint32_t *)ptr = tswapl(env->fpr[i].fs[FP_ENDIAN_IDX]); | |
| 579 | - ptr += 4; | |
| 578 | + *(target_ulong *)ptr = tswapl(env->fpr[i].fs[FP_ENDIAN_IDX]); | |
| 579 | + ptr += sizeof(target_ulong); | |
| 580 | 580 | } |
| 581 | 581 | |
| 582 | - *(uint32_t *)ptr = tswapl(env->fcr31); | |
| 583 | - ptr += 4; | |
| 582 | + *(target_ulong *)ptr = tswapl(env->fcr31); | |
| 583 | + ptr += sizeof(target_ulong); | |
| 584 | 584 | |
| 585 | - *(uint32_t *)ptr = tswapl(env->fcr0); | |
| 586 | - ptr += 4; | |
| 585 | + *(target_ulong *)ptr = tswapl(env->fcr0); | |
| 586 | + ptr += sizeof(target_ulong); | |
| 587 | 587 | } |
| 588 | 588 | |
| 589 | 589 | /* 32 FP registers, fsr, fir, fp. Not yet implemented. */ |
| ... | ... | @@ -611,41 +611,41 @@ static void cpu_gdb_write_registers(CPUState *env, uint8_t *mem_buf, int size) |
| 611 | 611 | ptr = mem_buf; |
| 612 | 612 | for (i = 0; i < 32; i++) |
| 613 | 613 | { |
| 614 | - env->gpr[i] = tswapl(*(uint32_t *)ptr); | |
| 615 | - ptr += 4; | |
| 614 | + env->gpr[i] = tswapl(*(target_ulong *)ptr); | |
| 615 | + ptr += sizeof(target_ulong); | |
| 616 | 616 | } |
| 617 | 617 | |
| 618 | - env->CP0_Status = tswapl(*(uint32_t *)ptr); | |
| 619 | - ptr += 4; | |
| 618 | + env->CP0_Status = tswapl(*(target_ulong *)ptr); | |
| 619 | + ptr += sizeof(target_ulong); | |
| 620 | 620 | |
| 621 | - env->LO = tswapl(*(uint32_t *)ptr); | |
| 622 | - ptr += 4; | |
| 621 | + env->LO = tswapl(*(target_ulong *)ptr); | |
| 622 | + ptr += sizeof(target_ulong); | |
| 623 | 623 | |
| 624 | - env->HI = tswapl(*(uint32_t *)ptr); | |
| 625 | - ptr += 4; | |
| 624 | + env->HI = tswapl(*(target_ulong *)ptr); | |
| 625 | + ptr += sizeof(target_ulong); | |
| 626 | 626 | |
| 627 | - env->CP0_BadVAddr = tswapl(*(uint32_t *)ptr); | |
| 628 | - ptr += 4; | |
| 627 | + env->CP0_BadVAddr = tswapl(*(target_ulong *)ptr); | |
| 628 | + ptr += sizeof(target_ulong); | |
| 629 | 629 | |
| 630 | - env->CP0_Cause = tswapl(*(uint32_t *)ptr); | |
| 631 | - ptr += 4; | |
| 630 | + env->CP0_Cause = tswapl(*(target_ulong *)ptr); | |
| 631 | + ptr += sizeof(target_ulong); | |
| 632 | 632 | |
| 633 | - env->PC = tswapl(*(uint32_t *)ptr); | |
| 634 | - ptr += 4; | |
| 633 | + env->PC = tswapl(*(target_ulong *)ptr); | |
| 634 | + ptr += sizeof(target_ulong); | |
| 635 | 635 | |
| 636 | 636 | if (env->CP0_Config1 & (1 << CP0C1_FP)) |
| 637 | 637 | { |
| 638 | 638 | for (i = 0; i < 32; i++) |
| 639 | 639 | { |
| 640 | - env->fpr[i].fs[FP_ENDIAN_IDX] = tswapl(*(uint32_t *)ptr); | |
| 641 | - ptr += 4; | |
| 640 | + env->fpr[i].fs[FP_ENDIAN_IDX] = tswapl(*(target_ulong *)ptr); | |
| 641 | + ptr += sizeof(target_ulong); | |
| 642 | 642 | } |
| 643 | 643 | |
| 644 | - env->fcr31 = tswapl(*(uint32_t *)ptr) & 0x0183FFFF; | |
| 645 | - ptr += 4; | |
| 644 | + env->fcr31 = tswapl(*(target_ulong *)ptr) & 0x0183FFFF; | |
| 645 | + ptr += sizeof(target_ulong); | |
| 646 | 646 | |
| 647 | - env->fcr0 = tswapl(*(uint32_t *)ptr); | |
| 648 | - ptr += 4; | |
| 647 | + env->fcr0 = tswapl(*(target_ulong *)ptr); | |
| 648 | + ptr += sizeof(target_ulong); | |
| 649 | 649 | |
| 650 | 650 | /* set rounding mode */ |
| 651 | 651 | RESTORE_ROUNDING_MODE; | ... | ... |