[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2] SEV: QMP support for Inject-Launch-Secret
From: |
James Bottomley |
Subject: |
Re: [PATCH v2] SEV: QMP support for Inject-Launch-Secret |
Date: |
Fri, 03 Jul 2020 08:54:14 -0700 |
On Fri, 2020-07-03 at 12:11 +0100, Dr. David Alan Gilbert wrote:
> * Tobin Feldman-Fitzthum (tobin@linux.vnet.ibm.com) wrote:
[...]
> > + input.trans_uaddr = (uint64_t)data;
> > + input.trans_len = data_sz;
> > +
> > + input.guest_uaddr = (uint64_t)hva;
>
> Thanks for changing these; although it fails a 32bit build (which is
> probably mostly pointless for SEV, but it fails the build rather than
> building it out). The easy fix here seems to be:
> (uint64_t)(uintptr_t)
That's a pointer width issue. The recommended way to communicate to
the compiler that we really want to cast a 32 bit pointer to a 64 bit
value is actually to cast to unsigned long before casting to pointer,
so
(uint64_t)(unsigned long)hva
Many other things work, of course, but if you follow the recommendation
you (hopefully) don't trip future compiler warnings.
James