]> git.proxmox.com Git - mirror_edk2.git/blobdiff - OptionRomPkg/Application/BltLibSample/BltLibSample.c
OptionRomPkg BltLibSample: Fix build for IPF architecture
[mirror_edk2.git] / OptionRomPkg / Application / BltLibSample / BltLibSample.c
index fd2b2ce345b3b4e9610baaa807350f568a9b2bc5..300b9ee117ab8074adaa396d1825238a9406ee17 100644 (file)
 #include <Library/UefiBootServicesTableLib.h>\r
 \r
 \r
+UINT64\r
+ReadTimestamp (\r
+  VOID\r
+  )\r
+{\r
+#if defined (MDE_CPU_IA32) || defined (MDE_CPU_X64)\r
+  return AsmReadTsc ();\r
+#elif defined (MDE_CPU_IPF)\r
+  return AsmReadItc ();\r
+#else\r
+#error ReadTimestamp not supported for this architecture!\r
+#endif\r
+}\r
+\r
 UINT32\r
 Rand32 (\r
   VOID\r
@@ -34,10 +48,10 @@ Rand32 (
 \r
   R32 = 0;\r
   Found = 0;\r
-  Tsc1 = AsmReadTsc ();\r
-  Tsc2 = AsmReadTsc ();\r
+  Tsc1 = ReadTimestamp ();\r
+  Tsc2 = ReadTimestamp ();\r
   do {\r
-    Tsc2 = AsmReadTsc ();\r
+    Tsc2 = ReadTimestamp ();\r
     TscBits = Tsc2 ^ Tsc1;\r
     Bits = HighBitSet64 (TscBits);\r
     if (Bits > 0) {\r