[libvirt][PATCH v16 5/9] conf: Introduce SGX EPC element into device memory xml

Michal Prívozník mprivozn at redhat.com
Tue Nov 8 11:24:12 UTC 2022


On 10/14/22 13:12, Michal Prívozník wrote:
> On 10/8/22 06:00, Lin Yang wrote:
>> With NUMA config:
>>
>> <devices>
>>   ...
>>   <memory model='sgx-epc'>
>>     <source>
>>       <nodemask>0-1</nodemask>
>>     </source>
>>     <target>
>>       <size unit='KiB'>512</size>
>>       <node>0</node>
>>     </target>
>>   </memory>
>>   ...
>> </devices>
>>
>> Without NUMA config:
>>
>> <devices>
>>   ...
>>   <memory model='sgx-epc'>
>>     <target>
>>       <size unit='KiB'>512</size>
>>     </target>
>>   </memory>
>>   ...
>> </devices>
> 
> 
> Patches look good to me. And I'd like to merge them. However, in one of
> previous iterations Peter raised a concern whether this should be
> exposed as something else than <memory model='sgx-epc'/>. One fact that
> would support this is that SGX 'cuts' from guest memory. I mean, memory
> backend-epc does not add more RAM into the guest:
> 
> # ./qemu-system-x86_64 -S -nographic -nodefaults -m 128 \
> -machine pc,sgx-epc.0.memdev=memepc0,sgx-epc.0.node=0 \
> -object '{"qom-type":"memory-backend-epc","id":"memepc0","prealloc":true,"size":67108864,"host-nodes":[0],"policy":"bind"}' \
> -monitor stdio
> QEMU 7.1.50 monitor - type 'help' for more information
> (qemu) info memory-devices 
> Memory device [sgx-epc]: ""
>   memaddr: 0x100000000
>   size: 67108864
>   node: 0
>   memdev: /objects/memepc0
> (qemu) info memory_size_summary 
> base memory: 134217728
> plugged memory: 0
> (qemu) 
> 
> 
> Which is also the reason why we need to special case
> VIR_DOMAIN_MEMORY_MODEL_SGX_EPC so much.
> 
> On the other hand, the fact that QEMU exposes it as a memory backend
> means, that it kind of falls into <memory/> category.
> 
> So my question then is, Peter, are you okay with leaving this under
> <memory/> or do you have other suggestion?
> 

Maybe Dan can help us here?

Michal



More information about the libvir-list mailing list