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 >