On Mon, May 21, 2012 at 9:03 AM, 陳韋任 <che...@iis.sinica.edu.tw> wrote: >> >> diff --git a/target-openrisc/mem_helper.c b/target-openrisc/mem_helper.c >> >> index a2d93c7..922dd6b 100644 >> >> --- a/target-openrisc/mem_helper.c >> >> +++ b/target-openrisc/mem_helper.c >> >> @@ -42,5 +42,30 @@ >> >> 戹oid tlb_fill(CPUOPENRISCState *env1, target_ulong addr, int is_write, >> >> ? ? ? ? ? ? ? int mmu_idx, uintptr_t retaddr) >> >> 𣏵 >> >> + ? ?TranslationBlock *tb; >> >> + ? 蟖PUOPENRISCState *saved_env; >> >> + ? 抦nsigned long pc; >> >> + ? 犲nt ret; >> >> + >> >> + ? 坟aved_env = env; >> >> + ? 猬nv = env1; >> > >> > Please avoid compiling with AREG0 and remove this. >> > >> >> Sorry, I'm not very sure about it, may you give me more hits? > > In dyngen-exec.h, the CPUArchState *env is kept in particular host register > (AREG0), so you shouldn't use env here somehow. Maybe Blue can show you some > example how to do that, target-sparc/* might be a place?
For example this patch replaces AREG0 env with a parameter: http://repo.or.cz/w/qemu/blueswirl.git/commitdiff/addb3b03425550d677d9d8d466398f715d090233 > > Regards, > chenwj > > -- > Wei-Ren Chen (陳韋任) > Computer Systems Lab, Institute of Information Science, > Academia Sinica, Taiwan (R.O.C.) > Tel:886-2-2788-3799 #1667 > Homepage: http://people.cs.nctu.edu.tw/~chenwj