On 08/23/2013 12:09 PM, Tobias Markus wrote: > When in Long Mode, cpu_x86_seg_cache() logs "DS16" because the Default > operation size bit (D/B bit) is not set for Long Mode Data Segments since > there are only Data Segments in Long Mode and no explicit 16/32/64-bit > Descriptors. > This patch fixes this by checking the Long Mode Active bit of the hidden > flags variable and logging "DS" if it is set. (I.e. in Long Mode all Data > Segments are logged as "DS") > > Signed-off-by: Tobias Markus <tob...@markus-regensburg.de>
Reviewed-by: Richard Henderson <r...@twiddle.net> > + cpu_fprintf(f, (sc->flags & DESC_B_MASK || > + env->hflags & HF_LMA_MASK) > + ? "DS " : "DS16"); Though we don't have anything in CODING_STYLE that mandates this, IMO expressions shouldn't "unindent" in the middle like this. Better as cpu_fprintf(f, (sc->flags & DESC_B_MASK || env->hflags & HF_LMA_MASK ? "DS " : "DS16")); but that's just me and emacs... r~