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 ...
|
60cab57f | 15-Jun-2022 |
Brandon Kim <brandonkim@google.com> |
buffer: Update cachedBufferHeader during "initialize"
We know what the bufferheader is after we call "initialize" (as we clear the buffer before updating the known header). Update cachedBufferHeader
buffer: Update cachedBufferHeader during "initialize"
We know what the bufferheader is after we call "initialize" (as we clear the buffer before updating the known header). Update cachedBufferHeader after successful initialization.
Signed-off-by: Brandon Kim <brandonkim@google.com> Change-Id: Ia4c6f5258b5ccd0294bba267717b8e77c0bf5449
show more ...
|
37bc0df1 | 07-Jun-2022 |
kasunath <kasunath@google.com> |
Add a class to handle ExternalStorer file writes.
Signed-off-by: Kasun Athukorala <kasunath@google.com> Change-Id: Ic1092a6a1da3375f595774018abfecd08a3cb7d8 |
17ee1a93 | 07-Jun-2022 |
Brandon Kim <brandonkim@google.com> |
buffer: Implement "readBufferHeader" and enforce endianness
Add buffer header reader and a getter API for the cachedBufferHeader for testing.
Also update CircularBufferHeader with boost endian libr
buffer: Implement "readBufferHeader" and enforce endianness
Add buffer header reader and a getter API for the cachedBufferHeader for testing.
Also update CircularBufferHeader with boost endian library.
Tested: Unit Tested
Signed-off-by: Brandon Kim <brandonkim@google.com> Change-Id: I3afaa96f1fab2dd160058e8127dcba494efe3ce7
show more ...
|
fcbc3db1 | 06-Jun-2022 |
Brandon Kim <brandonkim@google.com> |
buffer: Implement "initialize" and add unit tests
Add buffer headers and the initialization process
Tested: Unit Tested
Signed-off-by: Brandon Kim <brandonkim@google.com> Change-Id: Iaf3c26ce01f71
buffer: Implement "initialize" and add unit tests
Add buffer headers and the initialization process
Tested: Unit Tested
Signed-off-by: Brandon Kim <brandonkim@google.com> Change-Id: Iaf3c26ce01f7109000266cdbc7efa77988eae73b
show more ...
|
a1a69f19 | 27-May-2022 |
kasunath <kasunath@google.com> |
Add a class to handle RDE BEJ dictionary data
This class is used to store RDE BEJ dictionary data transmitted through bios-bmc circular buffer interface.
Signed-off-by: Kasun Athukorala <kasunath@g
Add a class to handle RDE BEJ dictionary data
This class is used to store RDE BEJ dictionary data transmitted through bios-bmc circular buffer interface.
Signed-off-by: Kasun Athukorala <kasunath@google.com> Change-Id: Idf7726a9f4647885ede615229d507f233ffb13c5
show more ...
|
55dcadae | 09-Mar-2022 |
Brandon Kim <brandonkim@google.com> |
pci_handler: Add pci_handler
Taken most of the logic from phoshpor-ipmi-flash: https://github.com/openbmc/phosphor-ipmi-flash/blob/master/tools/io.cpp
Tested: Unit Test + Tested this on a real mach
pci_handler: Add pci_handler
Taken most of the logic from phoshpor-ipmi-flash: https://github.com/openbmc/phosphor-ipmi-flash/blob/master/tools/io.cpp
Tested: Unit Test + Tested this on a real machine
Signed-off-by: Brandon Kim <brandonkim@google.com> Change-Id: I546d1dff8764e31c9f2fa6c7465ba23a24f6fdea
show more ...
|
554fad0b | 15-May-2022 |
Brandon Kim <brandonkim@google.com> |
Add basic main and meson.build
Main just runs very 1 second, based on the asio timer example.
Tested: Added a debug fprint and verified that it runs every 1 second
Signed-off-by: Brandon Kim <bran
Add basic main and meson.build
Main just runs very 1 second, based on the asio timer example.
Tested: Added a debug fprint and verified that it runs every 1 second
Signed-off-by: Brandon Kim <brandonkim@google.com> Change-Id: I75c98a39f43d3f7103583171979ce87515c9083d
show more ...
|