]> git.proxmox.com Git - mirror_edk2.git/blobdiff - UefiCpuPkg/Library/RegisterCpuFeaturesLib/RegisterCpuFeaturesLib.c
UefiCpuPkg: Refactor initialization of CPU features during S3 resume
[mirror_edk2.git] / UefiCpuPkg / Library / RegisterCpuFeaturesLib / RegisterCpuFeaturesLib.c
index 60daa5cc87f0cfdb2d93f71b02c6ae114e028cd9..e6ef9c602deeab3abaaaa26d4d60b479e4ad4da0 100644 (file)
@@ -952,8 +952,8 @@ GetAcpiCpuData (
     AcpiCpuData->NumberOfCpus = (UINT32)NumberOfCpus;\r
   }\r
 \r
-  if (AcpiCpuData->RegisterTable == 0 ||\r
-      AcpiCpuData->PreSmmInitRegisterTable == 0) {\r
+  if (AcpiCpuData->CpuFeatureInitData.RegisterTable == 0 ||\r
+      AcpiCpuData->CpuFeatureInitData.PreSmmInitRegisterTable == 0) {\r
     //\r
     // Allocate buffer for empty RegisterTable and PreSmmInitRegisterTable for all CPUs\r
     //\r
@@ -976,11 +976,11 @@ GetAcpiCpuData (
       RegisterTable[NumberOfCpus + Index].AllocatedSize      = 0;\r
       RegisterTable[NumberOfCpus + Index].RegisterTableEntry = 0;\r
     }\r
-    if (AcpiCpuData->RegisterTable == 0) {\r
-      AcpiCpuData->RegisterTable = (EFI_PHYSICAL_ADDRESS)(UINTN)RegisterTable;\r
+    if (AcpiCpuData->CpuFeatureInitData.RegisterTable == 0) {\r
+      AcpiCpuData->CpuFeatureInitData.RegisterTable = (EFI_PHYSICAL_ADDRESS)(UINTN)RegisterTable;\r
     }\r
-    if (AcpiCpuData->PreSmmInitRegisterTable == 0) {\r
-      AcpiCpuData->PreSmmInitRegisterTable = (EFI_PHYSICAL_ADDRESS)(UINTN)(RegisterTable + NumberOfCpus);\r
+    if (AcpiCpuData->CpuFeatureInitData.PreSmmInitRegisterTable == 0) {\r
+      AcpiCpuData->CpuFeatureInitData.PreSmmInitRegisterTable = (EFI_PHYSICAL_ADDRESS)(UINTN)(RegisterTable + NumberOfCpus);\r
     }\r
   }\r
 \r
@@ -1063,9 +1063,9 @@ CpuRegisterTableWriteWorker (
   CpuFeaturesData = GetCpuFeaturesData ();\r
   if (CpuFeaturesData->RegisterTable == NULL) {\r
     AcpiCpuData = GetAcpiCpuData ();\r
-    ASSERT ((AcpiCpuData != NULL) && (AcpiCpuData->RegisterTable != 0));\r
-    CpuFeaturesData->RegisterTable = (CPU_REGISTER_TABLE *) (UINTN) AcpiCpuData->RegisterTable;\r
-    CpuFeaturesData->PreSmmRegisterTable = (CPU_REGISTER_TABLE *) (UINTN) AcpiCpuData->PreSmmInitRegisterTable;\r
+    ASSERT ((AcpiCpuData != NULL) && (AcpiCpuData->CpuFeatureInitData.RegisterTable != 0));\r
+    CpuFeaturesData->RegisterTable = (CPU_REGISTER_TABLE *) (UINTN) AcpiCpuData->CpuFeatureInitData.RegisterTable;\r
+    CpuFeaturesData->PreSmmRegisterTable = (CPU_REGISTER_TABLE *) (UINTN) AcpiCpuData->CpuFeatureInitData.PreSmmInitRegisterTable;\r
   }\r
 \r
   if (PreSmmFlag) {\r