qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] When the tlb_fill will be called from generated code?


From: 陳韋任
Subject: Re: [Qemu-devel] When the tlb_fill will be called from generated code?
Date: Wed, 28 Sep 2011 11:51:02 +0800
User-agent: Mutt/1.5.21 (2010-09-15)

> > I am not sure when/where __stl_mmu/__ldl_mmu are used. I do set
> 
> They are called from the places in TBs where
> tcg_gen_qemu_{ld,st}{8,16,32,64}{u,s} were injected.

  So you mean __stl_mmu/__ldl_mmu are called from the code cache.
 
> > breakpoint on __stl_mmu/__ldl_mmu, but the backtrace can only show
> > something like,
> >
> > #0 鍮_stl_mmu (addr=196608, val=0, mmu_idx=0) at 
> > /tmp/chenwj/temp/qemu-0.13.0/softmmu_template.h:228
> > #1 ?0x00000000400028e1 in ?? ()
> > #2 ?0x00000000000000b4 in ?? ()
> > #3 ?0xecc68ff412fa4137 in ?? ()
> > #4 ?0x0000000000000000 in ?? ()

  Does those ?? mean since we are in the code cache, so GDB cannot
show their backtarce?

> > When retaddr == NULL, then the calling sequence of tlb_fill is,
> >
> > 慯b_find_slow -> get_page_addr_code -> ldub_code -> __ldb_cmmu
> >
> > I can only guest the b in __ldb_cmmu means load byte, but I can't
> > figure out what's the difference between _cmmu and _mmu. Could you
> > give me some hint? Thanks!
> 
> _cmmu is used to access code, _mmu is for data.

  I see. Thanks, and I find building QEMU with --extra-cflags="-save-temps"
is really help. Those *.i files make things much clear.

Regards,
chenwj

-- 
Wei-Ren Chen (陳韋任)
Computer Systems Lab, Institute of Information Science,
Academia Sinica, Taiwan (R.O.C.)
Tel:886-2-2788-3799 #1667



reply via email to

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