/* Save Tcg2 PCR Banks request request to variable space. */
EFI_STATUS SaveTcg2PCRBanksRequest(IN UINTN PCRBankIndex, IN BOOLEAN Enable)
/* Save Tcg2 PCR Banks request request to variable space. */
EFI_STATUS SaveTcg2PCRBanksRequest(IN UINTN PCRBankIndex, IN BOOLEAN Enable)
{
  UINT32      ReturnCode;
  EFI_STATUS  Status;
  if (Enable) {
    mTcg2ConfigPrivateDate->PCRBanksDesired |= (0x1 << PCRBankIndex);
  } else {
    mTcg2ConfigPrivateDate->PCRBanksDesired &= ~(0x1 << PCRBankIndex);
  }
  ReturnCode = Tcg2PhysicalPresenceLibSubmitRequestToPreOSFunction (TCG2_PHYSICAL_PRESENCE_SET_PCR_BANKS, mTcg2ConfigPrivateDate->PCRBanksDesired);
  if (ReturnCode == TCG_PP_SUBMIT_REQUEST_TO_PREOS_SUCCESS) {
    Status = EFI_SUCCESS;
  } else if (ReturnCode == TCG_PP_SUBMIT_REQUEST_TO_PREOS_GENERAL_FAILURE) {
    Status = EFI_OUT_OF_RESOURCES;
  } else if (ReturnCode == TCG_PP_SUBMIT_REQUEST_TO_PREOS_NOT_IMPLEMENTED) {
    Status = EFI_UNSUPPORTED;
  } else {
    Status = EFI_DEVICE_ERROR;
  }
  return Status;
}