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

D.3. Using LIBRSU Without a Valid SPT or CPB

LIBRSU can also be used when the SPTs or CPBs in flash are corrupted, but with reduced functionality. APIs 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 LIBRSU functionality is available.

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

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

If both CPBs are corrupted, the librsu_init is still successful (return code 0) but some of the APIs return the error code ECORRUPTED_CPB when called.

The table below lists which APIs require valid SPT or valid CPB.
Table 18.  APIs which require valid SPT or CPB
API Requires Valid SPT Requires Valid CPB
librsu_init    
librsu_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_file yes yes
rsu_slot_program_factory_update_file yes yes
rsu_slot_program_buf_raw yes  
rsu_slot_program_file_raw yes  
rsu_slot_verify_buf yes yes
rsu_slot_verify_file yes yes
rsu_slot_verify_buf_raw yes  
rsu_slot_verify_file_raw yes  
rsu_slot_copy_to_file yes yes
rsu_slot_enable yes yes
rsu_slot_disable yes yes
rsu_slot_load_after_reboot yes yes
rsu_slot_load_factory_after_reboot yes  
rsu_slot_rename yes  
rsu_slot_delete yes yes
rsu_slot_create yes  
rsu_status_log    
rsu_status_log    
rsu_notify    
rsu_clear_error_status    
rsu_reset_retry_counter    
rsu_dcmf_version    
rsu_max_retry    
rsu_save_spt yes  
rsu_restore_spt    
rsu_save_cpb   yes
rsu_create_empty_cpb    
rsu_restore_cpb    
rsu_running_factory yes