41a58d4f | 06-Sep-2024 |
Brandon Kim <brandonkim@google.com> |
external_storer: Add a log entry limit
This is to ensure that we don't get uncapped log entries. Default is set to the first 20 logs being saved, and the next 980 being in a circualr queue (1000 ent
external_storer: Add a log entry limit
This is to ensure that we don't get uncapped log entries. Default is set to the first 20 logs being saved, and the next 980 being in a circualr queue (1000 entries in total).
Tested: Added unit test to ensure that the queue works as intended. Also verified by injecting 1000 entries to ensure that the buffer indeed saves the first 20, and caps it 1000.
``` //LogEntry1: Created: ...Entries/66a97808-1e22-4c1e-b0f6-4b9eb7c714e7/index.json ... //LogEntry20: Created: ...Entries/9c07937a-9524-40f1-acef-19db73b46678/index.json //LogEntry21: Created: ...Entries/0bfb7ede-8020-4613-bfcf-5815ca176c79/index.json ... //LogEntry1001: Removed: ...Entries/0bfb7ede-8020-4613-bfcf-5815ca176c79 Created: ...Entries/31bdf3be-1e87-4e77-922d-9bbac09ac824/index.json ```
We can see that starting on the 1001st log, log entry 21 is deleted to make room.
Signed-off-by: Brandon Kim <brandonkim@google.com> Change-Id: Ic2badd7f01741d788cad829c9e203b7c4962fc8e
show more ...
|
95174256 | 06-Sep-2024 |
Brandon Kim <brandonkim@google.com> |
notifier_dbus_handler: Remove the vector
This vector isn't needed, as we only use the D-Bus object to notify the phosphor-dump-manager.
Tested: Verified on a local machine that the dump manager sti
notifier_dbus_handler: Remove the vector
This vector isn't needed, as we only use the D-Bus object to notify the phosphor-dump-manager.
Tested: Verified on a local machine that the dump manager still detects the new D-Bus path.
Signed-off-by: Brandon Kim <brandonkim@google.com> Change-Id: If8fb12554f5015377c71c56e1f059c14c3865661
show more ...
|
3d0cd556 | 25-Aug-2022 |
kasunath <kasunath@google.com> |
Modify D-Bus to using asio server
DBus updates are now using the asio server way.
Tested: Tested with unit tests and locally on a machine.
Signed-off-by: Kasun Athukorala <kasunath@google.com> Cha
Modify D-Bus to using asio server
DBus updates are now using the asio server way.
Tested: Tested with unit tests and locally on a machine.
Signed-off-by: Kasun Athukorala <kasunath@google.com> Change-Id: I77553bcc3baae70e5d684a62f2c19592ff844665 Signed-off-by: Brandon Kim <brandonkim@google.com>
show more ...
|
5de90619 | 13-Feb-2024 |
Patrick Williams <patrick@stwcx.xyz> |
prefer std::format over fmt
Use std::format or stdplus::print and eliminate the fmt dependency.
Change-Id: Ide14b682949914f09f749141196cdb210fe1239e Signed-off-by: Patrick Williams <patrick@stwcx.x
prefer std::format over fmt
Use std::format or stdplus::print and eliminate the fmt dependency.
Change-Id: Ide14b682949914f09f749141196cdb210fe1239e Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
589c175b | 20-Oct-2023 |
Patrick Williams <patrick@stwcx.xyz> |
clang-format: copy latest and re-format
clang-format-17 has some backwards incompatible changes that require additional settings for best compatibility and re-running the formatter. Copy the latest
clang-format: copy latest and re-format
clang-format-17 has some backwards incompatible changes that require additional settings for best compatibility and re-running the formatter. Copy the latest .clang-format from the docs repository and reformat the repository.
Change-Id: I2ff0bc6d39e0c53b1fc37cf790fa88ebcfdea680 Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
82ab8320 | 16-Aug-2023 |
Brandon Kim <brandonkim@google.com> |
buffer: Update to follow the design doc
queueSize and ueRegionSize should not change at runtime. Make it so that it throws if these constants fail any time we try to use them as it means that the bu
buffer: Update to follow the design doc
queueSize and ueRegionSize should not change at runtime. Make it so that it throws if these constants fail any time we try to use them as it means that the buffer was overwritten (possibly by a bad actor).
Update the default queueSize and ueRegionSize to match our test variables.
Signed-off-by: Brandon Kim <brandonkim@google.com> Change-Id: I2c906d26016ce6eb19e953ae432abd5482b6ccf8
show more ...
|
3cbb6ef6 | 15-Mar-2023 |
Edward Lee <edwarddl@google.com> |
Remove unused variables
Jenkins presubmit fails for all commits right now due to certain unused variables. This commit aims to pass presubmit without regressing functionality.
Tested: Presubmit pas
Remove unused variables
Jenkins presubmit fails for all commits right now due to certain unused variables. This commit aims to pass presubmit without regressing functionality.
Tested: Presubmit passes
Change-Id: Ifdc7081b1154ce3ac2f3ab0828429660db35360a Signed-off-by: Edward Lee <edwarddl@google.com>
show more ...
|
aedea9fc | 05-Dec-2022 |
kasunath <kasunath@google.com> |
Add missing RDE definitions
In the previous commit, some RDE definitions were moved to this repo from libbej repo but some definitions were missed. This CL adds the missing definitions.
Signed-off-
Add missing RDE definitions
In the previous commit, some RDE definitions were moved to this repo from libbej repo but some definitions were missed. This CL adds the missing definitions.
Signed-off-by: Kasun Athukorala <kasunath@google.com> Change-Id: I00c63a5ccb02dc3dfe3018d343a633458ef23c14
show more ...
|
a3072879 | 28-Nov-2022 |
kasunath <kasunath@google.com> |
Locally define used RDE headers
2 RDE headers used by bios-bmc-smm-error-logger are being removed from libbej repo. Also bios-bmc-smm-error-logger doesn't use RDE protocol. It simply uses 2 RDE head
Locally define used RDE headers
2 RDE headers used by bios-bmc-smm-error-logger are being removed from libbej repo. Also bios-bmc-smm-error-logger doesn't use RDE protocol. It simply uses 2 RDE headers to encapsulate data sent from BIOS. Therefore this change defines the RDE headers (removed from libbej) locally.
Signed-off-by: Kasun Athukorala <kasunath@google.com> Change-Id: I9d0dfd669283bee6443e9d542b941bf73787fe95
show more ...
|
3def3c8e | 13-Sep-2022 |
Brandon Kim <brandonkim@google.com> |
buffer: Update the definition of QueueSize
There were confusion whether the QueueSize field represented just the queue for the normal log or if it represented the whole circular buffer. Settled on i
buffer: Update the definition of QueueSize
There were confusion whether the QueueSize field represented just the queue for the normal log or if it represented the whole circular buffer. Settled on it being the whole circular buffer.
Tested: Unit tested and verified this works on a downstream machine
Signed-off-by: Brandon Kim <brandonkim@google.com> Change-Id: I867e997b72500c7bcd03047d8eb3e4db146a8add
show more ...
|
613ba537 | 12-Sep-2022 |
Brandon Kim <brandonkim@google.com> |
buffer: Fix a corner case with header wraparound
Update the unit test so that we cover this corner case + update the API so that we no longer pass in the offset manually.
Tested: Unit test coverage
buffer: Fix a corner case with header wraparound
Update the unit test so that we cover this corner case + update the API so that we no longer pass in the offset manually.
Tested: Unit test coverage + integration test with our downstream platform that found this issue
Signed-off-by: Brandon Kim <brandonkim@google.com> Change-Id: I6b0a7974f902e0248bfb4932237176df20fdaf61
show more ...
|
271d2313 | 02-Sep-2022 |
Brandon Kim <brandonkim@google.com> |
buffer: Update queueSize and Read/Write Ptrs to 3B
This allows for bigger Queue size than 64KB.
Tested: Verified this with a new BIOS
Signed-off-by: Brandon Kim <brandonkim@google.com> Change-Id:
buffer: Update queueSize and Read/Write Ptrs to 3B
This allows for bigger Queue size than 64KB.
Tested: Verified this with a new BIOS
Signed-off-by: Brandon Kim <brandonkim@google.com> Change-Id: I558a24c3b2500754424bdad6459244279592238b
show more ...
|
bea36e22 | 22-Jul-2022 |
Patrick Williams <patrick@stwcx.xyz> |
sdbusplus: use shorter type aliases
The sdbusplus headers provide shortened aliases for many types. Switch to using them to provide better code clarity and shorter lines. Possible replacements are
sdbusplus: use shorter type aliases
The sdbusplus headers provide shortened aliases for many types. Switch to using them to provide better code clarity and shorter lines. Possible replacements are for: * bus_t * exception_t * manager_t * match_t * message_t * object_t * slot_t
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I17807e986cefa6a3d9e757c533ac373035438aed
show more ...
|
a3b64fb6 | 15-Jun-2022 |
kasunath <kasunath@google.com> |
Create a DBus notification for each LogEntry
For each log entry, a new FilePath DBus object will be created where the FilePath.path value is the location of the JSON LogEntry file.
Tested: Tested w
Create a DBus notification for each LogEntry
For each log entry, a new FilePath DBus object will be created where the FilePath.path value is the location of the JSON LogEntry file.
Tested: Tested with unit tests and locally on a machine.
Signed-off-by: Kasun Athukorala <kasunath@google.com> Change-Id: I5999826f7b4447bfca88b83c487d7c03a1c84a08
show more ...
|
7cea1b96 | 14-Jun-2022 |
kasunath <kasunath@google.com> |
Add a class to create FilePath DBus objects
bios-bmc-smm-error-logger creates JSON entries for CPER logs received from BIOS. When a new CPER log is created, fault log service has to be notified.
Th
Add a class to create FilePath DBus objects
bios-bmc-smm-error-logger creates JSON entries for CPER logs received from BIOS. When a new CPER log is created, fault log service has to be notified.
This adds the necessary classes for publishing file paths of the newly created CPER logs to DBus.
Tested: Tested this on a real machine.
Eg DBus objects:
`-/xyz `-/xyz/openbmc_project `-/xyz/openbmc_project/external_storer `-/xyz/openbmc_project/external_storer/bios_bmc_smm_error_logger `-/xyz/openbmc_project/external_storer/bios_bmc_smm_error_logger/CPER |-/xyz/openbmc_project/external_storer/bios_bmc_smm_error_logger/CPER/entry0 |-/xyz/openbmc_project/external_storer/bios_bmc_smm_error_logger/CPER/entry1
Signed-off-by: Kasun Athukorala <kasunath@google.com> Change-Id: I8c35243c949dfdc1254a758136d7a8e204f58bf5
show more ...
|
c49284b6 | 17-Jun-2022 |
Brandon Kim <brandonkim@google.com> |
buffer: Implement "updateBmcFlags"
This function will be used to update the "bmcFlags" member of the buffer header.
Also reinforced the updateReadPtr unit tests to check that the header buffer was
buffer: Implement "updateBmcFlags"
This function will be used to update the "bmcFlags" member of the buffer header.
Also reinforced the updateReadPtr unit tests to check that the header buffer was actually updated by checking the result after.
Tested: Unit tested
Signed-off-by: Brandon Kim <brandonkim@google.com> Change-Id: Iff7a1eea6824b84347e1a6aaed872ed6caa55788
show more ...
|
bac958d4 | 07-Jun-2022 |
kasunath <kasunath@google.com> |
Add a class to handle RDE commands
This class is used to process RDE packets received from BIOS-BMC circular buffer. RdeCommandHandler will manage dictionary data, decode RDE BEJ encoded payloads an
Add a class to handle RDE commands
This class is used to process RDE packets received from BIOS-BMC circular buffer. RdeCommandHandler will manage dictionary data, decode RDE BEJ encoded payloads and push them to the ExternalStorer.
Tested: Tested this with unit tests.
Signed-off-by: Kasun Athukorala <kasunath@google.com> Change-Id: Ic66e4e4e2afa523906835713d36015457f324fcc
show more ...
|
4662b1bd | 16-Jun-2022 |
Brandon Kim <brandonkim@google.com> |
buffer: Implement "readErrorLogs"
This is the API that will be called by the main to read all of the error logs. Found a cornercase in wraparoundRead, so added a unit test to guard it as well.
Test
buffer: Implement "readErrorLogs"
This is the API that will be called by the main to read all of the error logs. Found a cornercase in wraparoundRead, so added a unit test to guard it as well.
Tested: Unit tested and tested on a real HW (with the following changes)
Signed-off-by: Brandon Kim <brandonkim@google.com> Change-Id: I94cd3a2f53ee7da2c145b751c1c3b5989f4c5b23
show more ...
|
f0e4adc9 | 17-Jun-2022 |
Brandon Kim <brandonkim@google.com> |
buffer: bugfix (v3) fix the checksum
The BIOS is expected to use the XOR checksum which behaves ever so slightly different compared to summing up the bytes (even though bitwise XOR is the same as ad
buffer: bugfix (v3) fix the checksum
The BIOS is expected to use the XOR checksum which behaves ever so slightly different compared to summing up the bytes (even though bitwise XOR is the same as addition).
Fixed the unit test accordingly
Tested: Unit test + tested on a BIOS with real / valid checksummed payload
Signed-off-by: Brandon Kim <brandonkim@google.com> Change-Id: I326f814eb66892971ec32f0572618a34825d88b0
show more ...
|
35d4335e | 16-Jun-2022 |
Brandon Kim <brandonkim@google.com> |
buffer: bugfix (v2) consolidate the offset and readptr
- It didn't make sense to make the user keep count of the different types of read pointers, instead do the relative calculation at the lowe
buffer: bugfix (v2) consolidate the offset and readptr
- It didn't make sense to make the user keep count of the different types of read pointers, instead do the relative calculation at the lowest level (wraparoundRead) - Added further tests to prove out that readPtr is being updated properly in wraparoundRead) - Fixed wraparoundRead, as it was relying on the dataInterface->read to read until the "end". The "end" was fixed in the bugfix #1 to be the end of the queue instead of the mmaped buffer. - took out addtionalBoundaryCheck from wraparoundRead, as it was no longer needed
Tested: Unit tested
Signed-off-by: Brandon Kim <brandonkim@google.com> Change-Id: I101360223597d197362dc1dbe4a27601da09933f
show more ...
|
26660e9b | 15-Jun-2022 |
Brandon Kim <brandonkim@google.com> |
buffer: bugfixes and cleanups
- Added clarifying comments regarding the different offsets - Fixed an instance in wraparoundRead where we updated the readPtr with the relative offset - Added additi
buffer: bugfixes and cleanups
- Added clarifying comments regarding the different offsets - Fixed an instance in wraparoundRead where we updated the readPtr with the relative offset - Added additional checks in initialization to check for buffer size - Use the queueSize for buffer initialization opposed to the memory region size for the whole MMIO
Tested: Unit tested
Signed-off-by: Brandon Kim <brandonkim@google.com> Change-Id: Ib175ed1c9c129c0f9d2b4f9737e2d394f160434d
show more ...
|
40ce08e1 | 15-Jun-2022 |
Brandon Kim <brandonkim@google.com> |
buffer: Implement "readEntry"
readEntry reads the entryHeader to figure out how much of the buffer to read for the entry.
Tested: Unit tested
Signed-off-by: Brandon Kim <brandonkim@google.com> Cha
buffer: Implement "readEntry"
readEntry reads the entryHeader to figure out how much of the buffer to read for the entry.
Tested: Unit tested
Signed-off-by: Brandon Kim <brandonkim@google.com> Change-Id: I390e77c088439c74d100ef4b4cb35e746facd495
show more ...
|
7bac2d69 | 07-Jun-2022 |
Brandon Kim <brandonkim@google.com> |
buffer: Implement "readEntryHeader"
Add struct QueueEntryHeader along with it.
Tested: Unit Tested
Signed-off-by: Brandon Kim <brandonkim@google.com> Change-Id: Icbfe8d39db4242664794d8c65a84488aef
buffer: Implement "readEntryHeader"
Add struct QueueEntryHeader along with it.
Tested: Unit Tested
Signed-off-by: Brandon Kim <brandonkim@google.com> Change-Id: Icbfe8d39db4242664794d8c65a84488aeffd23a6
show more ...
|
9836cfa6 | 15-Jun-2022 |
Brandon Kim <brandonkim@google.com> |
buffer: Implement "wraparoundRead"
This is a helper function for reading the circular buffer
Tested: Unit tested
Signed-off-by: Brandon Kim <brandonkim@google.com> Change-Id: I0f7c0e3c0195c82fe932
buffer: Implement "wraparoundRead"
This is a helper function for reading the circular buffer
Tested: Unit tested
Signed-off-by: Brandon Kim <brandonkim@google.com> Change-Id: I0f7c0e3c0195c82fe932b36babbce0ab8c8405ed
show more ...
|
cf0b9752 | 15-Jun-2022 |
Brandon Kim <brandonkim@google.com> |
buffer: Implement "updateReadPtr"
This is a helper function for reading the circular buffer
Tested: Unit tested
Signed-off-by: Brandon Kim <brandonkim@google.com> Change-Id: I1c34a40bd279ee601de33
buffer: Implement "updateReadPtr"
This is a helper function for reading the circular buffer
Tested: Unit tested
Signed-off-by: Brandon Kim <brandonkim@google.com> Change-Id: I1c34a40bd279ee601de33669aabfec27a959ec44
show more ...
|