qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] MIPS little endian - Bug when decoding physaddr


From: Vinicius Maciel
Subject: [Qemu-devel] MIPS little endian - Bug when decoding physaddr
Date: Fri, 12 May 2017 19:52:02 -0300

Hi all,

I'm trying to emulate a MIPS 74Kc using a custom machine in order to run a
CFE bootloader from broadcom. The CPU is Broadcom BCM5357. The problem
happens when Qemu calculates physaddr inside io_readx(), cputlb.c:line 784

physaddr = (physaddr & TARGET_PAGE_MASK) + addr;

After run this line the the value is 0x18000000, which is clearly wrong.
More informations:

BUG function: io_readx
Assembly instruction: lw t1,0(a2)
Machine code: 0x8cc90000 (Little endian)
Access address: 0xb8000000

Assembly code:
80702f30 <board_earlyinit>:
80702f30: 3c06b800 lui a2,0xb800
80702f34: 24075350 li a3,21328
80702f38: 8cc90000 lw t1,0(a2) <----

Thanks,
Vinicius


reply via email to

[Prev in Thread] Current Thread [Next in Thread]