Re: [PATCH rfcv3 00/11] LIBVIRT: X86: TDX support

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

 



On Mon, Dec 04, 2023 at 03:38:30AM +0000, Duan, Zhenzhong wrote:
> 
> 
> >-----Original Message-----
> >From: Jonathon Jongsma <jjongsma@xxxxxxxxxx>
> >Sent: Saturday, December 2, 2023 6:30 AM
> >Subject: Re: [PATCH rfcv3 00/11] LIBVIRT: X86: TDX support
> >
> >Hello,
> >
> >Thanks for the submission. A few initial general comments:
> >
> >On 11/27/23 2:55 AM, Zhenzhong Duan wrote:
> >> Hi,
> >>
> >> This series brings libvirt the x86 TDX support.
> >>
> >> * What's TDX?
> >> TDX stands for Trust Domain Extensions which isolates VMs from
> >> the virtual-machine manager (VMM)/hypervisor and any other software
> >on
> >> the platform.
> >>
> >> To support TDX, multiple software components, not only KVM but also
> >QEMU,
> >> guest Linux and virtual bios, need to be updated. For more details, please
> >> check link[1], there are TDX spec links and public repository link at github
> >> for each software component.
> >>
> >> This patchset is another software component to extend libvirt to support
> >TDX,
> >> with which one can start a VM from high level rather than running qemu
> >directly.
> >>
> >>
> >> * Misc
> >> As QEMU use a software emulated way to reset guest which isn't
> >supported by TDX
> >> guest for security reason. We add a new way to emulate the reset for TDX
> >guest,
> >> called "hard reboot". We achieve this by killing old qemu and start a new
> >one.
> >
> >Can you expand on this a little bit more? What problems do you encounter
> >when you reboot the normal way? I did not notice any patches related to
> >a hard reboot in the v2 patchset that was submitted a while ago.
> 
> If we use existing "fake reboot" in libvirt, qmp command "system_reset" isn't
> supported for TDX guest, because TDX doesn't support resetting each register
> of vcpu for security except in TDX debug mode. TDX guest will be shutdown
> instead.

I suspect the same probably applies to SEV.

> >What other approaches did you consider to solve this issue? The changes
> >to virsh adding a reconnect timeout option for the console command in
> >particular feel hacky to me.
> 
> One possible way I can think of is to let qemu do the kill/create job,
> i.e. destroy TDX vcpus, create new one. This way we can utilize existing
> "fake reboot" interface between qemu and libvirt.

Yes, I do wonder if there's some reasonable way for QEMU to re-create the
KVM VM from scratch, to make this hardware limitation more transparent
for all mgmt apps.

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 :|
_______________________________________________
Devel mailing list -- devel@xxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxx




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux