[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 2a/6] x86: Allow multiple cpu feature matches
From: |
Glauber Costa |
Subject: |
Re: [Qemu-devel] [PATCH v2 2a/6] x86: Allow multiple cpu feature matches of lookup_feature |
Date: |
Wed, 27 Apr 2011 15:38:03 -0300 |
On Tue, 2011-04-19 at 13:06 +0200, Jan Kiszka wrote:
> kvmclock is represented by two feature bits. Therefore, lookup_feature
> needs to continue its search even after the first match. Enhance it
> accordingly and switch to a bool return type at this chance.
>
> Signed-off-by: Jan Kiszka <address@hidden>
> ---
> target-i386/cpuid.c | 14 ++++++++------
> 1 files changed, 8 insertions(+), 6 deletions(-)
>
> Glauber, could you check/ack this? Marcelo, please respin the series
> afterward. I'd like to see all bits upstream and merged back into
> qemu-kvm to proceed with switching the latter to upstream's kvm
> infrastructure.
Yes, this patch is okay.
Actually, I did sent out something like this, maybe Marcelo applied only
part of the series?
Anyway, Jan's version is handy, please apply it.
> diff --git a/target-i386/cpuid.c b/target-i386/cpuid.c
> index 814d13e..0ac592f 100644
> --- a/target-i386/cpuid.c
> +++ b/target-i386/cpuid.c
> @@ -182,20 +182,22 @@ static int altcmp(const char *s, const char *e, const
> char *altstr)
> }
>
> /* search featureset for flag *[s..e), if found set corresponding bit in
> - * *pval and return success, otherwise return zero
> + * *pval and return true, otherwise return false
> */
> -static int lookup_feature(uint32_t *pval, const char *s, const char *e,
> - const char **featureset)
> +static bool lookup_feature(uint32_t *pval, const char *s, const char *e,
> + const char **featureset)
> {
> uint32_t mask;
> const char **ppc;
> + bool found = false;
>
> - for (mask = 1, ppc = featureset; mask; mask <<= 1, ++ppc)
> + for (mask = 1, ppc = featureset; mask; mask <<= 1, ++ppc) {
> if (*ppc && !altcmp(s, e, *ppc)) {
> *pval |= mask;
> - break;
> + found = true;
> }
> - return (mask ? 1 : 0);
> + }
> + return found;
> }
>
> static void add_flagname_to_bitmaps(const char *flagname, uint32_t *features,
- [Qemu-devel] [PATCH 0/6] [PULL] qemu-kvm.git uq/master queue, Marcelo Tosatti, 2011/04/16
- [Qemu-devel] [PATCH 5/6] Redirect cpu_interrupt to callback handler, Marcelo Tosatti, 2011/04/16
- [Qemu-devel] [PATCH 1/6] kvm: use kernel-provided para_features instead of statically coming up with new capabilities, Marcelo Tosatti, 2011/04/16
- [Qemu-devel] [PATCH 3/6] kvm: create kvmclock when one of the flags are present, Marcelo Tosatti, 2011/04/16
- [Qemu-devel] [PATCH 4/6] Break up user and system cpu_interrupt implementations, Marcelo Tosatti, 2011/04/16
- Re: [Qemu-devel] [PATCH 0/6] [PULL] qemu-kvm.git uq/master queue, Anthony Liguori, 2011/04/16