From: Juergen Gross <jgross@suse.com>
To: Borislav Petkov <bp@alien8.de>, Tom Lendacky <thomas.lendacky@amd.com>
Cc: linux-kernel@vger.kernel.org, x86@kernel.org,
linux-arch@vger.kernel.org, linux-s390@vger.kernel.org,
linux-hyperv@vger.kernel.org,
virtualization@lists.linux-foundation.org,
Arnd Bergmann <arnd@arndb.de>, Heiko Carstens <hca@linux.ibm.com>,
Vasily Gorbik <gor@linux.ibm.com>,
Alexander Gordeev <agordeev@linux.ibm.com>,
Christian Borntraeger <borntraeger@linux.ibm.com>,
Sven Schnelle <svens@linux.ibm.com>,
Thomas Gleixner <tglx@linutronix.de>,
Ingo Molnar <mingo@redhat.com>,
Dave Hansen <dave.hansen@linux.intel.com>,
"H. Peter Anvin" <hpa@zytor.com>,
"K. Y. Srinivasan" <kys@microsoft.com>,
Haiyang Zhang <haiyangz@microsoft.com>,
Stephen Hemminger <sthemmin@microsoft.com>,
Wei Liu <wei.liu@kernel.org>, Dexuan Cui <decui@microsoft.com>,
Andy Lutomirski <luto@kernel.org>,
Peter Zijlstra <peterz@infradead.org>,
"Michael S. Tsirkin" <mst@redhat.com>,
Jason Wang <jasowang@redhat.com>,
Christoph Hellwig <hch@infradead.org>,
Oleksandr Tyshchenko <olekstysh@gmail.com>
Subject: Re: [PATCH 2/2] virtio: replace arch_has_restricted_virtio_memory_access()
Date: Wed, 27 Apr 2022 14:37:32 +0200 [thread overview]
Message-ID: <2a340424-29e6-8ad8-0181-f70450eecb80@suse.com> (raw)
In-Reply-To: <Ymk2/N/DdAyxQnV0@zn.tnic>
[-- Attachment #1.1.1: Type: text/plain, Size: 2515 bytes --]
On 27.04.22 14:28, Borislav Petkov wrote:
> On Wed, Apr 27, 2022 at 08:37:31AM +0200, Juergen Gross wrote:
>> On 26.04.22 19:35, Borislav Petkov wrote:
>>> On Tue, Apr 26, 2022 at 03:40:21PM +0200, Juergen Gross wrote:
>>>> /* protected virtualization */
>>>> static void pv_init(void)
>>>> {
>>>> if (!is_prot_virt_guest())
>>>> return;
>>>> + platform_set_feature(PLATFORM_VIRTIO_RESTRICTED_MEM_ACCESS);
>>>
>>> Kinda long-ish for my taste. I'll probably call it:
>>>
>>> platform_set()
>>>
>>> as it is implicit that it sets a feature bit.
>>
>> Okay, fine with me.
>>
>>>
>>>> diff --git a/arch/x86/mm/mem_encrypt_identity.c b/arch/x86/mm/mem_encrypt_identity.c
>>>> index b43bc24d2bb6..6043ba6cd17d 100644
>>>> --- a/arch/x86/mm/mem_encrypt_identity.c
>>>> +++ b/arch/x86/mm/mem_encrypt_identity.c
>>>> @@ -40,6 +40,7 @@
>>>> #include <linux/mm.h>
>>>> #include <linux/mem_encrypt.h>
>>>> #include <linux/cc_platform.h>
>>>> +#include <linux/platform-feature.h>
>>>> #include <asm/setup.h>
>>>> #include <asm/sections.h>
>>>> @@ -566,6 +567,10 @@ void __init sme_enable(struct boot_params *bp)
>>>> } else {
>>>> /* SEV state cannot be controlled by a command line option */
>>>> sme_me_mask = me_mask;
>>>> +
>>>> + /* Set restricted memory access for virtio. */
>>>> + platform_set_feature(PLATFORM_VIRTIO_RESTRICTED_MEM_ACCESS);
>>>
>>> Huh, what does that have to do with SME?
>>
>> I picked the function where sev_status is being set, as this seemed to be
>> the correct place to set the feature bit.
>
> What I don't understand is what does restricted memory access have to do
> with AMD SEV and how does play together with what you guys are trying to
> do?
>
> The big picture pls.
Ah, okay.
For support of virtio with Xen we want to not only support the virtio
devices like KVM, but use grants for letting the guest decide which
pages are allowed to be mapped by the backend (dom0).
Instead of physical guest addresses the guest will use grant-ids (plus
offset). In order to be able to handle this at the basic virtio level
instead of the single virtio device drivers, we need to use dedicated
dma-ops. And those will be used by virtio only, if the "restricted
virtio memory request" flag is set, which is used by SEV, too. In order
to let virtio set this flag, we need a way to communicate to virtio
that the running system is either a SEV guest or a Xen guest.
HTH,
Juergen
[-- Attachment #1.1.2: OpenPGP public key --]
[-- Type: application/pgp-keys, Size: 3149 bytes --]
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 495 bytes --]
next prev parent reply other threads:[~2022-04-27 12:37 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-04-26 13:40 [PATCH 0/2] kernel: add new infrastructure for platform_has() support Juergen Gross
2022-04-26 13:40 ` [PATCH 1/2] kernel: add platform_has() infrastructure Juergen Gross
2022-04-26 17:31 ` Borislav Petkov
2022-04-26 19:53 ` Heiko Carstens
2022-04-26 20:09 ` Borislav Petkov
2022-04-27 6:20 ` Juergen Gross
2022-04-26 13:40 ` [PATCH 2/2] virtio: replace arch_has_restricted_virtio_memory_access() Juergen Gross
2022-04-26 17:35 ` Borislav Petkov
2022-04-26 19:51 ` Heiko Carstens
2022-04-27 6:40 ` Juergen Gross
2022-04-27 12:26 ` Borislav Petkov
2022-04-27 12:45 ` Juergen Gross
2022-04-27 6:37 ` Juergen Gross
2022-04-27 12:28 ` Borislav Petkov
2022-04-27 12:37 ` Juergen Gross [this message]
2022-04-27 14:09 ` Tom Lendacky
2022-04-27 14:14 ` Juergen Gross
2022-04-27 7:48 ` [PATCH 0/2] kernel: add new infrastructure for platform_has() support Oleksandr
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=2a340424-29e6-8ad8-0181-f70450eecb80@suse.com \
--to=jgross@suse.com \
--cc=agordeev@linux.ibm.com \
--cc=arnd@arndb.de \
--cc=borntraeger@linux.ibm.com \
--cc=bp@alien8.de \
--cc=dave.hansen@linux.intel.com \
--cc=decui@microsoft.com \
--cc=gor@linux.ibm.com \
--cc=haiyangz@microsoft.com \
--cc=hca@linux.ibm.com \
--cc=hch@infradead.org \
--cc=hpa@zytor.com \
--cc=jasowang@redhat.com \
--cc=kys@microsoft.com \
--cc=linux-arch@vger.kernel.org \
--cc=linux-hyperv@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-s390@vger.kernel.org \
--cc=luto@kernel.org \
--cc=mingo@redhat.com \
--cc=mst@redhat.com \
--cc=olekstysh@gmail.com \
--cc=peterz@infradead.org \
--cc=sthemmin@microsoft.com \
--cc=svens@linux.ibm.com \
--cc=tglx@linutronix.de \
--cc=thomas.lendacky@amd.com \
--cc=virtualization@lists.linux-foundation.org \
--cc=wei.liu@kernel.org \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox