Intel® Agilex™ Hard Processor System Remote System Update User Guide

ID 683184
Date 7/13/2022
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

C.3. Using U-Boot RSU Without a Valid SPT or CPB

The U-Boot RSU APIs and commands can also be used when the SPTs or CPBs in flash are corrupted, but with reduced functionality. APIs and commands are provided to restore a saved SPT or CPB, and also to create an empty CPB. After the CPBs ant SPTs are repaired using these APIs, the full RSU functionality is available.

If only one SPT is corrupted, the rsu_init API restores it from the good copy. If only one CPB is corrupted, the rsu_init API restores it from the good copy.

If both SPTs are corrupted, the rsu_init is still successful (return code 0) but some of the APIs returns the error code ECORRUPTED_SPT when called. Both SPTs being corrupted cause rsu_init to not be able to identify the location of the CPBs, and the CPBs is also considered as corrupted.

If both CPBs are corrupted, the rsu_init is still successful (return code 0) but some of the APIs returns the error code ECORRUPTED_CPB when called.
Note: The API rsu_init is only called once by U-Boot, the first time an RSU command is called. A reset or power cycle is required to cause rsu_init to be called again.
The table below lists which APIs require valid SPT or valid CPB.
Table 16.  APIs which require valid SPT or CPB
API Requires Valid SPT Requires Valid CPB
rsu_init    
rsu_exit    
rsu_slot_count yes  
rsu_slot_by_name yes  
rsu_slot_get_info yes yes
rsu_slot_size yes  
rsu_slot_priority yes yes
rsu_slot_erase yes yes
rsu_slot_program_buf yes yes
rsu_slot_program_factory_update_buf yes yes
rsu_slot_program_buf_raw yes  
rsu_slot_program_file_raw yes  
rsu_slot_verify_buf yes yes
rsu_slot_verify_buf_raw yes  
rsu_slot_enable yes yes
rsu_slot_disable yes yes
rsu_slot_load yes yes
rsu_slot_load_factory yes  
rsu_slot_rename yes  
rsu_slot_delete yes yes
rsu_slot_create yes  
rsu_status_log    
rsu_notify    
rsu_clear_error_status    
rsu_reset_retry_counter    
rsu_dcmf_version    
rsu_max_retry    
rsu_dcmf_status    
rsu_create_empty_cpb    
rsu_restore_cpb    
rsu_save_cpb   yes
rsu_restore_spt    
rsu_save_spt yes  
rsu_running_factory yes