The RSU status can be checked from U-Boot and Linux and contains the following 32-bit fields: 
   
 
     
     
      Table 19.   RSU Status Fields
      
      
       
       | Field | Description | 
 
      
      
       
       | current_image | Location of currently running image in flash. | 
 
       
       | failed_image | Address of failed image. | 
 
       
       | error_details | Opaque error code, with no meaning to users. | 
 
       
       | error_location | Location of error in the image that failed. | 
 
       
       | state | State of RSU system. | 
 
       
       | version | RSU interface version and error source. | 
 
       
       | retry counter | Current value of the retry counter. | 
 
      
    
 
     
  The failed_image, error_details, error_location, state fields and the error_source bit field of the version field have a sticky behavior: they are set when an error occurs, then they are not updated on subsequent errors, and they are cleared when one of the following events occur: POR, nCONFIG, a specific image is loaded, or the error status is specifically cleared from either U-Boot or Linux. 
 
  
   The 
state field has two bit fields: 
   
 
     
     
      Table 20.  State fields
      
      
       
       | Bit Field | Bits | Description | 
 
      
      
       
       | major_error_code | 31:16 | Major error code, see below for possible values. | 
 
       
       | minor_error_code | 15:0 | Minor error code, opaque value | 
 
      
    
 
     
  The following major error codes are defined:
 
   
    
    
     Table 21.  RSU Major Error Codes
     
     
      
      | Major Error Code | Description | 
 
     
     
      
      | 0xF001 | BITSTREAM_ERROR | 
 
      
      | 0xF002 | HARDWARE_ACCESS_FAILURE | 
 
      
      | 0xF003 | BITSTREAM_CORRUPTION | 
 
      
      | 0xF004 | INTERNAL_ERROR | 
 
      
      | 0xF005 | DEVICE_ERROR | 
 
      
      | 0xF006 | HPS_WATCHDOG_TIMEOUT | 
 
      
      | 0xF007 | INTERNAL_UNKNOWN_ERROR | 
 
     
   
 
    
  The minor error code is typically an opaque value, with no meaning for you. The only exception is for the case where the major error code is 0xF006 (HPS_WATCHDOG_TIMEOUT), in which case the minor error code is the value reported by the HPS to SDM through the RSU Notify command before the watchdog timeout occurred. 
 
   Starting with  Quartus® Prime Pro Edition software version 20.4, the following 
INTERNAL_ERROR codes are reported by the decision firmware and have specific meanings, as defined below: 
   
 
     
     
      Table 22.  Decision Firmware Error Codes
      
      
       
       | Major Error Code | Minor Error Code | Description | 
 
      
      
       
       | 0xF004 | 0xD00F | Decision firmware data was corrupted, factory image was loaded. | 
 
       
       | 0xF004 | 0xD010 | Configuration pointer block 0 was corrupted, configuration pointer block 1 was used instead. | 
 
       
       | 0xF004 | 0xD011 | Both configuration blocks 0 and 1 were corrupted, factory image was loaded. | 
 
      
    
 
     
    
  For a more complete list of possible error codes, refer to the Appendix: CONFIG_STATUS and RSU_STATUS Error Code Descriptions appendix in the Mailbox Client IPs User Guide. 
 
  
   The 
version component has the following bit fields: 
   
 
     
     
      Table 23.  Version fields
      
      
       
       | Bit Field | Bits | Description | 
 
      
      
       
       | current_dcmf_index | 31:28 | Index of the decision firmware copy that was used last time. Possible values: 0,1,2,3. | 
 
       
       | error_source | 27:16 | Source of the recorded error:  
          0x000: for no error  0xACF: if the error was produced by an application or factory image firmware  0xDCF: if the error was produced by the decision firmware  | 
 
       
       | acmf_version | 15:8 | Current image firmware RSU interface version. | 
 
       
       | dcmf_version | 7:0 | Decision firmware RSU interface version. | 
 
      
    
 
     
  
   Note:  Quartus® Prime Pro Edition version 25.1 is the first official version which supports RSU for  Agilex™ 5, and both acmf_version and dcmf_version are set to 0x02 for this release.