| # PDR Implementation |
| |
| While PLDM Platform Descriptor Records (PDRs) are mostly static information, |
| they can vary across platforms and systems. For this reason, platform specific |
| PDR information is encoded in platform specific JSON files. JSON files must be |
| named based on the PDR type number. For example a state effecter PDR JSON file |
| will be named 11.json. The JSON files may also include information to enable |
| additional processing (apart from PDR creation) for specific PDR types, for eg |
| mapping an effecter id to a D-Bus object. |
| |
| The PLDM responder implementation finds and parses PDR JSON files to create the |
| PDR repository. Platform specific PDR modifications would likely just result in |
| JSON updates. New PDR type support would require JSON updates as well as PDR |
| generation code. The PDR generator is a map of PDR Type -> C++ lambda to create |
| PDR entries for that type based on the JSON, and to update the central PDR repo. |