Skip to content

Add initial certificate bank support and allow selecting the bank#3629

Open
alistair23 wants to merge 2 commits into
DMTF:mainfrom
alistair23:alistair/bank-support
Open

Add initial certificate bank support and allow selecting the bank#3629
alistair23 wants to merge 2 commits into
DMTF:mainfrom
alistair23:alistair/bank-support

Conversation

@alistair23
Copy link
Copy Markdown
Contributor

SPDM 1.4 add support for the banked architecture. Basically allowing a number of banks of certificate slots.

Currently bank support can be handled by the implementer using the CONNECTION_STATE_NEGOTIATED callback registered with libspdm_register_connection_state_callback_func().

The problem with this is it pushes a lot of complexity back to the implementer and it makes supporting the Slot Management commands tricky, as the implementer will need to handle the commands as well.

Instead let's move the bank support into libspdm. Currently we just allow at build time a 2-D array of certificates, for banks and slots. We then allow the implementation to select the bank to use, which defaults to zero.

Future patches will work on the Slot Management commands, which can then operate on specific banks.

At build time we allow users to specify their own bank count, allowing smaller bank counts on size reduced systems.

@alistair23 alistair23 force-pushed the alistair/bank-support branch 6 times, most recently from e3e587a to 4e67910 Compare May 25, 2026 03:12
Currently bank support can be handled by the implementer using the
CONNECTION_STATE_NEGOTIATED callback registered with
libspdm_register_connection_state_callback_func().

The problem with this is it pushes a lot of complexity back to the
implementer and it makes supporting the Slot Management commands tricky,
as the implementer will need to handle the commands as well.

Instead let's move the bank support into libspdm. For step 1 we just
convert the array of certificate information for the slots into a 2-D
array of slots and banks. We hard code to use bank 0 at all times, so
this is no functional change.

At build time we allow users to specify their own bank count, allowing
smaller bank counts on size reduced systems.

Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
@alistair23 alistair23 force-pushed the alistair/bank-support branch 7 times, most recently from cfa50b4 to 0484933 Compare May 25, 2026 05:35
Comment thread script/format_nix.sh
Allow the implementation to select the bank to use by setting the
LIBSPDM_DATA_LOCAL_CURRENT_BANK property. This selects the current bank
for all existing operations.

Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
@alistair23 alistair23 force-pushed the alistair/bank-support branch from 0484933 to 5a803e8 Compare May 27, 2026 02:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants