Hisilicon/SMBIOS: Update ProcessorID from MIDR

There is no register restore processor id at
ARM Platform,we talked with ARM Charles and made a agreement
that we can use MIDR instead,maybe there will be a specific register
to read the processor id in future.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Heyi Guo <heyi.guo@linaro.org>
Reviewed-by: Charles Garcia-Tobin <charles.garcia-tobin@arm.com>
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
diff --git a/Chips/Hisilicon/Drivers/Smbios/ProcessorSubClassDxe/ProcessorSubClass.c b/Chips/Hisilicon/Drivers/Smbios/ProcessorSubClassDxe/ProcessorSubClass.c
index 07dae5f..005d28f 100644
--- a/Chips/Hisilicon/Drivers/Smbios/ProcessorSubClassDxe/ProcessorSubClass.c
+++ b/Chips/Hisilicon/Drivers/Smbios/ProcessorSubClassDxe/ProcessorSubClass.c
@@ -490,6 +490,7 @@
     CHAR16                      *CpuVersion;

     STRING_REF                  TokenToUpdate;

 

+    UINT64                      *ProcessorId;

     Type4Record         = NULL;

     ProcessorManuStr    = NULL;

     ProcessorVersionStr = NULL;

@@ -614,6 +615,8 @@
     Type4Record->ProcessorCharacteristics   = ProcessorCharacteristics.Data;

 

     Type4Record->ExternalClock              = (UINT16)(ArmReadCntFrq() / 1000 / 1000);

+    ProcessorId = (UINT64 *)&(Type4Record->ProcessorId);

+    *ProcessorId = ArmReadMidr();

 

     OptionalStrStart = (CHAR8 *) (Type4Record + 1);

     UnicodeStrToAsciiStr (ProcessorSocketStr, OptionalStrStart);