On Wed, May 07, 2014 at 09:50:27AM +0100, Peter Maydell wrote: > On 6 May 2014 07:08, Edgar E. Iglesias <edgar.igles...@gmail.com> wrote: > > From: "Edgar E. Iglesias" <edgar.igles...@xilinx.com> > > > > Signed-off-by: Edgar E. Iglesias <edgar.igles...@xilinx.com> > > --- > > target-arm/translate-a64.c | 4 +++- > > 1 file changed, 3 insertions(+), 1 deletion(-) > > > > diff --git a/target-arm/translate-a64.c b/target-arm/translate-a64.c > > index b62db4d..4f8246f 100644 > > --- a/target-arm/translate-a64.c > > +++ b/target-arm/translate-a64.c > > @@ -137,8 +137,10 @@ void aarch64_cpu_dump_state(CPUState *cs, FILE *f, > > cpu_fprintf(f, " "); > > } > > } > > - cpu_fprintf(f, "PSTATE=%08x (flags %c%c%c%c)\n", > > + cpu_fprintf(f, "PSTATE=%08x (flags %c%c%c%c%c%c)\n", > > psr, > > + psr & PSTATE_A ? 'A' : '-', > > + psr & PSTATE_I ? 'I' : '-', > > psr & PSTATE_N ? 'N' : '-', > > psr & PSTATE_Z ? 'Z' : '-', > > psr & PSTATE_C ? 'C' : '-', > > Why A and I ? In particular in QEMU the A bit is always zero > because we don't do System Errors (aka asynchronous > external aborts), and it's weird to show I but not F. The > idea of splitting out NZCV is really that (as with the A32/T32 > state dump) they're the most useful bits for immediately > figuring out code flow); anything else you can fish out of > the hex value by hand if you really need it. I think you can > make a case for "decode only a small set of key bits" or > for "completely decode the whole register", but I'm not > sure adding only two more bits makes sense.
Hi, TBH I didn't give this much thought. I used the I flag while debugging some virq stuff and probably added A while stumbling in the dark at some point.. For v2 I've added the DAIF flags with delimiter if thats not good enough I suggest removing the patch, it's not very important. Cheers, Edgar