summaryrefslogtreecommitdiffstats
path: root/src/usr/trace/runtime/test/testrsvdtracebuf.H
diff options
context:
space:
mode:
Diffstat (limited to 'src/usr/trace/runtime/test/testrsvdtracebuf.H')
-rw-r--r--src/usr/trace/runtime/test/testrsvdtracebuf.H270
1 files changed, 224 insertions, 46 deletions
diff --git a/src/usr/trace/runtime/test/testrsvdtracebuf.H b/src/usr/trace/runtime/test/testrsvdtracebuf.H
index 148df5d07..0b6374ba7 100644
--- a/src/usr/trace/runtime/test/testrsvdtracebuf.H
+++ b/src/usr/trace/runtime/test/testrsvdtracebuf.H
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2013,2018 */
+/* Contributors Listed Below - COPYRIGHT 2013,2019 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -25,10 +25,8 @@
#include <cxxtest/TestSuite.H>
#include <trace/runtime/rt_rsvdtracebuffer.H> // TRACE::RsvdTraceBuffer
-#include <trace/runtime/rt_rsvdtracebufservice.H> // TRACE::RsvdTraceBufService
-#include <trace/entry.H> // TRACE::Entry
-#include <trace/compdesc.H> // TRACE::ComponentDesc
-#include <util/runtime/util_rt.H> // hb_get_rt_rsvd_mem
+#include <trace/entry.H> // TRACE::Entry
+#include <trace/compdesc.H> // TRACE::ComponentDesc
#include <stdint.h> // uint32_t
#include <stdlib.h> // malloc
@@ -83,7 +81,7 @@ void testRsvdTraceBuffConstructor()
}
TRACFCOMP(g_trac_test, EXIT_MRK"RsvdTraceBuffTestSuite:%s", __func__);
-} // void testRsvdTraceBuffConstructor()
+} // end void testRsvdTraceBuffConstructor
// Some more simple tests - the initializer
void testRsvdTraceBuffInit()
@@ -108,7 +106,7 @@ void testRsvdTraceBuffInit()
l_addressToHead);
char* l_bufferBegin = reinterpret_cast<char*>(l_bufferAddr +
- sizeof(uintptr_t));
+ (2 * sizeof(uintptr_t)));
char* l_bufferEnd = reinterpret_cast<char*>(l_bufferAddr +
l_bufferSize - 1);
@@ -155,7 +153,7 @@ void testRsvdTraceBuffInit()
}
TRACFCOMP(g_trac_test, EXIT_MRK"RsvdTraceBuffTestSuite:%s", __func__);
-} // end void testRsvdTraceBuffInit()
+} // end void testRsvdTraceBuffInit
// Test where buffer is too small to accommodate any Entry size
void testRsvdTraceBuffBufferToSmall()
@@ -225,7 +223,7 @@ void testRsvdTraceBuffBufferToSmall()
free(l_buffer);
TRACFCOMP(g_trac_test, EXIT_MRK"RsvdTraceBuffTestSuite:%s", __func__);
-} // end void testRsvdTraceBuffBufferToSmall()
+} // end void testRsvdTraceBuffBufferToSmall
// Test where buffer is just the right size to fit a single Entry
void testRsvdTraceBuffOnlyAccommodateOneItem()
@@ -283,7 +281,8 @@ void testRsvdTraceBuffOnlyAccommodateOneItem()
TS_FAIL("%s:%s: Pointer to list is not correct", __FILE__, __func__);
}
- if (true != runSelfDiagnostics(l_rsvd))
+ uint32_t l_itemCount(0);
+ if (true != runSelfDiagnostics(l_rsvd, l_itemCount))
{
TS_FAIL("%s:%s: self diagnostics discovered an error",
__FILE__, __func__);
@@ -329,7 +328,8 @@ void testRsvdTraceBuffOnlyAccommodateOneItem()
TS_FAIL("%s:%s: Pointer to list is not correct", __FILE__, __func__);
}
- if (true != runSelfDiagnostics(l_rsvd))
+ l_itemCount = 0;
+ if (true != runSelfDiagnostics(l_rsvd, l_itemCount))
{
TS_FAIL("%s:%s: self diagnostics discovered an error",
__FILE__, __func__);
@@ -354,7 +354,8 @@ void testRsvdTraceBuffOnlyAccommodateOneItem()
TS_FAIL("%s:%s: Pointer to list is not correct", __FILE__, __func__);
}
- if (true != runSelfDiagnostics(l_rsvd))
+ l_itemCount = 0;
+ if (true != runSelfDiagnostics(l_rsvd, l_itemCount))
{
TS_FAIL("%s:%s: self diagnostics discovered an error",
__FILE__, __func__);
@@ -363,7 +364,7 @@ void testRsvdTraceBuffOnlyAccommodateOneItem()
free(l_buffer);
TRACFCOMP(g_trac_test, EXIT_MRK"RsvdTraceBuffTestSuite:%s", __func__);
-} // end void testRsvdTraceBuffOnlyAccommodateOneItem()
+} // end void testRsvdTraceBuffOnlyAccommodateOneItem
// Test where buffer is just the right size to fit a single Entry plus size
void testRsvdTraceBuffOnlyAccommodateOneItemPlusSize()
@@ -378,7 +379,7 @@ void testRsvdTraceBuffOnlyAccommodateOneItemPlusSize()
l_rsvd);
// Adjust buffer to the area we are interested in
- char* l_buffer = l_fullBuffer + sizeof(uintptr_t);
+ char* l_buffer = l_fullBuffer + (2 * sizeof(uintptr_t));
if (l_rsvd.getBufferSize() != l_bufferSize)
{
@@ -434,8 +435,8 @@ void testRsvdTraceBuffOnlyAccommodateOneItemPlusSize()
__FILE__, __func__);
}
-
- if (true != runSelfDiagnostics(l_rsvd))
+ uint32_t l_itemCount(0);
+ if (true != runSelfDiagnostics(l_rsvd, l_itemCount))
{
TS_FAIL("%s:%s: self diagnostics discovered an error",
__FILE__, __func__);
@@ -533,7 +534,8 @@ void testRsvdTraceBuffOnlyAccommodateOneItemPlusSize()
__FILE__, __func__);
}
- if (true != runSelfDiagnostics(l_rsvd))
+ l_itemCount = 0;
+ if (true != runSelfDiagnostics(l_rsvd, l_itemCount))
{
TS_FAIL("%s:%s: self diagnostics discovered an error",
__FILE__, __func__);
@@ -603,7 +605,8 @@ void testRsvdTraceBuffOnlyAccommodateOneItemPlusSize()
__FILE__, __func__);
}
- if (true != runSelfDiagnostics(l_rsvd))
+ l_itemCount = 0;
+ if (true != runSelfDiagnostics(l_rsvd, l_itemCount))
{
TS_FAIL("%s:%s: self diagnostics discovered an error",
__FILE__, __func__);
@@ -682,7 +685,7 @@ void testRsvdTraceBuffOnlyAccommodateOneItemPlusSize()
free(l_fullBuffer);
TRACFCOMP(g_trac_test, EXIT_MRK"RsvdTraceBuffTestSuite:%s", __func__);
-} // end void testRsvdTraceBuffOnlyAccommodateOneItemPlusSize()
+} // end void testRsvdTraceBuffOnlyAccommodateOneItemPlusSize
// Test where buffer is just the right size to fit two Entries
void testRsvdTraceBuffOnlyAccommodateTwoItems()
@@ -697,7 +700,7 @@ void testRsvdTraceBuffOnlyAccommodateTwoItems()
l_rsvd);
// Adjust buffer to the area we are interested in
- char* l_buffer = l_fullBuffer + sizeof(uintptr_t);
+ char* l_buffer = l_fullBuffer + (2 * sizeof(uintptr_t));
if (l_rsvd.getBufferSize() != l_bufferSize)
{
@@ -741,7 +744,8 @@ void testRsvdTraceBuffOnlyAccommodateTwoItems()
__FILE__, __func__);
}
- if (true != runSelfDiagnostics(l_rsvd))
+ uint32_t l_itemCount(0);
+ if (true != runSelfDiagnostics(l_rsvd, l_itemCount))
{
TS_FAIL("%s:%s: self diagnostics discovered an error",
__FILE__, __func__);
@@ -790,7 +794,8 @@ void testRsvdTraceBuffOnlyAccommodateTwoItems()
__FILE__, __func__);
}
- if (true != runSelfDiagnostics(l_rsvd))
+ l_itemCount = 0;
+ if (true != runSelfDiagnostics(l_rsvd, l_itemCount))
{
TS_FAIL("%s:%s: self diagnostics discovered an error",
__FILE__, __func__);
@@ -833,7 +838,8 @@ void testRsvdTraceBuffOnlyAccommodateTwoItems()
__FILE__, __func__);
}
- if (true != runSelfDiagnostics(l_rsvd))
+ l_itemCount = 0;
+ if (true != runSelfDiagnostics(l_rsvd, l_itemCount))
{
TS_FAIL("%s:%s: self diagnostics discovered an error",
__FILE__, __func__);
@@ -887,7 +893,8 @@ void testRsvdTraceBuffOnlyAccommodateTwoItems()
__FILE__, __func__);
}
- if (true != runSelfDiagnostics(l_rsvd))
+ l_itemCount = 0;
+ if (true != runSelfDiagnostics(l_rsvd, l_itemCount))
{
TS_FAIL("%s:%s: self diagnostics discovered an error",
__FILE__, __func__);
@@ -912,7 +919,7 @@ void testRsvdTraceBuffTestTheEnds()
l_rsvd);
// Adjust buffer to the area we are interested in
- char* l_buffer = l_fullBuffer + sizeof(uintptr_t);
+ char* l_buffer = l_fullBuffer + (2 * sizeof(uintptr_t));
if (l_rsvd.getBufferSize() != l_bufferSize)
{
@@ -991,7 +998,8 @@ void testRsvdTraceBuffTestTheEnds()
__FILE__, __func__);
}
- if (true != runSelfDiagnostics(l_rsvd))
+ uint32_t l_itemCount(0);
+ if (true != runSelfDiagnostics(l_rsvd, l_itemCount))
{
TS_FAIL("%s:%s: self diagnostics discovered an error",
__FILE__, __func__);
@@ -1028,7 +1036,8 @@ void testRsvdTraceBuffTestTheEnds()
__FILE__, __func__);
}
- if (true != runSelfDiagnostics(l_rsvd))
+ l_itemCount = 0;
+ if (true != runSelfDiagnostics(l_rsvd, l_itemCount))
{
TS_FAIL("%s:%s: self diagnostics discovered an error",
__FILE__, __func__);
@@ -1064,7 +1073,8 @@ void testRsvdTraceBuffTestTheEnds()
__FILE__, __func__);
}
- if (true != runSelfDiagnostics(l_rsvd))
+ l_itemCount = 0;
+ if (true != runSelfDiagnostics(l_rsvd, l_itemCount))
{
TS_FAIL("%s:%s: self diagnostics discovered an error",
__FILE__, __func__);
@@ -1089,16 +1099,18 @@ void testRsvdTraceBuffTestReentrant ()
iv_buffer = initializeRsvdBuffer(iv_bufferSize,
l_rsvd);
+
iv_bufferBeginningBoundary = l_rsvd.iv_bufferBeginningBoundary;
iv_bufferEndingBoundary = l_rsvd.iv_bufferEndingBoundary;
// Adjust buffer to the area we are interested in
- char* l_buffer = iv_buffer + sizeof(uintptr_t);
+ char* l_buffer = iv_buffer + (2 * sizeof(uintptr_t));
- if (l_rsvd.getBufferSize() != iv_bufferSize)
+ if (l_rsvd.getBufferSize() != (iv_bufferSize - sizeof(uintptr_t)))
{
- TS_FAIL("%s:%s: buffer size is not correct",
- __FILE__, __func__);
+ TS_FAIL("%s:%s: buffer size is not correct %d %d",
+ __FILE__, __func__, l_rsvd.getBufferSize(),
+ (iv_bufferSize - sizeof(uintptr_t)));
}
if (true != l_rsvd.isBufferValid())
@@ -1149,7 +1161,8 @@ void testRsvdTraceBuffTestReentrant ()
__FILE__, __func__);
}
- if (true != runSelfDiagnostics(l_rsvd))
+ uint32_t l_itemCount(0);
+ if (true != runSelfDiagnostics(l_rsvd, l_itemCount))
{
TS_FAIL("%s:%s: self diagnostics discovered an error",
__FILE__, __func__);
@@ -1168,7 +1181,7 @@ void testRsvdTraceBuffTestReentrant2()
TRACE::RsvdTraceBuffer l_rsvd;
initializeRsvdBufferForReentrant(l_rsvd);
- if (l_rsvd.getBufferSize() != iv_bufferSize)
+ if (l_rsvd.getBufferSize() != (iv_bufferSize - sizeof(uintptr_t)))
{
TS_FAIL("%s:%s: buffer size is not correct",
__FILE__, __func__);
@@ -1196,7 +1209,8 @@ void testRsvdTraceBuffTestReentrant2()
TS_FAIL("%s:%s: buffer is not valid", __FILE__, __func__);
}
- if (true != runSelfDiagnostics(l_rsvd))
+ uint32_t l_itemCount(0);
+ if (true != runSelfDiagnostics(l_rsvd, l_itemCount))
{
TS_FAIL("%s:%s: self diagnostics discovered an error",
__FILE__, __func__);
@@ -1259,7 +1273,7 @@ void testRsvdTraceBuffTestReentrant3()
TRACE::RsvdTraceBuffer l_rsvd;
initializeRsvdBufferForReentrant(l_rsvd);
- if (l_rsvd.getBufferSize() != iv_bufferSize)
+ if (l_rsvd.getBufferSize() != (iv_bufferSize - sizeof(uintptr_t)))
{
TS_FAIL("%s:%s: buffer size is not correct",
__FILE__, __func__);
@@ -1353,7 +1367,7 @@ void testRsvdTraceBuffTestReentrant4()
TRACE::RsvdTraceBuffer l_rsvd;
initializeRsvdBufferForReentrant(l_rsvd);
- if (l_rsvd.getBufferSize() != iv_bufferSize)
+ if (l_rsvd.getBufferSize() != (iv_bufferSize - sizeof(uintptr_t)))
{
TS_FAIL("%s:%s: buffer size is not correct",
__FILE__, __func__);
@@ -1423,7 +1437,7 @@ void testRsvdTraceBuffTestReentrant5()
TRACE::RsvdTraceBuffer l_rsvd;
initializeRsvdBufferForReentrant(l_rsvd);
- if (l_rsvd.getBufferSize() != iv_bufferSize)
+ if (l_rsvd.getBufferSize() != (iv_bufferSize - sizeof(uintptr_t)))
{
TS_FAIL("%s:%s: buffer size is not correct",
__FILE__, __func__);
@@ -1474,11 +1488,175 @@ void testRsvdTraceBuffTestReentrant5()
TRACFCOMP(g_trac_test, EXIT_MRK"RsvdTraceBuffTestSuite:%s", __func__);
} // end void testRsvdTraceBuffTestReentrant5
+// Test when the buffer has been relocated
+// To simulate that the buffer has been relocated in memory and the pointers
+// within the buffer corrected, I create a buffer and divided it into
+// 3 sections. I populate the middle section with data and verify that it
+// is valid. Then I copy the middle buffer data over to the top section,
+// basically a memory location before the middle buffer. Zero out the middle
+// section to keep myself honest, then hand that buffer over to the
+// RsvdTraceBuffer class, which should detect that the buffer has been relocated
+// and correct the pointers. Once the RsvdTraceBuffer class has worked it's
+// magic, the buffer is tested for correctness. I repeat this process by
+// moving the buffer data to the bottom buffer, basically a memory location
+// after the top and repeat this test.
+void testRsvdTraceBuffTestBufferRelocation()
+{
+ TRACFCOMP(g_trac_test, ENTER_MRK"RsvdTraceBuffTestSuite:%s", __func__);
+
+ // Size of each buffer segment (top buffer, middle buffer, bottom buffer)
+ const uint32_t SEGMENT_BUFFER_SIZE = 1024;
+ const uint32_t NUM_SEGMENTS = 3;
+ // Aggregate the size of the 3 buffer segments.
+ uint32_t l_bufferSize = NUM_SEGMENTS * SEGMENT_BUFFER_SIZE;
+ // Create the buffer of all combined segments and 'zero' out
+ char l_buffer[l_bufferSize];
+ memset(l_buffer, 0, l_bufferSize);
+
+ // Segment the buffer into 3 sections, top, middle, bottom
+ char * l_niflheim = l_buffer;
+ char * l_midgard = &(l_buffer[1 * SEGMENT_BUFFER_SIZE]);
+ char * l_muspelheim = &(l_buffer[2 * SEGMENT_BUFFER_SIZE]);
+
+ uint32_t l_itemCount(0);
+ uint32_t l_expectedItemCount(3);
+ TRACE::RsvdTraceBuffer l_rsvd;
+
+ // Populate middle buffer with data and verify it is correct
+ // This is just setting up the data before simulating a relocation
+ {
+ // Get the address of buffer
+ uintptr_t l_bufferAddr = reinterpret_cast<uintptr_t>(l_midgard);
+
+ // Get a pointer to where the list head needs to reside in the buffer
+ uintptr_t *l_addressToListHead = reinterpret_cast<uintptr_t *>(l_bufferAddr);
+
+
+ l_rsvd.init(SEGMENT_BUFFER_SIZE - sizeof(uintptr_t), // subtract list head pointer
+ l_bufferAddr + sizeof(uintptr_t), // 'hop' over list head pointer
+ l_addressToListHead);
+
+ // populate the middle buffer (l_midgard) with data
+ l_rsvd.insertEntry(sizeof(TRACE::Entry) + 20);
+ l_rsvd.insertEntry(sizeof(TRACE::Entry) + 5);
+ l_rsvd.insertEntry(sizeof(TRACE::Entry) + 30);
+
+ // Validate the buffer
+ l_itemCount = 0;
+ if (true != runSelfDiagnostics(l_rsvd, l_itemCount))
+ {
+ TS_FAIL("%s:%s: Entry datas in midgard are corrupt",
+ __FILE__, __func__);
+ }
+
+ if (l_itemCount != l_expectedItemCount)
+ {
+ TS_FAIL("%s:%s: The number of items found in midgard is incorrect, "
+ " expected %d, but got back %d",
+ __FILE__, __func__, l_expectedItemCount, l_itemCount);
+ }
+ }
+
+ // Copy data over to the top buffer and clear out the middle buffer
+ // Simulate a relocation of the buffer to a memory address that precedes
+ // the original buffer's memory location
+ memcpy(l_niflheim, l_midgard, SEGMENT_BUFFER_SIZE);
+ memset(l_midgard, 0, SEGMENT_BUFFER_SIZE);
+
+ // Test the top buffer
+ {
+ // Get the address of buffer
+ uintptr_t l_bufferAddr = reinterpret_cast<uintptr_t>(l_niflheim);
+
+ // Get a pointer to where the list head needs to reside in the buffer
+ uintptr_t *l_addressToListHead = reinterpret_cast<uintptr_t *>(l_bufferAddr);
+
+ // First invalidate buffer
+ // We need to invalidate the buffer before using it again. Saying
+ // it is invalid is probably a misnomer here, it really should be
+ // 'buffer is not initialized'. In a real situation, HB would have
+ // crashed and restarted. The validity of the buffer would be false
+ // since that info is not persisted. The buffer gets initialized with
+ // buffer data, which may or may not be empty. During the
+ // initialization the buffer gets evaluated to see if there is crash
+ // data to retrieve and a buffer that may or may not need the pointers
+ // corrected.
+ l_rsvd.iv_isBufferValid = false;
+ l_rsvd.init(SEGMENT_BUFFER_SIZE - sizeof(uintptr_t), // subtract list head pointer
+ l_bufferAddr + sizeof(uintptr_t), // 'hop' over list head pointer
+ l_addressToListHead);
+
+ // Validate the buffer
+ l_itemCount = 0;
+ if (true != runSelfDiagnostics(l_rsvd, l_itemCount))
+ {
+ TS_FAIL("%s:%s: Entry datas in niflheim are corrupt",
+ __FILE__, __func__);
+ }
+
+ if (l_itemCount != l_expectedItemCount)
+ {
+ TS_FAIL("%s:%s: The number of items found in niflheim is incorrect, "
+ " expected %d, but got back %d",
+ __FILE__, __func__, l_expectedItemCount, l_itemCount);
+
+ }
+ }
+
+ // Copy data over to the bottom buffer and clear out the top buffer
+ // Simulate a relocation of the buffer to a memory address that succeeds
+ // the original buffer's memory location
+ memcpy(l_muspelheim, l_niflheim, SEGMENT_BUFFER_SIZE);
+ memset(l_niflheim, 0, SEGMENT_BUFFER_SIZE);
+
+ // Test the bottom buffer
+ {
+ // Get the address of buffer
+ uintptr_t l_bufferAddr = reinterpret_cast<uintptr_t>(l_muspelheim);
+
+ // Get a pointer to where the list head needs to reside in the buffer
+ uintptr_t *l_addressToListHead = reinterpret_cast<uintptr_t *>(l_bufferAddr);
+
+ // First invalidate buffer
+ // We need to invalidate the buffer before using it again. Saying
+ // it is invalid is probably a misnomer here, it really should be
+ // 'buffer is not initialized'. In a real situation, HB would have
+ // crashed and restarted. The validity of the buffer would be false
+ // since that info is not persisted. The buffer gets initialized with
+ // buffer data, which may or may not be empty. During the
+ // initialization the buffer gets evaluated to see if there is crash
+ // data to retrieve and a buffer that may or may not need the pointers
+ // corrected.
+ l_rsvd.iv_isBufferValid = false;
+ l_rsvd.init(SEGMENT_BUFFER_SIZE - sizeof(uintptr_t), // subtract list head pointer
+ l_bufferAddr + sizeof(uintptr_t), // 'hop' over list head pointer
+ l_addressToListHead);
+
+ // Validate the buffer
+ l_itemCount = 0;
+ if (true != runSelfDiagnostics(l_rsvd, l_itemCount))
+ {
+ TS_FAIL("%s:%s: Entry datas in muspelheim are corrupt",
+ __FILE__, __func__);
+ }
+
+ if (l_itemCount != l_expectedItemCount)
+ {
+ TS_FAIL("%s:%s: The number of items found in muspelheim is incorrect, "
+ " expected %d, but got back %d",
+ __FILE__, __func__, l_expectedItemCount, l_itemCount);
+ }
+ }
+ TRACFCOMP(g_trac_test, EXIT_MRK"RsvdTraceBuffTestSuite:%s", __func__);
+} // end void testRsvdTraceBuffTestBufferRelocation
+
private:
// Helpful methods to help in testing
char* initializeRsvdBuffer(uint32_t i_bufferSize,
TRACE::RsvdTraceBuffer& i_rsvd)
{
+ i_bufferSize += sizeof(uintptr_t);
+ iv_bufferSize = i_bufferSize;
// Create a buffer
uint32_t l_realBufferSize = i_bufferSize + sizeof(uintptr_t);
char *l_buffer = reinterpret_cast<char*>(malloc(l_realBufferSize));
@@ -1513,7 +1691,7 @@ void initializeRsvdBufferForReentrant(TRACE::RsvdTraceBuffer& i_rsvd)
}
-bool runSelfDiagnostics(TRACE::RsvdTraceBuffer& l_rsvd)
+bool runSelfDiagnostics(TRACE::RsvdTraceBuffer& l_rsvd, uint32_t & o_itemCount)
{
bool l_everythingChecksOut = true;
uintptr_t l_bufferBeginningBoundary = l_rsvd.getAddressOfPtr
@@ -1521,15 +1699,15 @@ bool runSelfDiagnostics(TRACE::RsvdTraceBuffer& l_rsvd)
uintptr_t l_bufferEndingBoundary = l_rsvd.getAddressOfPtr
(l_rsvd.iv_bufferEndingBoundary);
+ o_itemCount = 0;
+
if (!l_rsvd.isListEmpty())
{
- uint32_t l_itemCount(0);
-
TRACE::Entry* l_entry = l_rsvd.getListHead();
TRACE::Entry* l_head = l_entry;
do
{
- ++l_itemCount;
+ ++o_itemCount;
uintptr_t l_entryAddr = l_rsvd.getAddressOfPtr(l_entry);
uintptr_t l_entryAddrEnd =
l_rsvd.getEndingAddressOfEntry(l_entry);
@@ -1539,7 +1717,7 @@ bool runSelfDiagnostics(TRACE::RsvdTraceBuffer& l_rsvd)
TS_FAIL("Item [%d] at address (0x%X) precedes the "
"allocated memory location at address "
"(0x%X) by %d byte(s)",
- l_itemCount, l_entryAddr, l_bufferBeginningBoundary,
+ o_itemCount, l_entryAddr, l_bufferBeginningBoundary,
(l_bufferBeginningBoundary - l_entryAddr));
l_everythingChecksOut = false;
}
@@ -1548,7 +1726,7 @@ bool runSelfDiagnostics(TRACE::RsvdTraceBuffer& l_rsvd)
TS_FAIL("Item [%d] at address (0x%X) is beyond the "
"ending allocated memory location at address "
"(0x%X) by %d byte(s)",
- l_itemCount, l_entryAddr, l_bufferEndingBoundary,
+ o_itemCount, l_entryAddr, l_bufferEndingBoundary,
(l_entryAddr - l_bufferEndingBoundary));
l_everythingChecksOut = false;
}
@@ -1557,7 +1735,7 @@ bool runSelfDiagnostics(TRACE::RsvdTraceBuffer& l_rsvd)
TS_FAIL("Item [%d] at address (0x%X) overruns the "
"ending allocated memory location at address "
"(0x%X) by %d byte(s)",
- l_itemCount, l_entryAddr, l_bufferEndingBoundary,
+ o_itemCount, l_entryAddr, l_bufferEndingBoundary,
(l_entryAddrEnd - l_bufferEndingBoundary));
l_everythingChecksOut = false;
}
@@ -1570,7 +1748,7 @@ bool runSelfDiagnostics(TRACE::RsvdTraceBuffer& l_rsvd)
{
TS_FAIL("Item [%d] at address (0x%X) overruns the "
"next item at address (0x%X) by %d byte(s)",
- l_itemCount, l_entryAddr, l_entryNextAddr,
+ o_itemCount, l_entryAddr, l_entryNextAddr,
(l_entryAddrEnd - l_entryNextAddr + 1));
l_everythingChecksOut = false;
}
OpenPOWER on IntegriCloud