Re: [PATCH v6 0/6] x86/tdx: Allow MMIO instructions from userspace

From: Dave Hansen
Date: Thu Sep 12 2024 - 11:49:53 EST


On 9/12/24 02:45, Kirill A. Shutemov wrote:
> On Wed, Sep 11, 2024 at 09:19:04AM -0700, Sean Christopherson wrote:
>> Yep. Based on the original report[*], it sounds like the userspace program is
>> doing a memcpy(), so it's hard to even argue that userspace is being silly.
> The kernel does MMIO accesses using special helpers that use well-known
> instructions. I believe we should educate userspace to do the same by
> rejecting emulation of anything more complex than plain loads and stores.
> Otherwise these asks will keep coming.

My assumption is that folks have VMM-specific kernel drivers and crusty
old userspace that mmap()'s an MMIO region exposed by that driver. They
want to keep their old userspace.

Once we're dictating that specific instructions be used, the old
userspace doesn't work and it needs to be changed. Once it needs to be
changed, then some _other_ new ABI might as well be considered.

Basically:

New ABI =~ Specific Kernel-mandated Instructions