Name Date Size #Lines LOC

..--

common/H--3,9242,762

configurations/H--36,19536,170

docs/H--235186

fw-update/H--4,6263,390

host-bmc/H--3,9292,929

libpldmresponder/H--15,23411,851

oem/H--24,95621,802

platform-mc/H--11,0148,625

pldmd/H--928674

pldmtool/H--6,7875,776

requester/H--2,4141,714

softoff/H--711504

subprojects/H--6748

test/H--12598

tools/H--1,4831,217

utilities/H--187152

.clang-formatH A D03-Feb-20253.7 KiB137135

.clang-tidyH A D30-May-20256.6 KiB177174

.eslintignoreH A D11-Mar-2025500 1110

.gitignoreH A D13-Jul-202351 64

.linter-ignoreH A D11-Mar-2025280 54

LICENSEH A D28-Jan-201911.1 KiB202169

OWNERSH A D08-Nov-20242.4 KiB8075

README.mdH A D28-Aug-20252.2 KiB8155

meson.buildH A D18-Aug-20258.8 KiB310278

meson.optionsH A D25-Apr-20255.9 KiB226200

README.md

1# PLDM - Platform Level Data Model
2
3[![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](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