Re: [PATCHv7 00/14] mm, x86/cc: Implement support for unaccepted memory

Kirill A. Shutemov
2022-07-19T22:01:34Z

On Tue, Jul 19, 2022 at 11:50:57PM +0200, Borislav Petkov wrote:
> On Tue, Jul 19, 2022 at 02:35:45PM -0700, Dave Hansen wrote:
> > They're trying to design something that can (forever) handle guests that
> > might not be able to accept memory.
>
> Wait, what?
>
> If you can't modify those guests to teach them to accept memory, how do
> you add TDX or SNP guest support to them?
>
> I.e., you need to modify the guests and then you can add memory
> acceptance. Basically, your point below...
>
> > It's based on the idea that *something* needs to assume control and
> > EFI doesn't have enough information to assume control.
> >
> > I wish we didn't need all this complexity, though.
> >
> > There are three entities that can influence how much memory is accepted:
> >
> > 1. The host
> > 2. The guest firmware
> > 3. The guest kernel (or bootloader or something after the firmware)
> >
> > This whole thread is about how #2 and #3 talk to each other and make
> > sure *someone* does it.
> >
> > I kinda think we should just take the guest firmware out of the picture.
> > There are only going to be a few versions of the kernel that can boot
> > under TDX (or SEV-SNP) and *can't* handle unaccepted memory. It seems a
> > bit silly to design this whole interface for a few versions of the OS
> > that TDX folks tell me can't be used anyway.
> >
> > I think we should just say if you want to run an OS that doesn't have
> > unaccepted memory support, you can either:
> >
> > 1. Deal with that at the host level configuration
> > 2. Boot some intermediate thing like a bootloader that does acceptance
> > before running the stupid^Wunenlightended OS
> > 3. Live with the 4GB of pre-accepted memory you get with no OS work.
> >
> > Yeah, this isn't convenient for some hosts. But, really, this is
> > preferable to doing an EFI/OS dance until the end of time.
>
> Ack. Definitely.

I like it too as it is no-code solution :P

Peter, I'm pretty sure unaccepted memory support hits upstream well before
TDX get adopted widely in production. I think it is pretty reasonable to
deal with it on host side in meanwhile.

Any objections?

--
Kirill A. Shutemov