/* Ensures that no later instruction will execute speculatively, until all prior instructions have completed.  */
VOID EFIAPI SpeculationBarrier(VOID)
/* Ensures that no later instruction will execute speculatively, until all prior instructions have completed.  */
VOID EFIAPI SpeculationBarrier(VOID)
{
  if (PcdGet8 (PcdSpeculationBarrierType) == 0x01) {
    AsmLfence ();
  } else if (PcdGet8 (PcdSpeculationBarrierType) == 0x02) {
    AsmCpuid (0x01, NULL, NULL, NULL, NULL);
  }
}