|
From: | alvise rigo |
Subject: | Re: [Qemu-devel] [PATCH 1/2] target-arm: sort TCG cpreg list by 64bit id version |
Date: | Mon, 14 Oct 2013 12:45:47 +0200 |
On 12 October 2013 02:38, Alvise Rigo <address@hidden> wrote:...this commit message doesn't say why this is a bad thing.
> 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.
Coding standard requires braces.
> Signed-off-by: Alvise Rigo <address@hidden>
> ---
> 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;
> + return 0;
> }
>
> static void cpreg_make_keylist(gpointer key, gpointer value, gpointer udata)
> --
> 1.8.1.2
>
[Prev in Thread] | Current Thread | [Next in Thread] |