]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EmulatorPkg/CpuRuntimeDxe/Cpu.c
EmulatorPkg: Apply uncrustify changes
[mirror_edk2.git] / EmulatorPkg / CpuRuntimeDxe / Cpu.c
index b25ed45da4f1ca4af0a993ccba92ce515bbf11e1..e00f6cf35f51b796e2927a794e9139722f0b5a3c 100644 (file)
@@ -3,13 +3,7 @@
 \r
 Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>\r
 Portions copyright (c) 2011 - 2012, Apple Inc. All rights reserved.\r
-This program and the accompanying materials\r
-are licensed and made available under the terms and conditions of the BSD License\r
-which accompanies this distribution.  The full text of the license may be found at\r
-http://opensource.org/licenses/bsd-license.php\r
-\r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+SPDX-License-Identifier: BSD-2-Clause-Patent\r
 \r
 **/\r
 \r
@@ -17,7 +11,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 \r
 UINT64  mTimerPeriod;\r
 \r
-CPU_ARCH_PROTOCOL_PRIVATE mCpuTemplate = {\r
+CPU_ARCH_PROTOCOL_PRIVATE  mCpuTemplate = {\r
   CPU_ARCH_PROT_PRIVATE_SIGNATURE,\r
   NULL,\r
   {\r
@@ -45,16 +39,16 @@ CPU_ARCH_PROTOCOL_PRIVATE mCpuTemplate = {
   TRUE\r
 };\r
 \r
-#define EFI_CPU_DATA_MAXIMUM_LENGTH 0x100\r
+#define EFI_CPU_DATA_MAXIMUM_LENGTH  0x100\r
 \r
-SMBIOS_TABLE_TYPE4 mCpuSmbiosType4 = {\r
-  { EFI_SMBIOS_TYPE_PROCESSOR_INFORMATION, sizeof (SMBIOS_TABLE_TYPE4), 0},\r
+SMBIOS_TABLE_TYPE4  mCpuSmbiosType4 = {\r
+  { EFI_SMBIOS_TYPE_PROCESSOR_INFORMATION, sizeof (SMBIOS_TABLE_TYPE4), 0 },\r
   1,                    // Socket String\r
   ProcessorOther,       // ProcessorType;          ///< The enumeration value from PROCESSOR_TYPE_DATA.\r
   ProcessorFamilyOther, // ProcessorFamily;        ///< The enumeration value from PROCESSOR_FAMILY_DATA.\r
   2,                    // ProcessorManufacture String;\r
   {                     // ProcessorId;\r
-    {  // PROCESSOR_SIGNATURE\r
+    {    // PROCESSOR_SIGNATURE\r
       0, //  ProcessorSteppingId:4;\r
       0, //  ProcessorModel:     4;\r
       0, //  ProcessorFamily:    4;\r
@@ -63,8 +57,8 @@ SMBIOS_TABLE_TYPE4 mCpuSmbiosType4 = {
       0, //  ProcessorXModel:    4;\r
       0, //  ProcessorXFamily:   8;\r
       0, //  ProcessorReserved2: 4;\r
-    }, \r
-    {  // PROCESSOR_FEATURE_FLAGS\r
+    },\r
+    {    // PROCESSOR_FEATURE_FLAGS\r
       0, //  ProcessorFpu       :1;\r
       0, //  ProcessorVme       :1;\r
       0, //  ProcessorDe        :1;\r
@@ -99,14 +93,14 @@ SMBIOS_TABLE_TYPE4 mCpuSmbiosType4 = {
     }\r
   },\r
   3,                    // ProcessorVersion String;\r
-  {                     // Voltage;\r
-    1,  // ProcessorVoltageCapability5V        :1; \r
-    1,  // ProcessorVoltageCapability3_3V      :1;  \r
-    1,  // ProcessorVoltageCapability2_9V      :1;  \r
+  {     // Voltage;\r
+    1,  // ProcessorVoltageCapability5V        :1;\r
+    1,  // ProcessorVoltageCapability3_3V      :1;\r
+    1,  // ProcessorVoltageCapability2_9V      :1;\r
     0,  // ProcessorVoltageCapabilityReserved  :1; ///< Bit 3, must be zero.\r
     0,  // ProcessorVoltageReserved            :3; ///< Bits 4-6, must be zero.\r
     0   // ProcessorVoltageIndicateLegacy      :1;\r
-  },              \r
+  },\r
   0,                      // ExternalClock;\r
   0,                      // MaxSpeed;\r
   0,                      // CurrentSpeed;\r
@@ -125,9 +119,9 @@ SMBIOS_TABLE_TYPE4 mCpuSmbiosType4 = {
   0,                      // ProcessorFamily2;\r
 };\r
 \r
-CHAR8 *mCpuSmbiosType4Strings[] = {\r
+CHAR8  *mCpuSmbiosType4Strings[] = {\r
   "Socket",\r
-  "edk2.svn.sourceforge.net",\r
+  "http://www.tianocore.org/edk2/",\r
   "Emulated Processor",\r
   "1.0",\r
   "1.0",\r
@@ -135,7 +129,6 @@ CHAR8 *mCpuSmbiosType4Strings[] = {
   NULL\r
 };\r
 \r
-\r
 /**\r
   Create SMBIOS record.\r
 \r
@@ -151,32 +144,32 @@ CHAR8 *mCpuSmbiosType4Strings[] = {
     "Not Found",\r
     NULL\r
   };\r
-  \r
+\r
   ...\r
   LogSmbiosData (\r
-    (EFI_SMBIOS_TABLE_HEADER*)&gSmbiosType12, \r
+    (EFI_SMBIOS_TABLE_HEADER*)&gSmbiosType12,\r
     gSmbiosType12Strings\r
     );\r
 \r
   @param  Template    Fixed SMBIOS structure, required.\r
-  @param  StringArray Array of strings to convert to an SMBIOS string pack. \r
+  @param  StringArray Array of strings to convert to an SMBIOS string pack.\r
                       NULL is OK.\r
 \r
 **/\r
 EFI_STATUS\r
 LogSmbiosData (\r
-  IN  EFI_SMBIOS_TABLE_HEADER *Template,\r
-  IN  CHAR8                   **StringPack \r
+  IN  EFI_SMBIOS_TABLE_HEADER  *Template,\r
+  IN  CHAR8                    **StringPack\r
   )\r
 {\r
-  EFI_STATUS                Status;\r
-  EFI_SMBIOS_PROTOCOL       *Smbios;  \r
-  EFI_SMBIOS_HANDLE         SmbiosHandle;\r
-  EFI_SMBIOS_TABLE_HEADER   *Record;\r
-  UINTN                     Index;\r
-  UINTN                     StringSize;\r
-  UINTN                     Size;\r
-  CHAR8                     *Str;\r
+  EFI_STATUS               Status;\r
+  EFI_SMBIOS_PROTOCOL      *Smbios;\r
+  EFI_SMBIOS_HANDLE        SmbiosHandle;\r
+  EFI_SMBIOS_TABLE_HEADER  *Record;\r
+  UINTN                    Index;\r
+  UINTN                    StringSize;\r
+  UINTN                    Size;\r
+  CHAR8                    *Str;\r
 \r
   //\r
   // Locate Smbios protocol.\r
@@ -194,12 +187,14 @@ LogSmbiosData (
   } else {\r
     for (Index = 0; StringPack[Index] != NULL; Index++) {\r
       StringSize = AsciiStrSize (StringPack[Index]);\r
-      Size += StringSize;\r
+      Size      += StringSize;\r
     }\r
+\r
     if (StringPack[0] == NULL) {\r
       // At least a double null is required\r
       Size += 1;\r
     }\r
+\r
     // Don't forget the terminating double null\r
     Size += 1;\r
   }\r
@@ -209,6 +204,7 @@ LogSmbiosData (
   if (Record == NULL) {\r
     return EFI_OUT_OF_RESOURCES;\r
   }\r
+\r
   CopyMem (Record, Template, Template->Length);\r
 \r
   // Append string pack\r
@@ -218,37 +214,37 @@ LogSmbiosData (
     CopyMem (Str, StringPack[Index], StringSize);\r
     Str += StringSize;\r
   }\r
+\r
   *Str = 0;\r
-  \r
+\r
   SmbiosHandle = SMBIOS_HANDLE_PI_RESERVED;\r
-  Status = Smbios->Add (\r
-                     Smbios,\r
-                     gImageHandle,\r
-                     &SmbiosHandle,\r
-                     Record\r
-                     );\r
+  Status       = Smbios->Add (\r
+                           Smbios,\r
+                           gImageHandle,\r
+                           &SmbiosHandle,\r
+                           Record\r
+                           );\r
   ASSERT_EFI_ERROR (Status);\r
-  \r
+\r
   FreePool (Record);\r
   return Status;\r
 }\r
 \r
-\r
-\r
-\r
 VOID\r
 CpuUpdateSmbios (\r
   IN UINTN  MaxCpus\r
   )\r
 {\r
-  mCpuSmbiosType4.CoreCount        = (UINT8) MaxCpus;\r
-  mCpuSmbiosType4.EnabledCoreCount = (UINT8) MaxCpus;\r
-  mCpuSmbiosType4.ThreadCount      = (UINT8) MaxCpus;\r
-\r
+  mCpuSmbiosType4.CoreCount        = (UINT8)MaxCpus;\r
+  mCpuSmbiosType4.EnabledCoreCount = (UINT8)MaxCpus;\r
+  mCpuSmbiosType4.ThreadCount      = (UINT8)MaxCpus;\r
+  //\r
+  // The value of 1234 is fake value for CPU frequency\r
+  //\r
+  mCpuSmbiosType4.CurrentSpeed = 1234;\r
   LogSmbiosData ((EFI_SMBIOS_TABLE_HEADER *)&mCpuSmbiosType4, mCpuSmbiosType4Strings);\r
 }\r
 \r
-\r
 //\r
 // Service routines for the driver\r
 //\r
@@ -268,6 +264,7 @@ EmuFlushCpuDataCache (
     //\r
     return EFI_SUCCESS;\r
   }\r
+\r
   //\r
   // Other flush types are not supported by Emu emulator\r
   //\r
@@ -280,7 +277,7 @@ EmuEnableInterrupt (
   IN EFI_CPU_ARCH_PROTOCOL  *This\r
   )\r
 {\r
-  CPU_ARCH_PROTOCOL_PRIVATE *Private;\r
+  CPU_ARCH_PROTOCOL_PRIVATE  *Private;\r
 \r
   Private                 = CPU_ARCH_PROTOCOL_PRIVATE_DATA_FROM_THIS (This);\r
   Private->InterruptState = TRUE;\r
@@ -294,7 +291,7 @@ EmuDisableInterrupt (
   IN EFI_CPU_ARCH_PROTOCOL  *This\r
   )\r
 {\r
-  CPU_ARCH_PROTOCOL_PRIVATE *Private;\r
+  CPU_ARCH_PROTOCOL_PRIVATE  *Private;\r
 \r
   Private                 = CPU_ARCH_PROTOCOL_PRIVATE_DATA_FROM_THIS (This);\r
   Private->InterruptState = FALSE;\r
@@ -309,7 +306,7 @@ EmuGetInterruptState (
   OUT BOOLEAN               *State\r
   )\r
 {\r
-  CPU_ARCH_PROTOCOL_PRIVATE *Private;\r
+  CPU_ARCH_PROTOCOL_PRIVATE  *Private;\r
 \r
   if (State == NULL) {\r
     return EFI_INVALID_PARAMETER;\r
@@ -327,9 +324,6 @@ EmuInit (
   IN EFI_CPU_INIT_TYPE      InitType\r
   )\r
 {\r
-  CPU_ARCH_PROTOCOL_PRIVATE *Private;\r
-\r
-  Private = CPU_ARCH_PROTOCOL_PRIVATE_DATA_FROM_THIS (This);\r
   return EFI_UNSUPPORTED;\r
 }\r
 \r
@@ -341,28 +335,26 @@ EmuRegisterInterruptHandler (
   IN EFI_CPU_INTERRUPT_HANDLER  InterruptHandler\r
   )\r
 {\r
-  CPU_ARCH_PROTOCOL_PRIVATE *Private;\r
-\r
   //\r
   // Do parameter checking for EFI spec conformance\r
   //\r
-  if (InterruptType < 0 || InterruptType > 0xff) {\r
+  if ((InterruptType < 0) || (InterruptType > 0xff)) {\r
     return EFI_UNSUPPORTED;\r
   }\r
+\r
   //\r
   // Do nothing for Emu emulation\r
   //\r
-  Private = CPU_ARCH_PROTOCOL_PRIVATE_DATA_FROM_THIS (This);\r
   return EFI_UNSUPPORTED;\r
 }\r
 \r
 EFI_STATUS\r
 EFIAPI\r
 EmuGetTimerValue (\r
-  IN  EFI_CPU_ARCH_PROTOCOL *This,\r
-  IN  UINT32                TimerIndex,\r
-  OUT UINT64                *TimerValue,\r
-  OUT UINT64                *TimerPeriod OPTIONAL\r
+  IN  EFI_CPU_ARCH_PROTOCOL  *This,\r
+  IN  UINT32                 TimerIndex,\r
+  OUT UINT64                 *TimerValue,\r
+  OUT UINT64                 *TimerPeriod OPTIONAL\r
   )\r
 {\r
   if (TimerValue == NULL) {\r
@@ -382,7 +374,6 @@ EmuGetTimerValue (
   return EFI_SUCCESS;\r
 }\r
 \r
-\r
 EFI_STATUS\r
 EFIAPI\r
 EmuSetMemoryAttributes (\r
@@ -392,8 +383,6 @@ EmuSetMemoryAttributes (
   IN UINT64                 Attributes\r
   )\r
 {\r
-  CPU_ARCH_PROTOCOL_PRIVATE *Private;\r
-\r
   //\r
   // Check for invalid parameter for Spec conformance\r
   //\r
@@ -404,13 +393,9 @@ EmuSetMemoryAttributes (
   //\r
   // Do nothing for Nt32 emulation\r
   //\r
-  Private = CPU_ARCH_PROTOCOL_PRIVATE_DATA_FROM_THIS (This);\r
   return EFI_UNSUPPORTED;\r
 }\r
 \r
-\r
-\r
-\r
 /**\r
   Callback function for idle events.\r
 \r
@@ -422,14 +407,13 @@ EmuSetMemoryAttributes (
 VOID\r
 EFIAPI\r
 IdleLoopEventCallback (\r
-  IN EFI_EVENT                Event,\r
-  IN VOID                     *Context\r
+  IN EFI_EVENT  Event,\r
+  IN VOID       *Context\r
   )\r
 {\r
   gEmuThunk->CpuSleep ();\r
 }\r
 \r
-\r
 EFI_STATUS\r
 EFIAPI\r
 InitializeCpu (\r
@@ -437,10 +421,10 @@ InitializeCpu (
   IN EFI_SYSTEM_TABLE  *SystemTable\r
   )\r
 {\r
-  EFI_STATUS    Status;\r
-  UINT64        Frequency;\r
-  EFI_EVENT     IdleLoopEvent;\r
-  UINTN         MaxCpu;\r
+  EFI_STATUS  Status;\r
+  UINT64      Frequency;\r
+  EFI_EVENT   IdleLoopEvent;\r
+  UINTN       MaxCpu;\r
 \r
   //\r
   // Retrieve the frequency of the performance counter in Hz.\r
@@ -456,7 +440,6 @@ InitializeCpu (
 \r
   CpuUpdateSmbios (MaxCpu);\r
 \r
-\r
   Status = gBS->CreateEventEx (\r
                   EVT_NOTIFY_SIGNAL,\r
                   TPL_NOTIFY,\r
@@ -467,11 +450,12 @@ InitializeCpu (
                   );\r
   ASSERT_EFI_ERROR (Status);\r
 \r
-\r
   Status = gBS->InstallMultipleProtocolInterfaces (\r
                   &mCpuTemplate.Handle,\r
-                  &gEfiCpuArchProtocolGuid,   &mCpuTemplate.Cpu,\r
-                  &gEfiCpuIo2ProtocolGuid,    &mCpuTemplate.CpuIo,\r
+                  &gEfiCpuArchProtocolGuid,\r
+                  &mCpuTemplate.Cpu,\r
+                  &gEfiCpuIo2ProtocolGuid,\r
+                  &mCpuTemplate.CpuIo,\r
                   NULL\r
                   );\r
   ASSERT_EFI_ERROR (Status);\r