[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 1/2] target-arm: sort TCG cpreg list by 64bit id ver
From: |
Alvise Rigo |
Subject: |
[Qemu-devel] [PATCH 1/2] target-arm: sort TCG cpreg list by 64bit id version |
Date: |
Fri, 11 Oct 2013 19:38:44 +0200 |
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.
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
- [Qemu-devel] [PATCH 1/2] target-arm: sort TCG cpreg list by 64bit id version,
Alvise Rigo <=