]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Core/Dxe/Event/Tpl.c
move header files in MdeModulePkg\Core\Dxe except DxeMain.h into their corresponding...
[mirror_edk2.git] / MdeModulePkg / Core / Dxe / Event / Tpl.c
index 5eb4628cb1368e1b99328d296545d52845e52cda..dd9c57e1d3d139779a6220de30b55a4945aeda45 100644 (file)
@@ -13,7 +13,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 **/\r
 \r
 #include "DxeMain.h"\r
-\r
+#include "Event.h"\r
 \r
 /**\r
   Set Interrupt State.\r
@@ -35,35 +35,6 @@ CoreSetInterruptState (
   }\r
 }\r
 \r
-//\r
-// Return the highest set bit\r
-//\r
-\r
-/**\r
-  Return the highest set bit.\r
-\r
-  @param  Number  The value to check\r
-\r
-  @return Bit position of the highest set bit\r
-\r
-**/\r
-UINTN\r
-CoreHighestSetBit (\r
-  IN UINTN     Number\r
-  )\r
-{\r
-  UINTN   Msb;\r
-\r
-  Msb = 31;\r
-  while ((Msb > 0) && ((Number & (UINTN)(1 << Msb)) == 0)) {\r
-    Msb--;\r
-  }\r
-\r
-  return Msb;\r
-}\r
-\r
-\r
-\r
 \r
 /**\r
   Raise the task priority level to the new level.\r
@@ -135,9 +106,8 @@ CoreRestoreTpl (
   //\r
   // Dispatch any pending events\r
   //\r
-\r
-  while ((-2 << NewTpl) & gEventPending) {\r
-    gEfiCurrentTpl = CoreHighestSetBit (gEventPending);\r
+  while (((-2 << NewTpl) & gEventPending) != 0) {\r
+    gEfiCurrentTpl = HighBitSet64 (gEventPending);\r
     if (gEfiCurrentTpl < TPL_HIGH_LEVEL) {\r
       CoreSetInterruptState (TRUE);\r
     }\r