[libvirt][PATCH RESEND v12 0/6] Support query and use SGX

Michal Prívozník mprivozn at redhat.com
Tue May 31 14:29:33 UTC 2022


On 5/30/22 15:09, Michal Prívozník wrote:
> On 5/18/22 09:59, Haibin Huang wrote:
>>
> 
> Overall, these patches work. I've raised couple of points and for your
> convenience you can find reworked patches here:
> 
> https://gitlab.com/MichalPrivoznik/libvirt/-/commits/sgx_fixups/
> 
> Please see individual patches for comments.
> 
So, now that I've cleaned up the code I can start to test it, but
unfortunately, I don't have good news. It's not working. I've put the
following into my domain XML:

    <memory model='sgx-epc'>
      <target>
        <size unit='KiB'>16384</size>
      </target>
    </memory>

and this is the generated cmd line:

-machine
pc-i440fx-6.2,usb=off,dump-guest-core=off,sgx-epc.0.memdev=memepc0 \

-object
'{"qom-type":"memory-backend-memfd","id":"memepc0","hugetlb":true,"hugetlbsize":2097152,"share":true,"prealloc":true,"prealloc-threads":16,"size":16777216,"host-nodes":[0],"policy":"bind"}'
\

but if fails with:

2022-05-31T14:05:22.988793Z qemu-system-x86_64: Parameter
'sgx-epc.0.node' is missing

Now, there are two problems here:

1) obviously, wrong backend was picked. But this is easy to solve - just
move the  if (mem->model == VIR_DOMAIN_MEMORY_MODEL_SGX_EPC) case in
qemuBuildMemoryBackendProps() from the last patch before the memfd case.


2) apparently, .node attribute is required? Now, it's true that
initially my guest has 2 NUMA nodes defined, but even after I remove
those I still see the error. I believe I've raised this issue in one of
earlier reviews:

https://listman.redhat.com/archives/libvir-list/2022-February/228835.html

Please make sure that in v13 this is addressed (even at expense of not
working with QEMU-6.2.0 and requiring newer QEMU, if that's needed).
Wasting precious reviewer bandwidth does not help anybody.

Michal



More information about the libvir-list mailing list