|
Name |
|
Date |
Size |
#Lines |
LOC |
| .. | | - | - |
| common/ | H | - | - | 3,924 | 2,762 |
| configurations/ | H | - | - | 36,195 | 36,170 |
| docs/ | H | - | - | 235 | 186 |
| fw-update/ | H | - | - | 4,626 | 3,390 |
| host-bmc/ | H | - | - | 3,929 | 2,929 |
| libpldmresponder/ | H | - | - | 15,234 | 11,851 |
| oem/ | H | - | - | 24,956 | 21,802 |
| platform-mc/ | H | - | - | 11,014 | 8,625 |
| pldmd/ | H | - | - | 928 | 674 |
| pldmtool/ | H | - | - | 6,787 | 5,776 |
| requester/ | H | - | - | 2,414 | 1,714 |
| softoff/ | H | - | - | 711 | 504 |
| subprojects/ | H | - | - | 67 | 48 |
| test/ | H | - | - | 125 | 98 |
| tools/ | H | - | - | 1,483 | 1,217 |
| utilities/ | H | - | - | 187 | 152 |
| .clang-format | H A D | 03-Feb-2025 | 3.7 KiB | 137 | 135 |
| .clang-tidy | H A D | 30-May-2025 | 6.6 KiB | 177 | 174 |
| .eslintignore | H A D | 11-Mar-2025 | 500 | 11 | 10 |
| .gitignore | H A D | 13-Jul-2023 | 51 | 6 | 4 |
| .linter-ignore | H A D | 11-Mar-2025 | 280 | 5 | 4 |
| LICENSE | H A D | 28-Jan-2019 | 11.1 KiB | 202 | 169 |
| OWNERS | H A D | 08-Nov-2024 | 2.4 KiB | 80 | 75 |
| README.md | H A D | 28-Aug-2025 | 2.2 KiB | 81 | 55 |
| meson.build | H A D | 18-Aug-2025 | 8.8 KiB | 310 | 278 |
| meson.options | H A D | 25-Apr-2025 | 5.9 KiB | 226 | 200 |
README.md
1# PLDM - Platform Level Data Model
2
3[](LICENSE)
4
5## Overview
6
7PLDM (Platform Level Data Model) is a key component of the OpenBMC project,
8providing a standardized data model and message formats for various platform
9management functionalities. It defines a method to manage, monitor, and control
10the firmware and hardware of a system.
11
12The OpenBMC PLDM project aims to implement the specifications defined by the
13Distributed Management Task Force (DMTF), allowing for interoperable management
14interfaces across different hardware and firmware components.
15
16## Features
17
18- **Standardized Messaging:** Adheres to the DMTF's PLDM specifications,
19 enabling consistent and interoperable communication between different
20 components.
21- **Modularity:** Supports multiple PLDM types, including base, FRU,Firmware
22 update, Platform Monitoring and Control, and BIOS Control and Configuration.
23- **Extensibility:** Easily extendable to support new PLDM types and custom OEM
24 commands.
25- **Integration:** Seamlessly integrates with other OpenBMC components for
26 comprehensive system management.
27
28## Getting Started
29
30### Prerequisites
31
32To build and run PLDM, you need the following dependencies:
33
34- `Meson`
35- `Ninja`
36
37Alternatively, source an OpenBMC ARM/x86 SDK.
38
39### Building
40
41To build the PLDM project, follow these steps:
42
43```bash
44meson setup build && meson compile -C build
45```
46
47### To run unit tests
48
49The simplest way of running the tests is as described by the meson man page:
50
51```bash
52meson test -C build
53```
54
55Alternatively, tests can be run in the OpenBMC CI docker container using
56[these](https://github.com/openbmc/docs/blob/master/testing/local-ci-build.md)
57steps.
58
59### To enable pldm verbosity
60
61pldm daemon accepts a command line argument `--verbose` or `--v` or `-v` to
62enable the daemon to run in verbose mode. It can be done via adding this option
63to the environment file that pldm service consumes.
64
65```bash
66echo 'PLDMD_ARGS="--verbose"' > /etc/default/pldmd
67systemctl restart pldmd
68```
69
70### To disable pldm verbosity
71
72```bash
73rm /etc/default/pldmd
74systemctl restart pldmd
75```
76
77## Documentation
78
79For complete documentation on the functionality and usage of this repository,
80please refer to the [docs](docs) folder.
81