[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 4/6] target-arm: sort TCG cpreg list by KVM-style 64
From: |
Peter Maydell |
Subject: |
[Qemu-devel] [PULL 4/6] target-arm: sort TCG cpreg list by KVM-style 64 bit ID number |
Date: |
Fri, 25 Oct 2013 19:07:27 +0100 |
From: Alvise Rigo <address@hidden>
Both KVM and TCG populate the cpreg_list with 64 bit register 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>
Message-id: address@hidden
[PMM: fixed indent, coding style and commit message formatting]
Signed-off-by: Peter Maydell <address@hidden>
---
target-arm/helper.c | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/target-arm/helper.c b/target-arm/helper.c
index 73476ed..3445813 100644
--- a/target-arm/helper.c
+++ b/target-arm/helper.c
@@ -225,10 +225,16 @@ 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;
+ uint64_t aidx = cpreg_to_kvm_id(*(uint32_t *)a);
+ uint64_t bidx = cpreg_to_kvm_id(*(uint32_t *)b);
- return aidx - bidx;
+ if (aidx > bidx) {
+ return 1;
+ }
+ if (aidx < bidx) {
+ return -1;
+ }
+ return 0;
}
static void cpreg_make_keylist(gpointer key, gpointer value, gpointer udata)
--
1.7.9.5
- [Qemu-devel] [PULL 0/6] target-arm queue, Peter Maydell, 2013/10/25
- [Qemu-devel] [PULL 5/6] target-arm: fix sorting issue of KVM cpreg list, Peter Maydell, 2013/10/25
- [Qemu-devel] [PULL 2/6] hw/arm: Tidy up conditional calls to arm_load_kernel, Peter Maydell, 2013/10/25
- [Qemu-devel] [PULL 4/6] target-arm: sort TCG cpreg list by KVM-style 64 bit ID number,
Peter Maydell <=
- [Qemu-devel] [PULL 1/6] hw/arm/boot: Make user not specifying a kernel not an error, Peter Maydell, 2013/10/25
- [Qemu-devel] [PULL 6/6] integrator: fix Linux boot failure by emulating dbg region, Peter Maydell, 2013/10/25
- [Qemu-devel] [PULL 3/6] target-arm: Add CP15 VBAR support, Peter Maydell, 2013/10/25
- Re: [Qemu-devel] [PULL 0/6] target-arm queue, Edgar E. Iglesias, 2013/10/31
- Re: [Qemu-devel] [PULL 0/6] target-arm queue, Andreas Färber, 2013/10/31
- Re: [Qemu-devel] [PULL 0/6] target-arm queue, Anthony Liguori, 2013/10/31
- Re: [Qemu-devel] [PULL 0/6] target-arm queue, Peter Maydell, 2013/10/31
- Re: [Qemu-devel] [PULL 0/6] target-arm queue, Andreas Färber, 2013/10/31
- Re: [Qemu-devel] [PULL 0/6] target-arm queue, Anthony Liguori, 2013/10/31
- Re: [Qemu-devel] [PULL 0/6] target-arm queue, Andreas Färber, 2013/10/31