]> git.proxmox.com Git - mirror_edk2.git/blob - UefiCpuPkg/Include/Register/Amd/Fam17Msr.h
UefiCpuPkg: Define AMD Memory Encryption specific CPUID and MSR
[mirror_edk2.git] / UefiCpuPkg / Include / Register / Amd / Fam17Msr.h
1 /** @file
2 MSR Definitions.
3
4 Provides defines for Machine Specific Registers(MSR) indexes. Data structures
5 are provided for MSRs that contain one or more bit fields. If the MSR value
6 returned is a single 32-bit or 64-bit value, then a data structure is not
7 provided for that MSR.
8
9 Copyright (c) 2017, Advanced Micro Devices. All rights reserved.<BR>
10 This program and the accompanying materials
11 are licensed and made available under the terms and conditions of the BSD License
12 which accompanies this distribution. The full text of the license may be found at
13 http://opensource.org/licenses/bsd-license.php
14
15 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
16 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
17
18 @par Specification Reference:
19 AMD64 Architecture Programming Manaul volume 2, March 2017, Sections 15.34
20
21 **/
22
23 #ifndef __FAM17_MSR_H
24 #define __FAM17_MSR_H
25
26 /**
27 Secure Encrypted Virtualization (SEV) status register
28
29 **/
30 #define MSR_SEV_STATUS 0xc0010131
31
32 /**
33 MSR information returned for #MSR_SEV_STATUS
34 **/
35 typedef union {
36 ///
37 /// Individual bit fields
38 ///
39 struct {
40 ///
41 /// [Bit 0] Secure Encrypted Virtualization (Sev) is enabled
42 ///
43 UINT32 SevBit:1;
44
45 ///
46 /// [Bit 1] Secure Encrypted Virtualization Encrypted State (SevEs) is enabled
47 ///
48 UINT32 SevEsBit:1;
49
50 UINT32 Reserved:30;
51 } Bits;
52 ///
53 /// All bit fields as a 32-bit value
54 ///
55 UINT32 Uint32;
56 ///
57 /// All bit fields as a 64-bit value
58 ///
59 UINT64 Uint64;
60 } MSR_SEV_STATUS_REGISTER;
61
62 #endif