On 25 August 2011 22:45, Richard Henderson <r...@twiddle.net> wrote: > @@ -1604,6 +1607,12 @@ static void gen_mfpr(int ra, int regno) > return; > } > > + if (regno == 250) { > + /* WALL_TIME */ > + gen_helper_get_time(cpu_ir[ra]); > + return; > + } > + > /* The basic registers are data only, and unknown registers > are read-zero, write-ignore. */ > if (data == 0) { > @@ -1650,6 +1659,11 @@ static ExitStatus gen_mtpr(DisasContext *ctx, int rb, > int regno) > gen_helper_halt(tmp); > return EXIT_PC_STALE; > > + case 251: > + /* ALARM */ > + gen_helper_set_alarm(tmp); > + break; > + > default: > /* The basic registers are data only, and unknown registers > are read-zero, write-ignore. */
Don't you need some magic around helper calls that read/write the time to keep -icount working? I don't understand this but Paolo does... -- PMM