target-arm: fix sorting issue of KVM cpreg list
The compare_u64 function was not sorting the KVM cpreg_list in the right way due to the wrong returned value. Since we are comparing two 64bit values we can't simply return their difference if the returned type is int. Signed-off-by: Alvise Rigo <a.rigo@virtualopensystems.com> Message-id: 1381513125-26802-2-git-send-email-a.rigo@virtualopensystems.com [PMM: fixed coding style, indent and commit message formatting] Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
parent
cbf239b769
commit
0bc2a331e4
@ -67,7 +67,13 @@ static bool reg_syncs_via_tuple_list(uint64_t regidx)
|
||||
|
||||
static int compare_u64(const void *a, const void *b)
|
||||
{
|
||||
return *(uint64_t *)a - *(uint64_t *)b;
|
||||
if (*(uint64_t *)a > *(uint64_t *)b) {
|
||||
return 1;
|
||||
}
|
||||
if (*(uint64_t *)a < *(uint64_t *)b) {
|
||||
return -1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
int kvm_arch_init_vcpu(CPUState *cs)
|
||||
|
Loading…
Reference in New Issue
Block a user