[libvirt] [PATCH v4 01/11] conf: Add support for external swtpm TPM emulator to domain XML

Stefan Berger stefanb at linux.vnet.ibm.com
Tue May 15 13:10:20 UTC 2018


On 05/15/2018 07:17 AM, John Ferlan wrote:
>
> On 05/10/2018 05:57 PM, Stefan Berger wrote:
>> This patch adds support for an external swtpm TPM emulator. The XML for
>> this type of TPM looks as follows:
>>
>>   <tpm model='tpm-tis'>
>>     <backend type='emulator'/>
>>   </tpm>
>>
>> The XML will currently only define a TPM 1.2.
>>
>> Extend the documentation.
>>
>> Add a test case testing the XML parser and formatter.
>>
>> Signed-off-by: Stefan Berger <stefanb at linux.vnet.ibm.com>
>> Reviewed-by: John Ferlan <jferlan at redhat.com>
>> ---
>>   docs/formatdomain.html.in                 | 30 +++++++++++++++++++++++++++
>>   docs/schemas/domaincommon.rng             |  5 +++++
>>   src/conf/domain_audit.c                   |  2 ++
>>   src/conf/domain_conf.c                    | 28 +++++++++++++++++++------
>>   src/conf/domain_conf.h                    |  7 +++++++
>>   src/qemu/qemu_cgroup.c                    |  1 +
>>   src/qemu/qemu_command.c                   |  1 +
>>   src/qemu/qemu_domain.c                    |  1 +
>>   src/security/security_dac.c               |  2 ++
>>   src/security/security_selinux.c           |  2 ++
>>   tests/qemuxml2argvdata/tpm-emulator.xml   | 30 +++++++++++++++++++++++++++
>>   tests/qemuxml2xmloutdata/tpm-emulator.xml | 34 +++++++++++++++++++++++++++++++
>>   tests/qemuxml2xmltest.c                   |  1 +
>>   13 files changed, 138 insertions(+), 6 deletions(-)
>>   create mode 100644 tests/qemuxml2argvdata/tpm-emulator.xml
>>   create mode 100644 tests/qemuxml2xmloutdata/tpm-emulator.xml
>>
> Even though R-by in place...
>
>
> [...]
>
>> diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h
>> index 15d228b..c304b08 100644
>> --- a/src/conf/domain_conf.h
>> +++ b/src/conf/domain_conf.h
>> @@ -1286,6 +1286,7 @@ typedef enum {
>>   
>>   typedef enum {
>>       VIR_DOMAIN_TPM_TYPE_PASSTHROUGH,
>> +    VIR_DOMAIN_TPM_TYPE_EMULATOR,
>>   
>>       VIR_DOMAIN_TPM_TYPE_LAST
>>   } virDomainTPMBackendType;
>> @@ -1300,6 +1301,11 @@ struct _virDomainTPMDef {
>>           struct {
>>               virDomainChrSourceDef source;
>>           } passthrough;
>> +        struct {
>> +            virDomainChrSourceDef source;
>> +            char *storagepath;
>> +            char *logfile;
>> +        } emulator;
>>       } data;
>>   };
>>   
>> @@ -2814,6 +2820,7 @@ int virDomainDeviceAddressIsValid(virDomainDeviceInfoPtr info,
>>                                     int type);
>>   virDomainDeviceInfoPtr virDomainDeviceGetInfo(virDomainDeviceDefPtr device);
>>   void virDomainTPMDefFree(virDomainTPMDefPtr def);
>> +void virDomainTPMDelete(virDomainDefPtr def);
> No longer an API - so this can be removed.

Fixed.

     Stefan




More information about the libvir-list mailing list