/* Internal function to add smbus execute opcode to the table. */
EFI_STATUS BootScriptWriteSmbusExecute(IN VA_LIST Marker)
/* Internal function to add smbus execute opcode to the table. */
EFI_STATUS BootScriptWriteSmbusExecute(IN VA_LIST Marker)
{
  EFI_SMBUS_DEVICE_ADDRESS  SlaveAddress;
  EFI_SMBUS_DEVICE_COMMAND  Command;
  EFI_SMBUS_OPERATION       Operation;
  BOOLEAN                   PecCheck;
  VOID                      *Buffer;
  UINTN                     *DataSize;
  UINTN                     SmBusAddress;
  SlaveAddress.SmbusDeviceAddress = VA_ARG (Marker, UINTN);
  Command                         = VA_ARG (Marker, EFI_SMBUS_DEVICE_COMMAND);
  Operation                       = VA_ARG (Marker, EFI_SMBUS_OPERATION);
  PecCheck                        = VA_ARG (Marker, BOOLEAN);
  SmBusAddress                    = SMBUS_LIB_ADDRESS (SlaveAddress.SmbusDeviceAddress, Command, 0, PecCheck);
  DataSize                        = VA_ARG (Marker, UINTN *);
  Buffer                          = VA_ARG (Marker, VOID *);
  return S3BootScriptSaveSmbusExecute (SmBusAddress, Operation, DataSize, Buffer);
}