On Thu, 2023-09-14 at 08:49 +0000, Paul Durrant wrote:
> --- a/include/linux/kvm_types.h
> +++ b/include/linux/kvm_types.h
> @@ -64,7 +64,8 @@ struct gfn_to_hva_cache {
>
> struct gfn_to_pfn_cache {
> u64 generation;
> - gpa_t gpa;
> + unsigned long addr;
On 32-bit hosts gpa_t is 64 bits and doesn't fit in an 'unsigned long'
> + bool addr_is_gpa;
Don't put that there. There are already bools at the end of the struct
which wouldn't leave 63 bits of padding.
On 14/09/2023 14:51, David Woodhouse wrote:
> On Thu, 2023-09-14 at 08:49 +0000, Paul Durrant wrote:
>> --- a/include/linux/kvm_types.h
>> +++ b/include/linux/kvm_types.h
>> @@ -64,7 +64,8 @@ struct gfn_to_hva_cache {
>>
>> struct gfn_to_pfn_cache {
>> u64 generation;
>> - gpa_t gpa;
>> + unsigned long addr;
>
> On 32-bit hosts gpa_t is 64 bits and doesn't fit in an 'unsigned long'
>
Damn. So used to the host only ever being 64-bit. A u64 it is then.
>> + bool addr_is_gpa;
>
> Don't put that there. There are already bools at the end of the struct
> which wouldn't leave 63 bits of padding.
>
True. Will move.
Paul