On 12 October 2013 02:38, Alvise Rigo <a.r...@virtualopensystems.com> wrote:
> Both KVM and TCG populate the cpreg_list with 64 bit registers IDs, but in 
> the TCG side the cpreg_list is sorted using the 32 bit id version while in 
> the kvm side the 64 bit id version is used.
> This patch makes the sorting of the cpreg_list consistent between KVM and TCG.

...this commit message doesn't say why this is a bad thing.

> Signed-off-by: Alvise Rigo <a.r...@virtualopensystems.com>
> ---
>  target-arm/helper.c | 12 ++++++++----
>  1 file changed, 8 insertions(+), 4 deletions(-)
>
> diff --git a/target-arm/helper.c b/target-arm/helper.c
> index 2a98be7..834041e 100644
> --- a/target-arm/helper.c
> +++ b/target-arm/helper.c
> @@ -225,10 +225,14 @@ static void count_cpreg(gpointer key, gpointer opaque)
>
>  static gint cpreg_key_compare(gconstpointer a, gconstpointer b)
>  {
> -    uint32_t aidx = *(uint32_t *)a;
> -    uint32_t bidx = *(uint32_t *)b;
> -
> -    return aidx - bidx;
> +    uint64_t aidx = cpreg_to_kvm_id(*(uint32_t *)a);
> +    uint64_t bidx = cpreg_to_kvm_id(*(uint32_t *)b);
> +
> +    if (aidx > bidx)
> +       return 1;
> +    if (aidx < bidx)
> +       return -1;

Coding standard requires braces.

> +    return 0;
>  }
>
>  static void cpreg_make_keylist(gpointer key, gpointer value, gpointer udata)
> --
> 1.8.1.2
>

Reply via email to