/* Writes the MMIO registers specified by Address with registers width and value specified by Width and Data respectively. Data is returned. If such operations are not supported, then ASSERT(). This function must guarantee that all MMIO read and write operations are serialized. */
UINT64 EFIAPI MmioWriteWorker(IN UINTN Address, IN EFI_SMM_IO_WIDTH Width, IN UINT64 Data)
/* Writes the MMIO registers specified by Address with registers width and value specified by Width and Data respectively. Data is returned. If such operations are not supported, then ASSERT(). This function must guarantee that all MMIO read and write operations are serialized. */
UINT64 EFIAPI MmioWriteWorker(IN UINTN Address, IN EFI_SMM_IO_WIDTH Width, IN UINT64 Data)
{
  EFI_STATUS  Status;
  Status = gSmst->SmmIo.Mem.Write (&gSmst->SmmIo, Width, Address, 1, &Data);
  ASSERT_EFI_ERROR (Status);
  return Data;
}