[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <adb84c91-1651-94b6-0084-f86296e96530@linux.ibm.com>
Date: Mon, 15 Mar 2021 13:05:16 -0400
From: Tobin Feldman-Fitzthum <tobin@...ux.ibm.com>
To: Paolo Bonzini <pbonzini@...hat.com>, natet@...gle.com
Cc: Dov Murik <dovmurik@...ux.vnet.ibm.com>,
Tom Lendacky <thomas.lendacky@....com>, x86@...nel.org,
kvm@...r.kernel.org, linux-kernel@...r.kernel.org,
srutherford@...gle.com, seanjc@...gle.com, rientjes@...gle.com,
Brijesh Singh <brijesh.singh@....com>,
Ashish Kalra <ashish.kalra@....com>,
Laszlo Ersek <lersek@...hat.com>,
James Bottomley <jejb@...ux.ibm.com>,
Hubertus Franke <frankeh@...ibm.com>,
Tobin Feldman-Fitzthum <tobin@....com>
Subject: Re: [RFC] KVM: x86: Support KVM VMs sharing SEV context
On 3/11/21 11:29 AM, Paolo Bonzini wrote:
> On 11/03/21 16:30, Tobin Feldman-Fitzthum wrote:
>> I am not sure how the mirror VM will be supported in QEMU. Usually
>> there is one QEMU process per-vm. Now we would need to run a second
>> VM and communicate with it during migration. Is there a way to do
>> this without adding significant complexity?
>
> I can answer this part. I think this will actually be simpler than
> with auxiliary vCPUs. There will be a separate pair of VM+vCPU file
> descriptors within the same QEMU process, and some code to set up the
> memory map using KVM_SET_USER_MEMORY_REGION.
>
> However, the code to run this VM will be very small as the VM does not
> have to do MMIO, interrupts, live migration (of itself), etc. It just
> starts up and communicates with QEMU using a mailbox at a
> predetermined address.
We've been starting up our Migration Handler via OVMF. I'm not sure if
this would work with a minimal setup in QEMU.
-Tobin
>
> I also think (but I'm not 100% sure) that the auxiliary VM does not
> have to watch changes in the primary VM's memory map (e.g. mapping and
> unmapping of BARs). In QEMU terms, the auxiliary VM's memory map
> tracks RAMBlocks, not MemoryRegions, which makes things much simpler.
>
> There are already many examples of mini VMMs running special purpose
> VMs in the kernel's tools/testing/selftests/kvm directory, and I don't
> think the QEMU code would be any more complex than that.
>
> Paolo
>
Powered by blists - more mailing lists