~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/driver-api/pldmfw/index.rst

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /Documentation/driver-api/pldmfw/index.rst (Version linux-6.12-rc7) and /Documentation/driver-api/pldmfw/index.rst (Version linux-4.12.14)


  1 .. SPDX-License-Identifier: GPL-2.0-only          
  2                                                   
  3 ==================================                
  4 PLDM Firmware Flash Update Library                
  5 ==================================                
  6                                                   
  7 ``pldmfw`` implements functionality for updati    
  8 the PLDM for Firmware Update standard             
  9 <https://www.dmtf.org/documents/pmci/pldm-firm    
 10                                                   
 11 .. toctree::                                      
 12    :maxdepth: 1                                   
 13                                                   
 14    file-format                                    
 15    driver-ops                                     
 16                                                   
 17 ==================================                
 18 Overview of the ``pldmfw`` library                
 19 ==================================                
 20                                                   
 21 The ``pldmfw`` library is intended to be used     
 22 implementing device flash update based on firm    
 23 firmware file format.                             
 24                                                   
 25 It is implemented using an ops table that allo    
 26 the underlying device specific functionality.     
 27                                                   
 28 ``pldmfw`` implements logic to parse the packe    
 29 firmware file into data structures, and then u    
 30 operations to determine if the firmware file i    
 31 so, it sends the record and component data to     
 32 specific implementations provided by device dr    
 33 firmware indicates that the update may be perf    
 34 sent to the device for programming.               
 35                                                   
 36 Parsing the PLDM file                             
 37 =====================                             
 38                                                   
 39 The PLDM file format uses packed binary data,     
 40 stored in the Little Endian format. Several pi    
 41 length, including version strings and the numb    
 42 Due to this, it is not straight forward to ind    
 43 descriptors, or components.                       
 44                                                   
 45 To avoid proliferating access to the packed bi    
 46 library parses and extracts this data into sim    
 47 access.                                           
 48                                                   
 49 In order to safely process the firmware file,     
 50 unaligned access of multi-byte fields, and to     
 51 Endian to CPU host format. Additionally the re    
 52 components are stored in linked lists.            
 53                                                   
 54 Performing a flash update                         
 55 =========================                         
 56                                                   
 57 To perform a flash update, the ``pldmfw`` modu    
 58 steps                                             
 59                                                   
 60 1. Parse the firmware file for record and comp    
 61 2. Scan through the records and determine if t    
 62    in the file. The first matched record will     
 63 3. If the matching record provides package dat    
 64    the device.                                    
 65 4. For each component that the record indicate    
 66    the device. For each component, the firmwar    
 67    indication of whether the update is suitabl    
 68    not suitable, the update is canceled.          
 69 5. For each component, send the binary data to    
 70    updating.                                      
 71 6. After all components are programmed, perfor    
 72    actions to finalize the update.                
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php