qemu-trivial
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-trivial] [Qemu-devel] PING Re: [PATCH v3] target-i386: Fix segment


From: Tobias Markus
Subject: [Qemu-trivial] [Qemu-devel] PING Re: [PATCH v3] target-i386: Fix segment cache dump
Date: Fri, 13 Sep 2013 16:21:44 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130806 Thunderbird/17.0.8

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

PING
(Mail resent - sorry, Thunderbird wrapped line in the first mail)

PS: Sorry for the two wrapped lines below ---, but probably not worth
resending the patch just for that.

On 08/25/2013 12:20 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 <address@hidden>
> ---
> v3: * Manually Break Lines
>     * Again change line wrapping as suggested by Eric Blake
> v2: * Fix line wrapping as suggested in IRC
>     * Break the line
> Note that alternatively, Data Segments in Long Mode could be logged as "DS64" 
> to avoid confusion about the missing 64 postfix. (But that would be, strictly 
> speaking, wrong because there are only DSs and no DS16/32/64 in Long Mode.)
> PS: This is my first contribution to an Open Source Project and I would be 
> very happy about constructive feedback, especially about possible wrong line 
> wrapping.
>   target-i386/helper.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/target-i386/helper.c b/target-i386/helper.c
> index bf3e2ac..0edb93b 100644
> --- a/target-i386/helper.c
> +++ b/target-i386/helper.c
> @@ -147,7 +147,9 @@ cpu_x86_dump_seg_cache(CPUX86State *env, FILE *f, 
> fprintf_function cpu_fprintf,
>              cpu_fprintf(f, " [%c%c", (sc->flags & DESC_C_MASK) ? 'C' : '-',
>                          (sc->flags & DESC_R_MASK) ? 'R' : '-');
>          } else {
> -            cpu_fprintf(f, (sc->flags & DESC_B_MASK) ? "DS  " : "DS16");
> +            cpu_fprintf(f,
> +                        (sc->flags & DESC_B_MASK || env->hflags & 
> HF_LMA_MASK)
> +                        ? "DS  " : "DS16");
>              cpu_fprintf(f, " [%c%c", (sc->flags & DESC_E_MASK) ? 'E' : '-',
>                          (sc->flags & DESC_W_MASK) ? 'W' : '-');
>          }
> 

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.21 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iEYEARECAAYFAlIzH3gACgkQAO6N0EYmC9ZZaACeLJZ4fJ9QARYuBHXwKCyV6uMN
X/4AnjP9gqnop9fjXQWXhFDxqEgofkw7
=BEj3
-----END PGP SIGNATURE-----



reply via email to

[Prev in Thread] Current Thread [Next in Thread]