On Wed, Mar 26, 2025 at 02:45:55AM +0000, Duan, Zhenzhong wrote:
> 
> 
> >-----Original Message-----
> >From: Daniel P. Berrangé <berra...@redhat.com>
> >Subject: Re: [PATCH rfcv4 05/13] conf: add tdx as launch security type
> >
> >On Fri, May 24, 2024 at 02:21:20PM +0800, Zhenzhong Duan wrote:
> >> When 'tdx' is used, the VM will launched with Intel TDX feature enabled.
> >> TDX feature supports running encrypted VM (Trust Domain, TD) under the
> >> control of KVM. A TD runs in a CPU model which protects the
> >> confidentiality of its memory and its CPU state from other software
> >>
> >> There is a child element 'policy' and three optional element for tdx type.
> >> In 'policy', bit 0 is set to enable TDX debug, bit 28 set to enable
> >> sept-ve-disable, other bits are reserved currently. mrConfigId, mrOwner
> >> and mrOwnerConfig are base64 encoded SHA384 digest.
> >>
> >> For example:
> >>
> >>  <launchSecurity type='tdx'>
> >>    <policy>0x10000001</policy>
> >>    <mrConfigId>xxx</mrConfigId>
> >>    <mrOwner>xxx</mrOwner>
> >>    <mrOwnerConfig>xxx</mrOwnerConfig>
> >>  </launchSecurity>
> >>
> >> Signed-off-by: Zhenzhong Duan <zhenzhong.d...@intel.com>
> >> ---
> >>  src/conf/domain_conf.c            | 42 +++++++++++++++++++++++++++++++
> >>  src/conf/domain_conf.h            |  9 +++++++
> >>  src/conf/schemas/domaincommon.rng | 29 +++++++++++++++++++++
> >>  src/conf/virconftypes.h           |  2 ++
> >>  src/qemu/qemu_command.c           |  2 ++
> >>  src/qemu/qemu_firmware.c          |  1 +
> >>  src/qemu/qemu_namespace.c         |  1 +
> >>  src/qemu/qemu_process.c           |  1 +
> >>  src/qemu/qemu_validate.c          |  1 +
> >>  9 files changed, 88 insertions(+)
> >>
> >> diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
> >> index a0912062ff..c557da0c65 100644
> >> --- a/src/conf/domain_conf.c
> >> +++ b/src/conf/domain_conf.c
> >
> >
> >> @@ -13649,6 +13654,24 @@ virDomainSEVDefParseXML(virDomainSEVDef
> >*def,
> >>  }
> >>
> >>
> >> +static int
> >> +virDomainTDXDefParseXML(virDomainTDXDef *def,
> >> +                        xmlXPathContextPtr ctxt)
> >> +{
> >> +    if (virXPathULongLongBase("string(./policy)", ctxt, 16, &def->policy) 
> >> < 0) {
> >> +        virReportError(VIR_ERR_XML_ERROR, "%s",
> >> +                       _("failed to get launch security policy for launch 
> >> security type
> >TDX"));
> >> +        return -1;
> >> +    }
> >
> >This makes the 'policy' attribute mandatory, but QEMU is quite happy
> >with it being unset, so we should not require this in libvirt either.
> 
> Yes, but I am trying to align with SEV which has same issue.
> So aligning with SEV vs. making TDX's 'policy' optional, you prefer the 2nd? 
> Pls confirm.

Yes, consistency is good. So if QEMU's sev/snp object lets policy be
optional, then we should make the same change in libvirt's SEV parsing
code too.

With regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|

Reply via email to