diff options
author | Dong, Eric <eric.dong@intel.com> | 2019-08-16 11:57:25 +0800 |
---|---|---|
committer | Ray Ni <ray.ni@intel.com> | 2019-08-21 02:44:48 +0800 |
commit | 35c2809ba6a510182dc704fd59952d54695299f8 (patch) | |
tree | 8f07a486d9175ddecb5ffe42b90ecfcbc4f2543d /UefiCpuPkg/Include/AcpiCpuData.h | |
parent | 4201098e97fe53275638ebc64e9aa90b537199b9 (diff) | |
download | edk2-35c2809ba6a510182dc704fd59952d54695299f8.tar.gz edk2-35c2809ba6a510182dc704fd59952d54695299f8.tar.bz2 edk2-35c2809ba6a510182dc704fd59952d54695299f8.zip |
UefiCpuPkg/RegisterCpuFeaturesLib: Add "Test Then Write" Macros.
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2040
Add below new micros which test the current value before write the new
value. Only write new value when current value not same as new value.
CPU_REGISTER_TABLE_TEST_THEN_WRITE32
CPU_REGISTER_TABLE_TEST_THEN_WRITE64
CPU_REGISTER_TABLE_TEST_THEN_WRITE_FIELD
Also add below API:
CpuRegisterTableTestThenWrite
Signed-off-by: Eric Dong <eric.dong@intel.com>
Reviewed-by: Ray Ni <ray.ni@intel.com>
Acked-by: Laszlo Ersek <lersek@redhat.com>
Cc: Star Zeng <star.zeng@intel.com>
Diffstat (limited to 'UefiCpuPkg/Include/AcpiCpuData.h')
-rw-r--r-- | UefiCpuPkg/Include/AcpiCpuData.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/UefiCpuPkg/Include/AcpiCpuData.h b/UefiCpuPkg/Include/AcpiCpuData.h index b963a2f592..77da5d4455 100644 --- a/UefiCpuPkg/Include/AcpiCpuData.h +++ b/UefiCpuPkg/Include/AcpiCpuData.h @@ -78,7 +78,8 @@ typedef struct { UINT32 Index; // offset 4 - 7
UINT8 ValidBitStart; // offset 8
UINT8 ValidBitLength; // offset 9
- UINT16 Reserved; // offset 10 - 11
+ BOOLEAN TestThenWrite; // offset 10
+ UINT8 Reserved1; // offset 11
UINT32 HighIndex; // offset 12-15, only valid for MemoryMapped
UINT64 Value; // offset 16-23
} CPU_REGISTER_TABLE_ENTRY;
|