Add overflow flag checking
This is to ensure that we check for and flag buffer overflow flag from
the BIOS.
The logic should be:
```
1. BIOS_switch ^ BMC_switch == 0 → No overflow incident
a. CONTINUE
2. BIOS_switch ^ BMC_switch == 1 → an unlogged overflow incident has occurred
b. Log the overflow incident
c. Toggle the BMC overflow flag
```
Tested: Added unit test
Signed-off-by: Brandon Kim <brandonkim@google.com>
Change-Id: I25c50a8de93900480413389d7d2a89b9be4b5643
diff --git a/include/buffer.hpp b/include/buffer.hpp
index 06e282f..95154de 100644
--- a/include/buffer.hpp
+++ b/include/buffer.hpp
@@ -109,6 +109,11 @@
virtual std::vector<uint8_t> readUeLogFromReservedRegion() = 0;
/**
+ * Check for overflow and ackknolwedge if not acked yet
+ */
+ virtual bool checkForOverflowAndAcknowledge() = 0;
+
+ /**
* Read the buffer header from shared buffer
*/
virtual void readBufferHeader() = 0;
@@ -191,6 +196,7 @@
uint16_t ueRegionSize,
const std::array<uint32_t, 4>& magicNumber) override;
std::vector<uint8_t> readUeLogFromReservedRegion() override;
+ bool checkForOverflowAndAcknowledge() override;
void readBufferHeader() override;
struct CircularBufferHeader getCachedBufferHeader() const override;
void updateReadPtr(const uint32_t newReadPtr) override;