From: Luke -Jr <luke@dashjr.org>
To: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] MIPS emulation
Date: Sat, 5 Jul 2008 20:45:10 -0500 [thread overview]
Message-ID: <200807052045.17038.luke@dashjr.org> (raw)
In-Reply-To: <200807032227.37956.luke@dashjr.org>
[-- Attachment #1: Type: text/plain, Size: 172 bytes --]
I've attached a log of my qemu session... it gives the same results I expected
from manual disassembly. Does anyone have any clues as to why this works on
real hardware?
[-- Attachment #2: qemu.log --]
[-- Type: text/x-log, Size: 11309 bytes --]
cpu_mips_handle_mmu_fault pc bfc00000 ad bfc00000 rw 2 mmu_idx 0 smmu 1
cpu_mips_handle_mmu_fault address=bfc00000 ret 0 physical 1fc00000 prot 3
------------------------------------------------
pc=0xbfc00000 HI=0x08428ec4 LO=0x08428ed4 ds 0010 00000000 0
GPR00: r0 00000000 at 00000000 v0 00000000 v1 00000000
GPR04: a0 00000000 a1 00000000 a2 00000000 a3 00000000
GPR08: t0 00000000 t1 00000000 t2 00000000 t3 00000000
GPR12: t4 00000000 t5 00000000 t6 00000000 t7 00000000
GPR16: s0 00000000 s1 00000000 s2 00000000 s3 00000000
GPR20: s4 00000000 s5 00000000 s6 00000000 s7 00000000
GPR24: t8 00000000 t9 00000000 k0 00000000 k1 00000000
GPR28: gp 00000000 sp 00000000 s8 00000000 ra 00000000
CP0 Status 0x00400004 Cause 0x00000400 EPC 0x00000000
Config0 0x80008482 Config1 0x9e190c8b LLAddr 0x00000000
IN:
0xbfc00000: j 0xbfc00010
0xbfc00004: nop
---------------- 2 00000010
------------------------------------------------
pc=0xbfc00010 HI=0x08428ec4 LO=0x08428ed4 ds 0010 00000000 0
GPR00: r0 00000000 at 00000000 v0 00000000 v1 00000000
GPR04: a0 00000000 a1 00000000 a2 00000000 a3 00000000
GPR08: t0 00000000 t1 00000000 t2 00000000 t3 00000000
GPR12: t4 00000000 t5 00000000 t6 00000000 t7 00000000
GPR16: s0 00000000 s1 00000000 s2 00000000 s3 00000000
GPR20: s4 00000000 s5 00000000 s6 00000000 s7 00000000
GPR24: t8 00000000 t9 00000000 k0 00000000 k1 00000000
GPR28: gp 00000000 sp 00000000 s8 00000000 ra 00000000
CP0 Status 0x00400004 Cause 0x00000400 EPC 0x00000000
Config0 0x80008482 Config1 0x9e190c8b LLAddr 0x00000000
IN:
0xbfc00010: j 0xbfc00410
0xbfc00014: nop
---------------- 2 00000010
------------------------------------------------
pc=0xbfc00410 HI=0x08428ec4 LO=0x08428ed4 ds 0010 00000000 0
GPR00: r0 00000000 at 00000000 v0 00000000 v1 00000000
GPR04: a0 00000000 a1 00000000 a2 00000000 a3 00000000
GPR08: t0 00000000 t1 00000000 t2 00000000 t3 00000000
GPR12: t4 00000000 t5 00000000 t6 00000000 t7 00000000
GPR16: s0 00000000 s1 00000000 s2 00000000 s3 00000000
GPR20: s4 00000000 s5 00000000 s6 00000000 s7 00000000
GPR24: t8 00000000 t9 00000000 k0 00000000 k1 00000000
GPR28: gp 00000000 sp 00000000 s8 00000000 ra 00000000
CP0 Status 0x00400004 Cause 0x00000400 EPC 0x00000000
Config0 0x80008482 Config1 0x9e190c8b LLAddr 0x00000000
IN:
0xbfc00410: lui t0,0x40
0xbfc00414: mtc0 t0,$12
---------------- 3 00000010
Status 00400004 (00000000) => 00400000 (00000000) Cause 00000400
------------------------------------------------
pc=0xbfc00418 HI=0x08428ec4 LO=0x08428ed4 ds 0090 00000000 0
GPR00: r0 00000000 at 00000000 v0 00000000 v1 00000000
GPR04: a0 00000000 a1 00000000 a2 00000000 a3 00000000
GPR08: t0 00400000 t1 00000000 t2 00000000 t3 00000000
GPR12: t4 00000000 t5 00000000 t6 00000000 t7 00000000
GPR16: s0 00000000 s1 00000000 s2 00000000 s3 00000000
GPR20: s4 00000000 s5 00000000 s6 00000000 s7 00000000
GPR24: t8 00000000 t9 00000000 k0 00000000 k1 00000000
GPR28: gp 00000000 sp 00000000 s8 00000000 ra 00000000
CP0 Status 0x00400000 Cause 0x00000400 EPC 0x00000000
Config0 0x80008482 Config1 0x9e190c8b LLAddr 0x00000000
IN:
0xbfc00418: mtc0 zero,$13
---------------- 1 00000090
------------------------------------------------
pc=0xbfc0041c HI=0x08428ec4 LO=0x08428ed4 ds 0090 00000000 0
GPR00: r0 00000000 at 00000000 v0 00000000 v1 00000000
GPR04: a0 00000000 a1 00000000 a2 00000000 a3 00000000
GPR08: t0 00400000 t1 00000000 t2 00000000 t3 00000000
GPR12: t4 00000000 t5 00000000 t6 00000000 t7 00000000
GPR16: s0 00000000 s1 00000000 s2 00000000 s3 00000000
GPR20: s4 00000000 s5 00000000 s6 00000000 s7 00000000
GPR24: t8 00000000 t9 00000000 k0 00000000 k1 00000000
GPR28: gp 00000000 sp 00000000 s8 00000000 ra 00000000
CP0 Status 0x00400000 Cause 0x00000400 EPC 0x00000000
Config0 0x80008482 Config1 0x9e190c8b LLAddr 0x00000000
IN:
0xbfc0041c: lui t0,0x9fc0
0xbfc00420: addiu t0,t0,1076
0xbfc00424: lui t9,0xa000
0xbfc00428: or t0,t0,t9
0xbfc0042c: jr t0
0xbfc00430: nop
---------------- 2 00000090
------------------------------------------------
pc=0xbfc00434 HI=0x08428ec4 LO=0x08428ed4 ds 0090 bfc00434 0
GPR00: r0 00000000 at 00000000 v0 00000000 v1 00000000
GPR04: a0 00000000 a1 00000000 a2 00000000 a3 00000000
GPR08: t0 bfc00434 t1 00000000 t2 00000000 t3 00000000
GPR12: t4 00000000 t5 00000000 t6 00000000 t7 00000000
GPR16: s0 00000000 s1 00000000 s2 00000000 s3 00000000
GPR20: s4 00000000 s5 00000000 s6 00000000 s7 00000000
GPR24: t8 00000000 t9 a0000000 k0 00000000 k1 00000000
GPR28: gp 00000000 sp 00000000 s8 00000000 ra 00000000
CP0 Status 0x00400000 Cause 0x00000400 EPC 0x00000000
Config0 0x80008482 Config1 0x9e190c8b LLAddr 0x00000000
IN:
0xbfc00434: jal 0xbfc008bc
0xbfc00438: nop
---------------- 2 00000090
------------------------------------------------
pc=0xbfc008bc HI=0x08428ec4 LO=0x08428ed4 ds 0090 bfc00434 0
GPR00: r0 00000000 at 00000000 v0 00000000 v1 00000000
GPR04: a0 00000000 a1 00000000 a2 00000000 a3 00000000
GPR08: t0 bfc00434 t1 00000000 t2 00000000 t3 00000000
GPR12: t4 00000000 t5 00000000 t6 00000000 t7 00000000
GPR16: s0 00000000 s1 00000000 s2 00000000 s3 00000000
GPR20: s4 00000000 s5 00000000 s6 00000000 s7 00000000
GPR24: t8 00000000 t9 a0000000 k0 00000000 k1 00000000
GPR28: gp 00000000 sp 00000000 s8 00000000 ra bfc0043c
CP0 Status 0x00400000 Cause 0x00000400 EPC 0x00000000
Config0 0x80008482 Config1 0x9e190c8b LLAddr 0x00000000
IN:
0xbfc008bc: move s0,ra
0xbfc008c0: lui k1,0x9fc0
0xbfc008c4: addiu k1,k1,32
0xbfc008c8: or k1,k1,t9
0xbfc008cc: lw k0,0(k1)
0xbfc008d0: beqz k0,0xbfc0095c
0xbfc008d4: nop
---------------- 2 00000090
------------------------------------------------
pc=0xbfc008d8 HI=0x08428ec4 LO=0x08428ed4 ds 0090 bfc00434 0
GPR00: r0 00000000 at 00000000 v0 00000000 v1 00000000
GPR04: a0 00000000 a1 00000000 a2 00000000 a3 00000000
GPR08: t0 bfc00434 t1 00000000 t2 00000000 t3 00000000
GPR12: t4 00000000 t5 00000000 t6 00000000 t7 00000000
GPR16: s0 bfc0043c s1 00000000 s2 00000000 s3 00000000
GPR20: s4 00000000 s5 00000000 s6 00000000 s7 00000000
GPR24: t8 00000000 t9 a0000000 k0 9fc00050 k1 bfc00020
GPR28: gp 00000000 sp 00000000 s8 00000000 ra bfc0043c
CP0 Status 0x00400000 Cause 0x00000400 EPC 0x00000000
Config0 0x80008482 Config1 0x9e190c8b LLAddr 0x00000000
IN:
0xbfc008d8: or k0,k0,t9
0xbfc008dc: lhu a0,0(k0)
0xbfc008e0: lw t0,8(k0)
0xbfc008e4: lw a1,0(t0)
0xbfc008e8: lw t1,20(k0)
0xbfc008ec: lw a2,4(k0)
0xbfc008f0: or t1,t1,t9
0xbfc008f4: jalr t1
0xbfc008f8: nop
---------------- 2 00000090
cpu_mips_handle_mmu_fault pc bfc008d8 ad 9fc00398 rw 0 mmu_idx 0 smmu 1
cpu_mips_handle_mmu_fault address=9fc00398 ret 0 physical 1fc00398 prot 3
cpu_mips_handle_mmu_fault pc bfc008d8 ad bfc00064 rw 0 mmu_idx 0 smmu 1
cpu_mips_handle_mmu_fault address=bfc00064 ret 0 physical 1fc00064 prot 3
------------------------------------------------
pc=0xbfc0096c HI=0x08428ec4 LO=0x08428ed4 ds 0090 bfc0096c 0
GPR00: r0 00000000 at 00000000 v0 00000000 v1 00000000
GPR04: a0 00003351 a1 fffe0000 a2 80a0f0ff a3 00000000
GPR08: t0 9fc00398 t1 bfc0096c t2 00000000 t3 00000000
GPR12: t4 00000000 t5 00000000 t6 00000000 t7 00000000
GPR16: s0 bfc0043c s1 00000000 s2 00000000 s3 00000000
GPR20: s4 00000000 s5 00000000 s6 00000000 s7 00000000
GPR24: t8 00000000 t9 a0000000 k0 bfc00050 k1 bfc00020
GPR28: gp 00000000 sp 00000000 s8 00000000 ra bfc008fc
CP0 Status 0x00400000 Cause 0x00000400 EPC 0x00000000
Config0 0x80008482 Config1 0x9e190c8b LLAddr 0x00000000
IN:
0xbfc0096c: lhu t0,0(a1)
0xbfc00970: bne t0,a0,0xbfc009c4
0xbfc00974: nop
---------------- 2 00000090
cpu_mips_handle_mmu_fault pc bfc0096c ad fffe0000 rw 0 mmu_idx 0 smmu 1
cpu_mips_handle_mmu_fault address=fffe0000 ret -2 physical b7ceca12 prot 138223624
search pc 1
------------------------------------------------
pc=0xbfc0096c HI=0x08428ec4 LO=0x08428ed4 ds 0090 bfc0096c 0
GPR00: r0 00000000 at 00000000 v0 00000000 v1 00000000
GPR04: a0 00003351 a1 fffe0000 a2 80a0f0ff a3 00000000
GPR08: t0 9fc00398 t1 bfc0096c t2 00000000 t3 00000000
GPR12: t4 00000000 t5 00000000 t6 00000000 t7 00000000
GPR16: s0 bfc0043c s1 00000000 s2 00000000 s3 00000000
GPR20: s4 00000000 s5 00000000 s6 00000000 s7 00000000
GPR24: t8 00000000 t9 a0000000 k0 bfc00050 k1 bfc00020
GPR28: gp 00000000 sp 00000000 s8 00000000 ra bfc008fc
CP0 Status 0x00400000 Cause 0x00000400 EPC 0x00000000
Config0 0x80008482 Config1 0x9e190c8b LLAddr 0x00000000
IN:
0xbfc0096c: lhu t0,0(a1)
0xbfc00970: bne t0,a0,0xbfc009c4
0xbfc00974: nop
---------------- 2 00000090
do_raise_exception_err: 26 1
do_interrupt enter: PC bfc0096c EPC 00000000 TLB load exception
do_interrupt: PC bfc00200 EPC bfc0096c cause 2
S 00400002 C 00000408 A fffe0000 D 00000000
------------------------------------------------
pc=0xbfc00200 HI=0x08428ec4 LO=0x08428ed4 ds 0098 bfc0096c 0
GPR00: r0 00000000 at 00000000 v0 00000000 v1 00000000
GPR04: a0 00003351 a1 fffe0000 a2 80a0f0ff a3 00000000
GPR08: t0 9fc00398 t1 bfc0096c t2 00000000 t3 00000000
GPR12: t4 00000000 t5 00000000 t6 00000000 t7 00000000
GPR16: s0 bfc0043c s1 00000000 s2 00000000 s3 00000000
GPR20: s4 00000000 s5 00000000 s6 00000000 s7 00000000
GPR24: t8 00000000 t9 a0000000 k0 bfc00050 k1 bfc00020
GPR28: gp 00000000 sp 00000000 s8 00000000 ra bfc008fc
CP0 Status 0x00400002 Cause 0x00000408 EPC 0xbfc0096c
Config0 0x80008482 Config1 0x9e190c8b LLAddr 0x00000000
IN:
0xbfc00200: lwu zero,984(s8)
0xbfc00204: 0x1ab3f00
0xbfc00208: lwu zero,2412(s8)
0xbfc0020c: lwu zero,2512(s8)
0xbfc00210: lwu zero,2684(s8)
0xbfc00214: alni.ob $f23,$f6,$f1,1
0xbfc00218: lwu zero,3404(s8)
0xbfc0021c: lwu zero,3008(s8)
0xbfc00220: lwu zero,3120(s8)
0xbfc00224: lwu zero,4124(s8)
0xbfc00228: nop
0xbfc0022c: ll zero,0(zero)
0xbfc00230: nop
0xbfc00234: j 0xb8180004
0xbfc00238: lwu zero,3496(s8)
---------------- 2 00000098
do_raise_exception_err: 20 0
do_interrupt enter: PC bfc00200 EPC bfc0096c reserved instruction exception
do_interrupt: PC bfc00380 EPC bfc0096c cause 10
S 00400002 C 00000428 A fffe0000 D 00000000
------------------------------------------------
pc=0xbfc00380 HI=0x08428ec4 LO=0x08428ed4 ds 0098 bfc0096c 0
GPR00: r0 00000000 at 00000000 v0 00000000 v1 00000000
GPR04: a0 00003351 a1 fffe0000 a2 80a0f0ff a3 00000000
GPR08: t0 9fc00398 t1 bfc0096c t2 00000000 t3 00000000
GPR12: t4 00000000 t5 00000000 t6 00000000 t7 00000000
GPR16: s0 bfc0043c s1 00000000 s2 00000000 s3 00000000
GPR20: s4 00000000 s5 00000000 s6 00000000 s7 00000000
GPR24: t8 00000000 t9 a0000000 k0 bfc00050 k1 bfc00020
GPR28: gp 00000000 sp 00000000 s8 00000000 ra bfc008fc
CP0 Status 0x00400002 Cause 0x00000428 EPC 0xbfc0096c
Config0 0x80008482 Config1 0x9e190c8b LLAddr 0x00000000
IN:
0xbfc00380: nop
0xbfc00384: j 0xb8180004
0xbfc00388: lwu zero,3496(s8)
---------------- 2 00000098
do_raise_exception_err: 20 0
do_interrupt enter: PC bfc00388 EPC bfc0096c reserved instruction exception
do_interrupt: PC bfc00380 EPC bfc0096c cause 10
S 00400002 C 00000428 A fffe0000 D 00000000
do_raise_exception_err: 20 0
do_interrupt enter: PC bfc00388 EPC bfc0096c reserved instruction exception
do_interrupt: PC bfc00380 EPC bfc0096c cause 10
S 00400002 C 00000428 A fffe0000 D 00000000
next prev parent reply other threads:[~2008-07-06 1:45 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-06-27 18:50 [Qemu-devel] MIPS emulation Luke -Jr
2008-06-28 14:01 ` Luke -Jr
2008-06-28 19:39 ` Thiemo Seufer
2008-06-28 22:12 ` Luke -Jr
2008-07-04 2:02 ` Luke -Jr
2008-07-04 2:44 ` Thiemo Seufer
2008-07-04 3:27 ` Luke -Jr
2008-07-06 1:45 ` Luke -Jr [this message]
2008-07-06 4:52 ` Thiemo Seufer
2008-07-06 5:12 ` Luke -Jr
2008-07-07 1:46 ` Luke -Jr
2008-07-07 18:08 ` Luke -Jr
2008-07-08 4:13 ` [Qemu-devel] mapping devices to 0xfffe0000+ Luke -Jr
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200807052045.17038.luke@dashjr.org \
--to=luke@dashjr.org \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).