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. thanks -- PMM