[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: hypercalls with 64-bit results
On 16.06.21 18:04, Jan Beulich wrote: All, several years back do_memory_op() in libxc was changed to have "long" return type. This is because some of the sub-ops return potentially large values as the hypercall return value (i.e. not in an argument structure field). This change, however, didn't have the intended effect from all I can tell, which apparently manifests in the present two remaining ovmf failures in the staging osstest flights. Anthony tells me that ovmf as of not very long ago puts the shared info page at a really high address, thus making the p2m of the guest very large. Its size gets returned by XENMEM_maximum_gpfn, as function return value. Since hypercalls from the tool stack are based on ioctl(), and since ioctl() has a return type of "int", I'm afraid there's no way we can deal with this by adjusting function return types in the libraries. Instead we appear to need either a new privcmd ioctl or new XENMEM_* subops (for those cases where potentially large values get returned). I think we can just use a multicall in libxc to wrap the affected operations. Juergen Attachment:
OpenPGP_0xB0DE9DD628BF132F.asc Attachment:
OpenPGP_signature
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |