From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (NAM12-BN8-obe.outbound.protection.outlook.com [40.107.237.43]) by mx.groups.io with SMTP id smtpd.web09.10434.1619783538721945423 for ; Fri, 30 Apr 2021 04:52:18 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@amd.com header.s=selector1 header.b=C9rPgVpt; spf=permerror, err=parse error for token &{10 18 %{i}._ip.%{h}._ehlo.%{d}._spf.vali.email}: invalid domain name (domain: amd.com, ip: 40.107.237.43, mailfrom: brijesh.singh@amd.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=AVYQhcRVrWFuaBvtFHp5WIJzc4PowmhvJFBfgUzRAb4AfCUMeZhCPuUXfPiLyt3C8Mu+Wv+NZn8/9y1HeXLvnVJjNP7KxiSYfymKmZbZKrOpZ8hA4PjHOlVkKxL9EdzqpNlhUChogZsE+gcdTZkbs+LJrrbfzWjRDzDYr3A+48rWt4AFK6DkAH/9LyZSjQAzd64pVG3KwNIbw3JrzIVLdJb57PfaDc3g9aNOUBqoM7qtUHbyEibYFS4HduO1cYFTy9cv1VuOihxGFu2aPza402d01eTzYdfcs5Znl0/s62fpNruK/OIQVsFWctlzYwvtG+T7ZSkTN5au7DfsbqbvsQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=nVs+n994S7okaOnJQM48JSKOYf5c9852goa5UH4OXsg=; b=HitwIiNtvRwbkR6xwkTa1lh28GiqOyP0ShZmdH+zA7JxSXE1I3CzBR4p31heCQOC3UAd5gzSk5UAzidKkU214tkRq4jcU2+ImAqKY2dFXKqFlEhD45j9moraSI021YwOqhPZMnWR8QejQS7qq5BqOs1JY+1xYvoz93491m2yawRj903xuxTN+0yXJ0rondqCh0cyKzI/xVAbDx6XwkAi8Z1Obou3pH22UNx/tQbwY4PIYv5UtLFr7xjYcj9cu88JrbhFiJ33XVSr/GnL9Lv3z62U6pJBd2AM01PPSbp31hXxZBTkNP1wpnzqQt1JyUjlfP25kJSTCclJgZucxAiLuw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=nVs+n994S7okaOnJQM48JSKOYf5c9852goa5UH4OXsg=; b=C9rPgVptxzl0C5XcJ40/L064lUb9vvhq9CZRuEtt/fdn9IgM5XnOT2wkreiJxkWZJe40f6pZoFo1iwGkhCdIc4+TnAmXaPq2ljeObr3kBOKKrY49yrc5vkoGgDMzR19adJi9QzHcpshmU52YVic/aoftkLeQc+xvaErwiEFvFEg= Authentication-Results: edk2.groups.io; dkim=none (message not signed) header.d=none;edk2.groups.io; dmarc=none action=none header.from=amd.com; Received: from SN6PR12MB2718.namprd12.prod.outlook.com (2603:10b6:805:6f::22) by SA0PR12MB4349.namprd12.prod.outlook.com (2603:10b6:806:98::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4065.23; Fri, 30 Apr 2021 11:52:16 +0000 Received: from SN6PR12MB2718.namprd12.prod.outlook.com ([fe80::9898:5b48:a062:db94]) by SN6PR12MB2718.namprd12.prod.outlook.com ([fe80::9898:5b48:a062:db94%6]) with mapi id 15.20.4065.027; Fri, 30 Apr 2021 11:52:16 +0000 From: "Brijesh Singh" To: devel@edk2.groups.io Cc: Brijesh Singh , James Bottomley , Min Xu , Jiewen Yao , Tom Lendacky , Jordan Justen , Ard Biesheuvel , Laszlo Ersek , Erdem Aktas Subject: [PATCH RFC v2 02/28] MdePkg: Define the GHCB Hypervisor features Date: Fri, 30 Apr 2021 06:51:22 -0500 Message-Id: <20210430115148.22267-3-brijesh.singh@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20210430115148.22267-1-brijesh.singh@amd.com> References: <20210430115148.22267-1-brijesh.singh@amd.com> X-Originating-IP: [165.204.77.1] X-ClientProxiedBy: SA0PR12CA0006.namprd12.prod.outlook.com (2603:10b6:806:6f::11) To SN6PR12MB2718.namprd12.prod.outlook.com (2603:10b6:805:6f::22) Return-Path: brijesh.singh@amd.com MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from sbrijesh-desktop.amd.com (165.204.77.1) by SA0PR12CA0006.namprd12.prod.outlook.com (2603:10b6:806:6f::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4087.27 via Frontend Transport; Fri, 30 Apr 2021 11:52:15 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 73526d4e-8ecf-48e0-571c-08d90bce667f X-MS-TrafficTypeDiagnostic: SA0PR12MB4349: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:4125; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ppITOhhJKO97xKYsjGFTa+IVW2JOS5wm3nSCifs4kdcr8mnmkg1zcoQcGHhbv+AuOj4es+GfHXtY/TAZQUxfUYFxmTJtVxvUpdCSmbjt64u6nDiiRX+4uq42BaCaZBFsGaXw8uu8v0HnM5Ikx20KYlwQGIexMmEPwR2rTjivNpDKeD3utbtvX6F+kx6MHZciHk0x6XorjoJQPV6cLrr+pMom+IG6pU1fTCTPBSYgYfDeX9xubVGvoRqjQCtvXDHX9XJ2z+7kbBedyUbWSbP7/aEQSXb3FeOlebUQN+7VkBgxMFnBNSBSDEnPTkxFc0+PqQFcH0a44MAAiXFq330iyQFCq4SipFhYZhfNUvXL6ZQGfaksma4LJ2k9JrFA7yMKPfSDmEBl763dXWRI/IF+SqGFeG3WQbpH9I7vqsezXIxs/VVdfnZrrMjaYQd+Nv1C5kfNkqcRKzueNx6MwUafqLlMnitd3iCtyICqSkdNulYy9sE+IzgnVLyqTwDNdy6DyhVIxyeFwBUsAoTxKrYFAXIdHSvuzlIS6XwZimFzBIlGuKMMGF6vPKZnaVhpPBPtiHu748bc8unI1zmTQxDmL4IPWmoql55C5WNwkfO0QFajO4UMW9veHQqFBWX4w+XT5rvA7sSS2ICxT4dQT4Y1/RVU23aRnZMsS76KIhlJCRRGaHHV33fMsBh3HLonLE4+CfHdlSHv86FpCJUDMOBPb24TL5QX9kr38x+Gws4Dfto= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR12MB2718.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(39860400002)(366004)(396003)(346002)(136003)(376002)(966005)(38100700002)(2616005)(26005)(1076003)(86362001)(316002)(6916009)(8936002)(6666004)(2906002)(4326008)(52116002)(66946007)(5660300002)(186003)(54906003)(44832011)(36756003)(66556008)(8676002)(66476007)(16526019)(19627235002)(83380400001)(478600001)(956004)(7696005)(38350700002)(6486002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData: =?us-ascii?Q?IaE+E+BGp20GV46VanBrAvplV+/oogf7VGYOM+Ixvs/YNIX2fS30Mt4+uDeQ?= =?us-ascii?Q?b8c/aSgDYA4bXQDMDox/3bx6KN1cYeYdKG5sWXEProChsQirTusAuNrrHkyv?= =?us-ascii?Q?Tp1rApZQlgwXSYRd/nhjfO3r635zLjJQXhMb824+qCv25vfXeXdqP0YAeYqX?= =?us-ascii?Q?GfOrz1eyNKfhisUBCbE783Dzzv9APL9xnvwZKEkBh8rPcOAlCgXvCipIp8/9?= =?us-ascii?Q?88nVdE6ODKz0+6WDkPjxpYYJp3mStjo6D85XlHaEI/KeH4WC14vLs712hzPw?= =?us-ascii?Q?vRwRBjvkoI6U4vf03EpqULXV7kx75y24eEOLiTJ4yDPjmb00TxzwLOwwDncw?= =?us-ascii?Q?O1yw8bkt1G6Wg9D8T06bJFmfltIPyeOfp3d0JLpY+JjK6r7OhZUORUG/Hk6E?= =?us-ascii?Q?hKZgSNyMijRjNz6q+OjXnUMkzsL9gJdYmGIuBGQP+rvJDXR9Bid4ZNkS2EjW?= =?us-ascii?Q?7Gh6SIsFprBhJ2927KMwYJYwbZwWwvPsyS/tyLbGSFnriM55YUErpgHl3WtB?= =?us-ascii?Q?7G5zfUfDcWhyLkrOY2ugaNLPxkKeSe7LQFAGaC3fXzC0Na4+Qt6iIhNIk05n?= =?us-ascii?Q?SzixhwJ0NZ2p1CLb6nn2u5bSQPlVk79GPMH3XVqTG063C54Kwrt1lAI+HVkF?= =?us-ascii?Q?iY6i8kOvo7UdiJZM2G7+iB/mWw48ICwhxdIqJiL4KdZPX6RXxrkwHGTNydN6?= =?us-ascii?Q?T9fpApuUFcOl9mOzBLGiloo+lvoUuA5mYlzSkKNK0fN/INhxIybQF7PZUfAP?= =?us-ascii?Q?NyFDEM135YcC1Itqenf0IWOD1eo/09DH6jFG6qLIatpRgY3k2UmsRqcQp8tX?= =?us-ascii?Q?QkDssuJWI7LzX6fBamRhvYgZmCEnPlOvU3KqiwT1Q3hQTNb50ppzx4E3kK3W?= =?us-ascii?Q?Y3htzkrPy4+IiEOaiZdr9Ois4ZFjX3xRTUbKL6ZBtR1hywHz5my6tp1tBNRp?= =?us-ascii?Q?rmjvjg6cRvkuhSM9GBlnxZL6jdlvRHfrH0jXow+kKtbA3DySp+BN11w+SPZM?= =?us-ascii?Q?nOzug+xcARqLbUOR+EVn8BFK5bK9iV6wQNyicGcBibC5zpExVoGHy6zHELKV?= =?us-ascii?Q?52zC7fhezvcavGe6HDSZARNYzg9XulNPOXOjJzv21rnTfDL44YMZ8oR+pE85?= =?us-ascii?Q?TeXcjjosYNLGQEIQpFRNazCs+N2ql7pfMFM/XWn1OER9u4pCLX0ITxgvId81?= =?us-ascii?Q?VrhBd+55Tsfpo2C2NYf27ZP7H/DgIwwgjfysgoY1Vfolvt2dW2qyJleIWEPv?= =?us-ascii?Q?Yqi2ECX8gvf1U1pYwHRuCcAQ+froEyiXSXM2pQ2y2Cb5aFp85OlYVPdSE2tA?= =?us-ascii?Q?2OUGnzARELDq4b5ilRVlTpjV?= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: 73526d4e-8ecf-48e0-571c-08d90bce667f X-MS-Exchange-CrossTenant-AuthSource: SN6PR12MB2718.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Apr 2021 11:52:16.2144 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: h3U2yywrV7wvRQx5g6E2c3JWgjuGfcVIXfpv4oZS3bXvN9u6E1b1wS0egTZ8tDNflwgGOC2bN9iaBGCdDA59Lg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR12MB4349 Content-Type: text/plain BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=3275 Version 2 of GHCB introduces advertisement of features that are supported by the hypervisor. See the GHCB spec section 2.2 for an additional details. Cc: James Bottomley Cc: Min Xu Cc: Jiewen Yao Cc: Tom Lendacky Cc: Jordan Justen Cc: Ard Biesheuvel Cc: Laszlo Ersek Cc: Erdem Aktas Signed-off-by: Brijesh Singh --- MdePkg/Include/Register/Amd/Fam17Msr.h | 7 +++++++ MdePkg/Include/Register/Amd/Ghcb.h | 6 ++++++ 2 files changed, 13 insertions(+) diff --git a/MdePkg/Include/Register/Amd/Fam17Msr.h b/MdePkg/Include/Register/Amd/Fam17Msr.h index 4d33bef220..a65d51ab12 100644 --- a/MdePkg/Include/Register/Amd/Fam17Msr.h +++ b/MdePkg/Include/Register/Amd/Fam17Msr.h @@ -48,6 +48,11 @@ typedef union { UINT32 Reserved2:32; } GhcbTerminate; + struct { + UINT64 Function:12; + UINT64 Features:52; + } GhcbHypervisorFeatures; + VOID *Ghcb; UINT64 GhcbPhysicalAddress; @@ -57,6 +62,8 @@ typedef union { #define GHCB_INFO_SEV_INFO_GET 2 #define GHCB_INFO_CPUID_REQUEST 4 #define GHCB_INFO_CPUID_RESPONSE 5 +#define GHCB_HYPERVISOR_FEATURES_REQUEST 128 +#define GHCB_HYPERVISOR_FEATURES_RESPONSE 129 #define GHCB_INFO_TERMINATE_REQUEST 256 #define GHCB_TERMINATE_GHCB 0 diff --git a/MdePkg/Include/Register/Amd/Ghcb.h b/MdePkg/Include/Register/Amd/Ghcb.h index ccdb662af7..2d64a4c28f 100644 --- a/MdePkg/Include/Register/Amd/Ghcb.h +++ b/MdePkg/Include/Register/Amd/Ghcb.h @@ -54,6 +54,7 @@ #define SVM_EXIT_NMI_COMPLETE 0x80000003ULL #define SVM_EXIT_AP_RESET_HOLD 0x80000004ULL #define SVM_EXIT_AP_JUMP_TABLE 0x80000005ULL +#define SVM_EXIT_HYPERVISOR_FEATURES 0x8000FFFDULL #define SVM_EXIT_UNSUPPORTED 0x8000FFFFULL // @@ -154,4 +155,9 @@ typedef union { #define GHCB_EVENT_INJECTION_TYPE_EXCEPTION 3 #define GHCB_EVENT_INJECTION_TYPE_SOFT_INT 4 +// Hypervisor features +#define GHCB_HV_FEATURES_SNP BIT0 +#define GHCB_HV_FEATURES_SNP_AP_CREATE (GHCB_HV_FEATURES_SNP | BIT1) +#define GHCB_HV_FEATURES_SNP_RESTRICTED_INJECTION (GHCB_HV_FEATURES_SNP_AP_CREATE | BIT2) +#define GHCB_HV_FEATURES_SNP_RESTRICTED_INJECTION_TIMER (GHCB_HV_FEATURES_SNP_RESTRICTED_INJECTION | BIT3) #endif -- 2.17.1