docs: def backup_bios_config(irmc_info):
      """backup current bios configuration
  
      This function sends a BACKUP BIOS request to the server. Then when the bios
      config data are ready for retrieving, it will return the data to the
      caller. Note that this operation may take time.
  
      :param irmc_info: node info
      :return: a dict with following values:
          {
              'bios_config': <bios config data>,
              'warning': <warning message if there is>
          }
      """
      # 1. Make sure there is no BiosConfig profile in the store
      try:
          # Get the profile first, if not found, then an exception
          # will be raised.
          elcm_profile_get(irmc_info=irmc_info,
                           profile_name=PROFILE_BIOS_CONFIG)
          # Profile found, delete it
          elcm_profile_delete(irmc_info=irmc_info,
                              profile_name=PROFILE_BIOS_CONFIG)
      except ELCMProfileNotFound:
          # Ignore this error as it's not an error in this case
          pass
  
      # 2. Send request to create a new profile for BiosConfig
      session = elcm_profile_create(irmc_info=irmc_info,
                                    param_path=PARAM_PATH_BIOS_CONFIG)
  
      # 3. Profile creation is in progress, we monitor the session
      session_timeout = irmc_info.get('irmc_bios_session_timeout',
                                      BIOS_CONFIG_SESSION_TIMEOUT)
      return _process_session_data(
          irmc_info=irmc_info,
          operation='BACKUP_BIOS',
          session_id=session['Session']['Id'],
          session_timeout=session_timeout)