qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 5/7] qmp: Add the qmp_query_sgx_capabilities()


From: Philippe Mathieu-Daudé
Subject: Re: [PATCH 5/7] qmp: Add the qmp_query_sgx_capabilities()
Date: Thu, 9 Sep 2021 15:25:34 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0

On 9/9/21 2:06 PM, Yang Zhong wrote:
> On Thu, Sep 09, 2021 at 11:36:58AM +0200, Philippe Mathieu-Daudé wrote:
>> On 9/9/21 4:51 AM, Yang Zhong wrote:
>>> On Wed, Sep 08, 2021 at 10:38:59AM +0200, Philippe Mathieu-Daudé wrote:
>>>> On 9/8/21 10:19 AM, Yang Zhong wrote:
>>>>> Libvirt can use qmp_query_sgx_capabilities() to get the host
>>>>> sgx capabilities.
>>>>>
>>>>> Signed-off-by: Yang Zhong <yang.zhong@intel.com>
>>>>> ---
>>>>>  hw/i386/sgx.c              | 66 ++++++++++++++++++++++++++++++++++++++
>>>>>  include/hw/i386/sgx.h      |  1 +
>>>>>  qapi/misc-target.json      | 18 +++++++++++
>>>>>  target/i386/monitor.c      |  5 +++
>>>>>  tests/qtest/qmp-cmd-test.c |  1 +
>>>>>  5 files changed, 91 insertions(+)
>>>>
>>>>> +SGXInfo *sgx_get_capabilities(Error **errp)
>>>>> +{
>>>>> +    SGXInfo *info = NULL;
>>>>> +    uint32_t eax, ebx, ecx, edx;
>>>>> +
>>>>> +    int fd = qemu_open_old("/dev/sgx_vepc", O_RDWR);
>>>>> +    if (fd < 0) {
>>>>> +        error_setg(errp, "SGX is not enabled in KVM");
>>>>> +        return NULL;
>>>>> +    }
>>>>
>>>> Is this Linux specific?
>>>
>>>   Philippe, The /dev/sgx_vepc node is used for KVM side to expose the SGX
>>>   EPC section to guest. Libvirt then use the '-machine none' qemu command 
>>>   to query host SGX capabilities(especially for host SGX EPC section size)
>>>   to decide how many SGX VMs will be started in server. If this node doesn't
>>>   exist, the reason is host can't support SGX or SGX KVM module is not 
>>> compiled
>>>   in the kernel. thanks!
>>
>> Sorry but you didn't answer my question in an obvious way... Yes or no?
> 
>   Yes, this is Linux specific. thanks!

You made me have a deeper look at the code. So SGX (Kconfig) requires
KVM, which is only supported on Linux host. Thus this Linux specific
code is only built on Linux host. Thanks.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]