Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rebase master #40

Open
wants to merge 71 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
71 commits
Select commit Hold shift + click to select a range
0e7c463
libpldm: PDR fix
Pavithrab7 Jun 28, 2024
e15d6d2
Merge pull request #27 from Pavithrab7/PDR_fix
geissonator Jul 1, 2024
9727d0d
oem: ibm: Entity type for chassis power controller (#31)
vkaverap Jul 12, 2024
148ca33
pdr: Find parent entity of contained entity (#32)
vkaverap Jul 12, 2024
ee2ee5a
Operator Panel trigger function support (#26)
sagisin Jul 15, 2024
eeb0840
pdr: PDR loop fix (#33)
ArchanaKakani Jul 17, 2024
b0d6207
HotPlug/CM: Handle PDRs for hotplug CM (#25)
vkaverap Jul 22, 2024
6120d97
pdr: support to get the entity using record handle (#35)
ArchanaKakani Aug 5, 2024
0e74989
pdr: Adding API for updating container IDs (#28)
riyadixitagra Aug 14, 2024
13cba3e
oem-ibm: Add user password error status codes (#37)
jaypadath Aug 14, 2024
af73cf3
include: Drop compat symlinks for IBM OEM headers
amboar Jun 19, 2024
7e91075
requester: instance-id: Release read lock on conflict
amboar Jun 28, 2024
3b247dc
docs: checklists: Add some more influences and references
amboar Jul 2, 2024
0cc0181
changelog: Add entry for entity association PDR API
vkaverap Jun 5, 2024
0f1279d
platform: Define macros for the responded transferflags
ThuBaNguyen Jul 6, 2024
25915ee
pdr: Add pldm_pdr_get_terminus_handle() API
Pavithrab7 Jul 5, 2024
e4123cf
msgbuf: Generalize array extraction and insertion
amboar Jul 8, 2024
88ae04f
msgbuf: Add pldm_msgbuf_span_string_ascii()
ThuBaNguyen Jul 2, 2024
9c2f6b7
msgbuf: Add pldm_msgbuf_copy_string_ascii()
amboar Jul 8, 2024
558c1b0
msgbuf: Add pldm_msgbuf_span_string_utf16()
ThuBaNguyen Jul 2, 2024
a5919fd
msgbuf: Add pldm_msgbuf_copy_string_utf16()
amboar Jul 8, 2024
537ace4
pdr: Add related decode_entity_auxiliary_names_pdr*() APIs
ThuBaNguyen Jun 22, 2024
71e1de1
fw_update: Add encode req & decode resp for get_downstream_fw_params
chris-fs-wang Jul 3, 2024
47d561d
abi: x86_64: Capture rename of get_fru_record_by_option()
amboar Jul 17, 2024
6440cdf
platform: Stabilise related decode_entity_auxiliary_names_pdr*() APIs
ThuBaNguyen Jul 16, 2024
5eb11bf
docs: checklists: Add Logic for Programmers to influences
amboar Jul 18, 2024
9896762
msgbuf: Ensure memmem() is correctly typed and visible where required
amboar Jul 25, 2024
19777cf
docs: checklists: Add "Parse, don't validate" to influences
amboar Jul 24, 2024
b3ac2cd
platform: Rework decode/encode_pldm_message_poll_event_data() APIs
ThuBaNguyen Jul 26, 2024
ed4c742
platform: Stabilise decode_pldm_message_poll_event_data() APIs
ThuBaNguyen Jul 24, 2024
8d7423d
docs: checklists: Add CWE as a reference
amboar Jul 31, 2024
5b86ccd
docs: checklists: Add Alexis King's name to Parse, don't validate
amboar Jul 31, 2024
7eb227a
CHANGELOG.md: Fix MD040 warnings
lxwinspur Aug 5, 2024
716a004
CHANGELOG.md: Fix MD034 warnings
lxwinspur Aug 5, 2024
fe5124f
README.md: Fix MD010 warnings
lxwinspur Aug 5, 2024
15ac5b0
README.md: Fix MD014 warnings
lxwinspur Aug 5, 2024
5b44d7d
scripts: Add apply-renames based on clang-rename
amboar Jun 21, 2024
660419d
evolutions: Replace coccinelle script with clang-rename config
amboar Jun 21, 2024
642ae89
scripts: Add abi-dump-updater
amboar Jul 23, 2024
2d1162f
dsp: pdr: Rename pldm_pdr_add_check()
amboar Jun 20, 2024
e950eda
dsp: pdr: Rename pldm_pdr_add_fru_record_set_check()
amboar Jun 20, 2024
75c1622
dsp: pdr: Rename pldm_entity_association_pdr_add_check()
amboar Jun 24, 2024
26b9606
dsp: pdr: Rename pldm_entity_association_pdr_add_from_node_check()
amboar Jun 24, 2024
f8c0d5f
dsp: bios_table: Rename pldm_bios_table_string_entry_encode_check()
amboar Jun 24, 2024
3d83321
dsp: bios_table: Rename pldm_bios_table_string_entry_decode_string_ch…
amboar Jun 25, 2024
bd8d640
dsp: bios_table: Rename pldm_bios_table_attr_entry_enum_encode_check()
amboar Jun 25, 2024
4a4b66e
dsp: bios_table: Rename pldm_bios_table_attr_entry_enum_decode_pv_num…
amboar Jun 25, 2024
e5659b2
dsp: bios_table: Rename pldm_bios_table_attr_entry_enum_decode_def_nu…
amboar Jun 25, 2024
09eaad2
dsp: bios_table: Rename pldm_bios_table_attr_entry_enum_decode_pv_hdl…
amboar Jun 25, 2024
0be1473
dsp: bios_table: Rename pldm_bios_table_attr_entry_string_encode_check()
amboar Jun 25, 2024
4284de0
dsp: bios_table: Rename pldm_bios_table_attr_entry_string_decode_def_…
amboar Jun 25, 2024
20cad2a
dsp: bios_table: Rename pldm_bios_table_attr_entry_integer_encode_che…
amboar Jun 29, 2024
e94e187
dsp: bios_table: Rename pldm_bios_table_attr_value_entry_encode_enum_…
amboar Jun 29, 2024
440c92a
dsp: bios_table: Rename pldm_bios_table_attr_value_entry_encode_strin…
amboar Jun 29, 2024
dd51b58
dsp: bios_table: Rename pldm_bios_table_attr_value_entry_encode_integ…
amboar Jun 29, 2024
3a76c9d
dsp: bios_table: Rename pldm_bios_table_append_pad_checksum_check()
amboar Jun 29, 2024
a4000ba
libpldm: Introduce LIBPLDM_CC_COUNTED_BY()
amboar Aug 14, 2024
5242f99
platform: Add decode_pldm_cper_event_data() API
ThuBaNguyen Aug 7, 2024
2f07a5a
docs: checklists: Codec functions must take a message struct
amboar Aug 14, 2024
7a25804
clang-format: re-format for clang-18
williamspatrick Aug 16, 2024
6a43536
compiler: Provide LIBPLDM_CC_UNUSED
amboar Aug 23, 2024
21ad718
build: upgrade to C++23
williamspatrick Aug 23, 2023
7103015
platform: Remove `_data` suffix from `cper_event` decode API
ThuBaNguyen Sep 3, 2024
6db47f3
docs: checklists: Capture no-unused-structs in changes checklist
amboar Aug 16, 2024
86b50f4
compiler: Provide LIBPLDM_CC_ALWAYS_INLINE
amboar Sep 1, 2024
57e1b8c
msgbuf: Harden pldm_msgbuf_{insert,extract}_array()
amboar Aug 11, 2024
e00ad7b
compiler: Provide LIBPLDM_CC_NONNULL{,_ARGS()}
amboar Sep 1, 2024
72dcaea
platform: Stabilise decode_pldm_platform_cper_event API
ThuBaNguyen Aug 29, 2024
537ce30
libpldm: PDR fix
Pavithrab7 Jun 28, 2024
215a3a6
pdr: Find parent entity of contained entity (#32)
vkaverap Jul 12, 2024
d398aa3
pdr: PDR loop fix (#33)
ArchanaKakani Jul 17, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
91 changes: 79 additions & 12 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,23 +20,90 @@ Change categories:
### Added

1. base: Define macros for reserved TIDs
2. pdr: Add pldm_entity_association_pdr_add_contained_entity_to_remote_pdr()
3. pdr: Add pldm_entity_association_pdr_create_new()
4. platform: Define macros for the responded transferflags
5. pdr: Add pldm_pdr_get_terminus_handle() API
6. pdr: Add related decode_entity_auxiliary_names_pdr() APIs
7. fw_update: Add encode req & decode resp for get_downstream_fw_params
8. platform: Add decode_pldm_platform_cper_event() API
9. decode_get_pdr_repository_info_resp_safe()

Replaces decode_get_pdr_repository_info_resp() as discussed in the
`Deprecated` section below

10. decode_get_pdr_resp_safe()

Replaces decode_get_pdr_resp() as discussed in the `Deprecated` section
below

### Changed

1. pdr: Stabilise related decode_entity_auxiliary_names_pdr() APIs
2. platform: Rework decode/encode_pldm_message_poll_event_data() APIs
3. platform: Stabilise decode_pldm_message_poll_event_data() APIs
4. ABI break for decode_sensor_op_data()

Applying LIBPLDM_CC_NONNULL to the internal msgbuf APIs caused
abi-compliance-checker to flag a change in the register containing the
parameter `previous_op_state`.

5. platform: Stabilise decode_pldm_platform_cper_event() API

### Deprecated

1. fru: Deprecate `get_fru_record_by_option_check()`
1. Rename and deprecate functions with the `_check` suffix

All library function return values always need to be checked. The `_check`
suffix is redundant, so remove it. Migration to the non-deprecated
equivalents without the `_check` suffix can be performed using
`scripts/ apply-renames` and the [clang-rename][] configurations under
`evolutions/`

The deprecated functions:

Users should switch to `get_fru_record_by_option()`. Migration can be
performed using the [Coccinelle semantic patch][coccinelle]
`get_fru_record_by_option_check.cocci`:
- `get_fru_record_by_option_check()`
- `pldm_bios_table_append_pad_checksum_check()`
- `pldm_bios_table_attr_entry_enum_decode_def_num_check()`
- `pldm_bios_table_attr_entry_enum_decode_pv_hdls_check()`
- `pldm_bios_table_attr_entry_enum_decode_pv_num_check()`
- `pldm_bios_table_attr_entry_enum_encode_check()`
- `pldm_bios_table_attr_entry_integer_encode_check()`
- `pldm_bios_table_attr_entry_string_decode_def_string_length_check()`
- `pldm_bios_table_attr_entry_string_encode_check()`
- `pldm_bios_table_attr_value_entry_encode_enum_check()`
- `pldm_bios_table_attr_value_entry_encode_integer_check()`
- `pldm_bios_table_attr_value_entry_encode_string_check()`
- `pldm_bios_table_string_entry_decode_string_check()`
- `pldm_bios_table_string_entry_encode_check()`
- `pldm_entity_association_pdr_add_check()`
- `pldm_entity_association_pdr_add_from_node_check()`
- `pldm_pdr_add_check()`
- `pldm_pdr_add_fru_record_set_check()`

```
$ spatch \
--sp-file=${LIBPLDM_DIR}/evolutions/current/get_fru_record_by_option_check.cocci \
--in-place \
$(git ls-files | grep -E '\.[ch](pp)?')
```
[clang-rename]: https://clang.llvm.org/extra/clang-rename.html

2. `decode_get_pdr_repository_info_resp()`

Users should move to `decode_get_pdr_repository_info_resp_safe()` which
eliminates the opportunity for buffer overruns when extracting objects from
the message.

3. `decode_get_pdr_resp()`

Users should move to `decode_get_pdr_resp_safe()` which reduces the
invocation tedium and improves memory safety over `decode_get_pdr_resp()`.

### Removed

1. IBM OEM header compatibility symlinks.

Anyone left using the deprecated paths can migrate using the coccinelle patch
at `evolutions/current/oem-ibm-header-compat.cocci`.

### Fixed

[coccinelle]: https://coccinelle.gitlabpages.inria.fr/website/
1. requester: instance-id: Release read lock on conflict

## [0.8.0] - 2024-05-23

Expand Down Expand Up @@ -388,7 +455,7 @@ Change categories:
CI purposes. `oem-ibm` is still disabled by default in the `libpldm` bitbake
recipe:

https://github.com/openbmc/openbmc/blob/master/meta-phosphor/recipes-phosphor/libpldm/libpldm_git.bb#L10
<https://github.com/openbmc/openbmc/blob/master/meta-phosphor/recipes-phosphor/libpldm/libpldm_git.bb#L10>

To disable `oem-ibm` in your development builds, pass `-Doem-ibm=disabled`
when invoking `meson setup`
Expand Down
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -147,9 +147,9 @@ These annotations go immediately before your function signature:
```c
LIBPLDM_ABI_TESTING
pldm_requester_rc_t pldm_transport_send_msg(struct pldm_transport *transport,
pldm_tid_t tid,
const void *pldm_req_msg,
size_t req_msg_len)
pldm_tid_t tid,
const void *pldm_req_msg,
size_t req_msg_len)
{
...
}
Expand Down Expand Up @@ -177,7 +177,7 @@ Use of `libpldm` as a subproject is both supported and encouraged.
subproject configuration syntax:

```shell
$ meson setup ... -Dlibpldm:abi=deprecated,stable,testing ...
meson setup ... -Dlibpldm:abi=deprecated,stable,testing ...
```

## OEM/vendor-specific functions
Expand Down
Loading