[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] i386/kvm: Fix build with -m32
From: |
Max Reitz |
Subject: |
Re: [Qemu-devel] [PATCH] i386/kvm: Fix build with -m32 |
Date: |
Mon, 24 Jun 2019 21:30:26 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.7.0 |
On 24.06.19 21:26, Max Reitz wrote:
> On 24.06.19 21:21, Eduardo Habkost wrote:
>> On Mon, Jun 24, 2019 at 09:02:14PM +0200, Max Reitz wrote:
>>> find_next_bit() takes a pointer of type "const unsigned long *", but the
>>> first argument passed here is a "uint64_t *". These types are
>>> incompatible when compiling qemu with -m32.
>>>
>>> Just cast it to "const void *", find_next_bit() works fine with any type
>>> on little-endian hosts (which x86 is).
>>>
>>> Fixes: c686193072a47032d83cb4e131dc49ae30f9e5d
>>> Signed-off-by: Max Reitz <address@hidden>
>>
>> Why not declare kvm_hyperv_properties.dependencies with the right
>> type for bitmaps, using
>> unsigned long dependencies[BITS_TO_LONGS(64)]
>> ?
>
> How would you (statically) initialize that field, then?
>
> I cannot imagine a reasonable static way that does not invoke the same
> “The host must be little-endian, so it’s OK” assumption.
Sorry, brain fart. That’s not the problem because in either case, the
lower index will receive the lower-indexed bits.
But we’d still have to deal with the fact that it could either be one or
two indices, which doesn’t seem nice to initialize either.
Max
> The better question is perhaps, why not use ffsll(). Hm. I don’t know,
> maybe I should?
>
> Max
>