From nobody Fri May 17 13:20:19 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+99363+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+99363+1787277+3901457@groups.io ARC-Seal: i=1; a=rsa-sha256; t=1675192126; cv=none; d=zohomail.com; s=zohoarc; b=WG35/J+Ap3zijNRnvrrf+I+tzeA+S0/78kP0J3r8rSOB1JckHL5klsGJG0LnHKBUnrZra7F+Q7XzsNFja8KXOLmNEOGZQPL8rxydOa4TCZmGB7RXg3JqyH80I0JgywwECQUmGavPdUQDr0No+rvEjZHfbgmKN4fkv2zWgonIV4w= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1675192126; h=Content-Type:Cc:Date:From:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Sender:Subject:To; bh=usXmAh8uGQuQsAVJQbbProlC5Ox/nLDn7ppHnf4ECd4=; b=d1F20DqUHm+Q+y2CF874q57YWlLzBXjqb1JUldWRPk2OgCETxfr1YBX8nRKwFezbt6lB8uzCMF0TapqPWGcTP0BcPSvdg5fD4hunMScZwTdJvkdppuzP1jG8+eS4CCX76AE+0mZSx9gaDLBS+ZSRppC/fwPotQhQZUAS+csyBnA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+99363+1787277+3901457@groups.io Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1675192126139206.93830347273922; Tue, 31 Jan 2023 11:08:46 -0800 (PST) Return-Path: X-Received: by 127.0.0.2 with SMTP id P3peYY1788612xfwfNiRfezm; Tue, 31 Jan 2023 11:08:45 -0800 X-Received: from mail-pg1-f201.google.com (mail-pg1-f201.google.com [209.85.215.201]) by mx.groups.io with SMTP id smtpd.web10.3072.1675192124431193030 for ; Tue, 31 Jan 2023 11:08:44 -0800 X-Received: by mail-pg1-f201.google.com with SMTP id k16-20020a635a50000000b0042986056df6so7133163pgm.2 for ; Tue, 31 Jan 2023 11:08:44 -0800 (PST) X-Gm-Message-State: tkkbj9I30VSi3faglny19mCex1787277AA= X-Google-Smtp-Source: AK7set9rC01X7+3Fn3qm0gxxbtZgA0lfLC57bsAF9NatvGh7h3MCdkzMu7eW0msZjdYsOWLL5TARKx4kOWK9emohJQ== X-Received: from dionnaglaze.c.googlers.com ([fda3:e722:ac3:cc00:7f:e700:c0a8:2ee6]) (user=dionnaglaze job=sendgmr) by 2002:a17:90a:6c41:b0:22c:4b14:1da0 with SMTP id x59-20020a17090a6c4100b0022c4b141da0mr2584216pjj.149.1675192123261; Tue, 31 Jan 2023 11:08:43 -0800 (PST) Date: Tue, 31 Jan 2023 19:08:37 +0000 Mime-Version: 1.0 Message-ID: <20230131190837.354950-1-dionnaglaze@google.com> Subject: [edk2-devel] [PATCH] OvmfPkg: Fix SevMemoryAcceptance memory attributes From: "Dionna Glaze via groups.io" To: devel@edk2.groups.io Cc: Dionna Glaze , Ard Biesheuvel , Erdem Aktas , James Bottomley , Jiewen Yao , Min Xu , Tom Lendacky , Michael Roth Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,dionnaglaze@google.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1675192125; bh=eu/H05F4lYuVtqu3Y2ekI1j/gma0SE+hadojfx3Un60=; h=Cc:Content-Type:Date:From:Reply-To:Subject:To; b=J97e5jojq21GZKBkTwsQrlA+RhakjHhnpKiHO924k3h03d5fT7gdN3sTSRjeD8x5dYt bTte1WyzIQCeisd6ByyYlYFoU5S7roc8UVfzLAfECE1LbAd2J/FKpxDG0yYx7u3hNOms+ TgD7U9Osr1hmfG2NDhUTxyJ2sl2v7Amv7N0= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1675192126754100002 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The hard-coded attributes for the re-added memory space should instead forward the replaced descriptor's capabilities, plus the EFI_MEMORY_CPU_CRYPTO attribute. Tested on Linux with efi=3Ddebug. Prior to this change, an 8GiB VM running a kernel without unaccepted memory support shows this entry efi: mem94: [Conventional| | |CC| | | | | | | | | | | ] range=3D[0x0000000100000000-0x000000023fffffff] (5120MB) This does not have the cache capabilities one would expect for system memory, UC|WC|WT|WB. After this change, the same entry becomes efi: mem94: [Conventional| | |CC| | | | | | | |WB|WT|WC|UC] range=3D[0x0000000100000000-0x000000023fffffff] (5120MB) This has all the expected attributes. Cc: Ard Biesheuvel Cc: Erdem Aktas Cc: James Bottomley Cc: Jiewen Yao Cc: Min Xu Cc: Tom Lendacky Cc: Michael Roth Signed-off-by: Dionna Glaze --- OvmfPkg/AmdSevDxe/AmdSevDxe.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/OvmfPkg/AmdSevDxe/AmdSevDxe.c b/OvmfPkg/AmdSevDxe/AmdSevDxe.c index 6391d1f775..59d5ff759f 100644 --- a/OvmfPkg/AmdSevDxe/AmdSevDxe.c +++ b/OvmfPkg/AmdSevDxe/AmdSevDxe.c @@ -23,6 +23,10 @@ #include #include #include +#include + +// Present, initialized, tested bits defined in MdeModulePkg/Core/Dxe/DxeM= ain.h +#define EFI_MEMORY_INTERNAL_MASK 0x0700000000000000ULL =20 STATIC CONFIDENTIAL_COMPUTING_SNP_BLOB_LOCATION mSnpBootDxeTable =3D { SIGNATURE_32 ('A', 'M', 'D', 'E'), @@ -78,6 +82,7 @@ AcceptAllMemory ( UINTN NumEntries; UINTN Index; EFI_STATUS Status; + UINT64 Capabilities; =20 DEBUG ((DEBUG_INFO, "Accepting all memory\n")); =20 @@ -112,11 +117,14 @@ AcceptAllMemory ( break; } =20 + Capabilities =3D EFI_MEMORY_CPU_CRYPTO | Desc->Capabilities; Status =3D gDS->AddMemorySpace ( EfiGcdMemoryTypeSystemMemory, Desc->BaseAddress, Desc->Length, - EFI_MEMORY_CPU_CRYPTO | EFI_MEMORY_XP | EFI_MEMORY_RO = | EFI_MEMORY_RP + // Allocable system memory resource capabilities as ma= sked + // in MdeModulePkg/Core/Dxe/Mem/Page.c:PromoteMemoryRe= source + Capabilities & ~(EFI_MEMORY_INTERNAL_MASK | EFI_MEMORY= _RUNTIME) ); if (EFI_ERROR (Status)) { break; --=20 2.39.1.456.gfc5497dd1b-goog -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#99363): https://edk2.groups.io/g/devel/message/99363 Mute This Topic: https://groups.io/mt/96659595/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-