docs: def restore_bios_config(irmc_info, bios_config):
      """restore bios configuration
  
      This function sends a RESTORE BIOS request to the server. Then when the
      bios
      is ready for restoring, it will apply the provided settings and return.
      Note that this operation may take time.
  
      :param irmc_info: node info
      :param bios_config: bios config
      """
  
      def _process_bios_config():
          try:
              if isinstance(bios_config, dict):
                  input_data = bios_config
              else:
                  input_data = jsonutils.loads(bios_config)
  
              # The input data must contain flag "@Processing":"execute" in the
              # equivalent section.
              bios_cfg = input_data['Server']['SystemConfig']['BiosConfig']
              bios_cfg['@Processing'] = 'execute'
  
              return input_data
          except (TypeError, ValueError, KeyError):
              raise scci.SCCIInvalidInputError(
                  ('Invalid input bios config "%s".' % bios_config))
  
      # 1. Parse the bios config and create the input data
      input_data = _process_bios_config()
  
      # 2. 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
  
      # 3. Send a request to apply the param values
      session = elcm_profile_set(irmc_info=irmc_info,
                                 input_data=input_data)
  
      # 4. Param values applying is in progress, we monitor the session
      session_timeout = irmc_info.get('irmc_bios_session_timeout',
                                      BIOS_CONFIG_SESSION_TIMEOUT)
      _process_session_data(irmc_info=irmc_info,
                            operation='RESTORE_BIOS',
                            session_id=session['Session']['Id'],
                            session_timeout=session_timeout)