From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=helo; client-ip=104.47.36.60; helo=nam02-sn1-obe.outbound.protection.outlook.com; envelope-from=brijesh.singh@amd.com; receiver=edk2-devel@lists.01.org Received: from NAM02-SN1-obe.outbound.protection.outlook.com (mail-sn1nam02on0060.outbound.protection.outlook.com [104.47.36.60]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 68EFF22402E03 for ; Thu, 1 Mar 2018 17:10:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amdcloud.onmicrosoft.com; s=selector1-amd-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=bxhPHYvx/i5ZTN9zy/IiBRz0eCC2d4aAIJsysVzyJ1c=; b=yw23Re2+IpAQr9RuUf/fJBFxEzxjU3ss6p7L8U/z2nr9Dkqsqvh2ESA7Z/f5ZeE7vhbXfFP03ak87f+O/U+0JjCuu2ULx6fWjvsf5RJH8P7bkLpL7HmUF/s2e480zodDtiF9dUyL4HXiGN+s3Fz42/MF8NhCVllmDEM5oCq5T3A= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=brijesh.singh@amd.com; Received: from wsp101034wss.amd.com (165.204.77.1) by CY1PR12MB0151.namprd12.prod.outlook.com (10.161.173.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.527.15; Fri, 2 Mar 2018 01:16:30 +0000 Cc: brijesh.singh@amd.com, Ard Biesheuvel , Jordan Justen To: Laszlo Ersek , edk2-devel-01 References: <20180302000408.14201-1-lersek@redhat.com> From: Brijesh Singh Message-ID: <2d6e37a5-fdfa-330d-d7ef-51e0350afdad@amd.com> Date: Thu, 1 Mar 2018 19:16:25 -0600 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 MIME-Version: 1.0 In-Reply-To: <20180302000408.14201-1-lersek@redhat.com> X-Originating-IP: [165.204.77.1] X-ClientProxiedBy: BN6PR03CA0053.namprd03.prod.outlook.com (10.173.137.15) To CY1PR12MB0151.namprd12.prod.outlook.com (10.161.173.21) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: f38b2b0d-704b-4229-1675-08d57fdb3bb3 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(48565401081)(4534165)(4627221)(201703031133081)(201702281549075)(5600026)(4604075)(2017052603307)(7153060)(7193020); SRVR:CY1PR12MB0151; X-Microsoft-Exchange-Diagnostics: 1; CY1PR12MB0151; 3:EHWEA0Dd/nGYo2Q7KJ2maXVDFfpoBxmglPjR6lSVPx1U5MSTJbs3+QWNjCG0VzY82ES2CQvK4BSuTyBT+oub0gA79yOc5ssLta9Ge3AqXdYPwCCzG3BoTFy1qGv0oJ1nyEOSu3LwvHGJZz1mjIifUbw5qc3l2Qq7kV5AgyH9Qr5ET2NESHcqMdAKLLP3Ltr8xK7n6OIUzTXNujp/2taQ9wvCVHFKYc/S07kkB8airbQjDJR6fDDWSbsuPgAYzCXh; 25:W/6kEB699H4vm0/vSQaRMeuFyKjQ6hNghRNQptflA9nCYISrZgNT5N3MEJZpbZfUiIgxOQInJ7YS06yRjeoAEBWfRICis6Y/7Osv9S0DS4Tjk7MOG8gJrOUQ2AilWOImzdumPsKa4uBTK/Yp1nN2fWC1POmiquyBg3gzTqv8nXiJ1PoY0DGUnLbyKI/EMFvGpZEa8egV1ZB8bbsS6txdo7eEZQltjZIXqgkzyC2EwpP1IQL8c8q5O2tG+XCdST8HoS3GKet1aKxtiHFEJpb32hL6t/eNT35N3OP+bHn9MbHzXyx+akut9kWLb6utUePVsgx1w+3wu5jNKCKx4yGw7Q==; 31:RsXTR5iIcjc/K9WwtAyYD+ocrqcds0q+fjCtH6uc6lXgkzzrEMRcXuPbAy3Gevg7s6DR+8oAdM8ejRRg1VNqRHR1XFauiecyHr39RKGzKX0SdAgyddL6gCk1SfQJNtriYhikK1MzIXtOh8LUq5LRboADiQVbwIsMwYGc+jCyUnlNOBYa6wxdFS8wE4Ng9X2NsJ+CSJGiCjXCqXc74P5xFnDZpYc5X7XHIjZTkN4x34I= X-MS-TrafficTypeDiagnostic: CY1PR12MB0151: X-Microsoft-Exchange-Diagnostics: 1; CY1PR12MB0151; 20:zSHKMzaNX4kO+lQWfxMUe0o1Flnb2lSeJg5CQkduz3GP/u2R8JEEmQeh/ZS13Ke8NQ/uXhBsXsq4qb7cKluskWnW7TitxTrEi8AVm3gc1KbeNbZMmLnUXPL6HXqW0bzAkbblhup0Th0aciQ2kMhBgaHa8qARdB4VmSxPHggMeOyIGDhuH+3+NJ6fE+Q01PTNPjkd2EEl7S7hBNvdTRW2nV/eMLA7RWF/MnH63eD/ajYSK/5Lgw7fFSLZ/U5jBD9UmbgaXqmqz+mQAmApnZo4DgTftRXpHxkJUmBjTxp5+NbMxUvUR4vkUihe7djy5tb/p9frA2xTvgkX8ky+Jj+DMNnhTlGAH0/9loJzOLSnnAxI+iB8CxJF2Py/cz6KTe7u+Qag0Yvul3nOFlF/OVk/1d3pr+TRbGxgwQEVCddbO7cPFUzahG2Ta0eNr2NbJYWKA7C0pDYfX5UXgSCBtMFwgu9/zJ+NTkE2K6V3t5Z0vMkazB3ESWLHBf5+VBIYaB4s X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(166708455590820)(767451399110)(162533806227266)(84791874153150)(228905959029699); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040501)(2401047)(5005006)(8121501046)(3002001)(93006095)(93001095)(10201501046)(3231220)(944501224)(52105095)(6055026)(6041288)(20161123562045)(20161123560045)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123558120)(6072148)(201708071742011); SRVR:CY1PR12MB0151; BCL:0; PCL:0; RULEID:; SRVR:CY1PR12MB0151; X-Microsoft-Exchange-Diagnostics: 1; CY1PR12MB0151; 4:qv9BvnrZ325BIr9nijtI7QwSqVa1G0AzoykBPtCoxjG6fkJoYE6RU8fRqSXmOfOpcamAkl3hR4yC+Plu6+5e6c82EVGDz0vzl7c7Gun2GFqWa/G4SFomb9QakCUcKBsznavA+XggEQpezv0AkaV+CxpZuSCiqs0cnO3GEmGv/qeiS3e4s1zc2UoJv1XkMWAcq3lnPN8jtDBv45gAoqGbl69f4lo++woYzejzZS4n4xslK4XxN6WXlFdJJT9I4aoSwoky1Z6WDBdOxvd4V5/uxYlasil75cfP6OWYHZlClJFWlJm64mvgXZVxCMpRR/kNgh4DI99uOfGw+3V30zpDEu0gVN+heGoReET9OaVREaftMjA55PAZs+GiiybPVKMZKjgkE15Ir2pvtoLiQ0v2QvItBy9IoIVGvIynlslGmjCMneaVzasOQoeGBJ08iRSq X-Forefront-PRVS: 05991796DF X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(366004)(346002)(39380400002)(39860400002)(376002)(396003)(189003)(199004)(2950100002)(106356001)(6666003)(65826007)(6246003)(31696002)(966005)(478600001)(6486002)(65956001)(110136005)(8936002)(47776003)(229853002)(7736002)(230700001)(50466002)(6116002)(316002)(8676002)(66066001)(81156014)(81166006)(3846002)(305945005)(59450400001)(97736004)(58126008)(68736007)(23676004)(26005)(386003)(5660300001)(7696005)(16526019)(53546011)(65806001)(54906003)(52146003)(52116002)(186003)(25786009)(2906002)(31686004)(6306002)(105586002)(4326008)(53416004)(36756003)(53936002)(64126003)(2486003)(86362001)(76176011); DIR:OUT; SFP:1101; SCL:1; SRVR:CY1PR12MB0151; H:wsp101034wss.amd.com; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: None (protection.outlook.com: amd.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtDWTFQUjEyTUIwMTUxOzIzOm1FZ0xzb3EvKytwbUgrYVU0Zy82a1UvNGxk?= =?utf-8?B?aHdDNmJuUlJqeWFsYzRnVlRGOHp6TG1TZTYwT3RwRVZYRkJET2Vvb1ZoUzE5?= =?utf-8?B?ekNoNzZCRmJkMHN6SE9tVGJ2YUc2WGNHSnhaenVtN0lMR0Ridm15eFJTM0RE?= =?utf-8?B?SGtScVBaVVdSUFRjNjBJUFljRStXOCtBTVVOWGRMeEo2RzN4dGVnaUc0bC9U?= =?utf-8?B?aVhNWTBVZjM5OUpHM3B2dEFKdk15ZmxNNDJuU1NDaGhsRzFJRytLSXl2M2dQ?= =?utf-8?B?WE1qek1HSXhUVkhFNUFHN0JlMy85TmpjMXBiM1EyWEtEcFVianFjdHpCeSt1?= =?utf-8?B?ZG1ZS0MrL1Vid2VtUURnYmpxcjJuWlRjelhrc1dQNDJoZGROeGJ3OENvbVFn?= =?utf-8?B?aWh2RmxxTGY5ZW5ZM1kydlNOVk4zbmYxVWdWU2wzYmxWQ1JwOWlhSWdEL2RC?= =?utf-8?B?SkY1QXV2K3FkMmErVnU2dHRCTFowZUxQMWJIRGpxV08yaE40T2RBYjVRaHFk?= =?utf-8?B?Ymlxb0xCWEJFZmJVbW4rR2tKcGJNK3VqZ0lnbVA1bFByUWVsb2FkekNoOVdY?= =?utf-8?B?Y0x4MXkyZzNGdHRZTGpnQ3p1L1l3RjB6UWRac2IvcSttZDR5TmNDajVMYi9Z?= =?utf-8?B?Uldvb1lzSHkvdi9Ja0F4eDBWR0t0UUpXODlpcFBaaVRXTkcyaW9EU1RRYmc5?= =?utf-8?B?am5BR0FOckc0R3IwMWF5WmV1bm41cmlWb3FJVStlWnFnaFMrZlBpbE5ZN21r?= =?utf-8?B?Ykd6WnNNbTJUd2JGTFFsNml2TDRESG40T2M0d3dySmZCV0hNZUc1TXFSY2pR?= =?utf-8?B?Qk9hMUtzWGc3N2s0VlVhckhIWHBXeHI0MVNmK0VZbmhHNVRmRXRobmhXWlFZ?= =?utf-8?B?bkVWZUwrVm04TjM1VlZtdHd1V0o2a3ltcUQ3QW55cGpNaVNHQytNdDQ3d1cr?= =?utf-8?B?L1l1MWJSbDFUblU1Q3RXb044b3dpYm01dG5XK3VockNCQnZSQWh3MlFUTTdv?= =?utf-8?B?QmdoRk5SdkxHSlA5b201QXZQcTdZMXozYjZkdkM3Vk1KdHp6dWRsMzhOV1hv?= =?utf-8?B?T0JLMWVpYlZHTHlKNHNtS2ZzcGNlTUY1MGFUeUxGZW8xWFRFNW9xNC93eXV4?= =?utf-8?B?UTM5MnNNSHJvVFAyaVB6WFBhdXBkdkZ2aENYS1VRNzNVcldGQ2R3akVTSmpR?= =?utf-8?B?cjl2RTNUdGZ4c1A3M1BtMUxEUlhzRnZ5TGc0UFFnaEs0bWtUdlNvdjlMTjVN?= =?utf-8?B?Qk51S1BQMFRSSlMyOEJYeklhWmlNNFNZOWptbHhPVzlWU0kzemlTSDNib0tq?= =?utf-8?B?R2Z6dUpaQ2pJU3R5bTNTSEszY0hsbUVXV3hzSlNmbmo3aUtTRnFQZ01BdTgz?= =?utf-8?B?bnFrUWFQK0E0TU5hcEdubmwzdnhnU2VlTmViM0xrOEZqcDUzd1VCaGVwaEVE?= =?utf-8?B?VERxQXRENi9ITUNzMGwwMHhWQkk3RUoycHhjYk9TRWtMTk1TMk9UZHhMSFhz?= =?utf-8?B?cHFyZGdEbTV1bnptNkx2TE94Wk1wdUc4b3VIT3Z6V3RHNWJhNW5OOFVuTHFQ?= =?utf-8?B?SDZmWFZOZEVTSlRBNVAxU0xrSllUTHlPMzY5QndFNHhqM2pycUw3MkJaNEdJ?= =?utf-8?B?NGg4L1g3cVJKbW5qNmplSWNqbHdaazJRbGZtYSs1RXljT1R1ZVE3N3dndTl2?= =?utf-8?B?QTQycXpLNis4L2JuNXFHeHpNbm9XUFZMNmZhUGQ3RkMxK2o3Z2c5MlNmOXIr?= =?utf-8?B?NkJkRmIrMkdrVnNMZFhWVkxqeVJpaVFrN2pVb3ZpL0s4REY5RktqNGtCajBG?= =?utf-8?B?b2VSZXJCUzdLNS9KMFlQWHJUdnd5S29TZUczVFowYkpHN3V1TkpBV202S3Zo?= =?utf-8?Q?FpqAuLIV4ZqBsAKXYmLWycvrOwvIFlvN?= X-Microsoft-Exchange-Diagnostics: 1; CY1PR12MB0151; 6:Tmd6dljnY4etSPPKI2xOq9p8tNv++tAo9bqqm+dJItIF5HLeTL3HPwh/uTalVWvZG9JsJCnChwhYQ4tg3/npKmN3JZCxpaA4mEw1a/pgj1zA5GV1RgnH2m7X1faF8nKhkC0NyAhpCiis7aw39GVQDo5ONqkzUDtYA+T6rq9syXe9Nz1UYo7XxdjFWYI48JOwOKbtrsF3ekAdEUX2V7G5oILNdCJvrv4eBt6dW05HNpyCabe4WJNPUdTPnqfpMNy+fEN05QgpwVK5BrrLyIOk5TnPggzJR1xWhXWI+ZHPGl3rEavspMC59rV8+kFTT7cMFyyA76etzxj5pBaAazvlUB79nYEQgdAGdGtPu1yN9pU=; 5:tvIP+fZc0olQIxmoL2vVxv/YY0v90iqufBraLBDvqoPhfoiJ7bZSK9zGWoweHEkBQtOxm2tCD8JpIkKHsQ81WARYwN4mWNxI4vUKVDkEWe5qNZ67Gd3ZbE34LM7sN1e7Tb2ej6HAi8M7iYH9m14AUbYZP0L4OkFKqFr4xOli8o8=; 24:W0e0O+IgTwcaSU27p10zGSwUJwHA9l6aDjW0R/McviCx+RXbTqWtn2a7v3kYT/MdnY6WFOY4fTuCILNs5x2ctFC53gFvI8V5fkL5IYFqgAI=; 7:bHIwHi76Ow1KzzoZw0Wo4+XTyIjvAW6yK80xDqYbj5XEicN08dGhdAunTf9chfgakE/OicvKRULrFOqn5/LJt/BaYqjB80zv1g0n/JcRm6oRfwt/A1mKVa/m/b5eIWTaCCNPnhnuyXM/d3PdrUwhqg1eHquiMiYbFWrpWOUl2mKncae3q2EANN217Kl0RuGlNGexfLuKkhPDI+XgcO7lw/1VkQvI6Xs6adV7pWIpctTQdZBsS5T17uKBV9dPkPXR SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; CY1PR12MB0151; 20:tR/s6eiuKiDMChGSBVjkjf2IAqKLTkJs51FmE0z7iTgzJAcfXIV/5yosRiZCUHXbFs1p0saR7vVrqvMgXkJmIUZD4+uOztXp0fF4gbbCjOPp0LTcLfAKjEiPte1LzJ3vhivvrNOpdLk5mKwLmoJPlO09P21LtR5zbZrqeGXK2LAOPBVOVGZxbbP6TBlxqG1mtnbrOlejcr1DZi6SmkZ+y3pjB1Nr7f9cCrb6V8RNBQUbgcPNQoQhO8dNm2Q/3n9G X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Mar 2018 01:16:30.8948 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: f38b2b0d-704b-4229-1675-08d57fdb3bb3 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR12MB0151 Subject: Re: [PATCH 00/20] OvmfPkg: SEV: decrypt the initial SMRAM save state map for SMBASE relocation X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 02 Mar 2018 01:10:28 -0000 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Content-Language: en-US On 3/1/18 6:03 PM, Laszlo Ersek wrote: > Repo: https://github.com/lersek/edk2.git > Branch: sev_smram_save_state_map > > This patch series replaces the following patch from Brijesh: > > [PATCH v2 1/2] OvmfPkg/AmdSevDxe: Clear the C-bit from SMM Saved State > http://mid.mail-archive.com/20180228161415.28723-2-brijesh.singh@amd.com > https://lists.01.org/pipermail/edk2-devel/2018-February/022016.html > > The series modifies four modules under OvmfPkg: > - MemEncryptSevLib > - PlatformPei > - SmmCpuFeaturesLib > - AmdSevDxe > > Patches 01 through 16 are cleanups for these modules, without change in > functionality. The series is formatted with 20 lines of context, for > simplifying the review of these patches. > > Patches 17 through 20 (one patch per module listed above) implement > $SUBJECT: > > - MemEncryptSevLib gets a new helper function used by the other three > modules. > > - PlatformPei makes sure that DXE stays out of the page(s) where the > initial SMRAM save state map lives. > > - SmmCpuFeaturesLib and AmdSevDxe basically do what they did in > Brijesh's patch, just better separated, and with minor tweaks. > > The series is bisectable. > > I regression-tested my usual non-SEV guests (with Brijesh's v2 2/2 patch > applied on top, from the above-referenced series), which covers i440fx > (no SMM, X64), q35 (SMM, IA32 and IA32X64), Fedora and Windows, normal > boot and S3. > > I also tried to test the series with SEV guests (again with Brijesh's v2 > 2/2 patch applied on top). Unfortunately, I didn't get good results with > or without SMM. Without SMM, the guest OS boots to a point, but then it > gets stuck with the CPU spinning. With SMM, OVMF gets stuck in SMBASE > relocation. To boot the SEV guest with SMM support we need this KVM patch, without this we will get either #UD or some undefined behavior. https://git.kernel.org/pub/scm/virt/kvm/kvm.git/commit/?id=7607b7174405aec7441ff6c970833c463114040a It's strange that you are having trouble booting SEV guest without SMM support. It's possible that we might have some mismatch kernel kvm + qemu + ovmf patches. > > I should mention however that my SEV host setup dates back to November > 2017, including host kernel, QEMU and guest OS. I suppose all those > components have seen many changes since, on the respective upstream > lists. I'll have to work with Brijesh to update my SEV host to the > latest bits. > > Until then, Brijesh, can you please test this series? Thank you! Sure, I will try the series tomorrow morning. thank you so much for the cleanup and remaining SMM work. > > Cc: Ard Biesheuvel > Cc: Brijesh Singh > Cc: Jordan Justen > > Cheers > Laszlo > > Laszlo Ersek (20): > OvmfPkg/MemEncryptSevLib: rewrap to 79 characters width > OvmfPkg/MemEncryptSevLib: clean up MemEncryptSevIsEnabled() decl > OvmfPkg/MemEncryptSevLib: clean up MemEncryptSevClearPageEncMask() > decl > OvmfPkg/MemEncryptSevLib: clean up MemEncryptSevSetPageEncMask() decl > OvmfPkg/MemEncryptSevLib: clean up SetMemoryEncDec() comment block > OvmfPkg/MemEncryptSevLib: clean up > InternalMemEncryptSevSetMemoryDecrypted() decl > OvmfPkg/MemEncryptSevLib: clean up > InternalMemEncryptSevSetMemoryEncrypted() decl > OvmfPkg/MemEncryptSevLib: sort #includes, and entries in INF file > sections > OvmfPkg/PlatformPei: sort #includes in "AmdSev.c" > OvmfPkg/SmmCpuFeaturesLib: rewrap to 79 columns > OvmfPkg/SmmCpuFeaturesLib: upper-case the "static" keyword > OvmfPkg/SmmCpuFeaturesLib: sort #includes, and entries in INF file > sections > OvmfPkg/SmmCpuFeaturesLib: remove unneeded #includes and > LibraryClasses > OvmfPkg/AmdSevDxe: rewrap to 79 characters width > OvmfPkg/AmdSevDxe: sort #includes, and entries in INF file sections > OvmfPkg/AmdSevDxe: refresh #includes and LibraryClasses > OvmfPkg/MemEncryptSevLib: find pages of initial SMRAM save state map > OvmfPkg/PlatformPei: SEV: allocate pages of initial SMRAM save state > map > OvmfPkg/SmmCpuFeaturesLib: SEV: encrypt+free pages of init. save state > map > OvmfPkg/AmdSevDxe: decrypt the pages of the initial SMRAM save state > map > > OvmfPkg/AmdSevDxe/AmdSevDxe.c | 88 ++- > OvmfPkg/AmdSevDxe/AmdSevDxe.inf | 25 +- > OvmfPkg/Include/Library/MemEncryptSevLib.h | 89 ++- > OvmfPkg/Library/BaseMemEncryptSevLib/BaseMemEncryptSevLib.inf | 17 +- > OvmfPkg/Library/BaseMemEncryptSevLib/Ia32/MemEncryptSevLib.c | 72 ++- > OvmfPkg/Library/BaseMemEncryptSevLib/MemEncryptSevLibInternal.c | 66 +- > OvmfPkg/Library/BaseMemEncryptSevLib/X64/MemEncryptSevLib.c | 74 ++- > OvmfPkg/Library/BaseMemEncryptSevLib/X64/VirtualMemory.c | 172 ++++-- > OvmfPkg/Library/BaseMemEncryptSevLib/X64/VirtualMemory.h | 137 +++-- > OvmfPkg/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLib.c | 650 ++++++++++++++++---- > OvmfPkg/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLib.inf | 13 +- > OvmfPkg/PlatformPei/AmdSev.c | 36 +- > 12 files changed, 1067 insertions(+), 372 deletions(-) >