cored-tester: add color_assert listener only if existsing
The color_assert_port symbol does not exist in all dOSEK variant, therefore we add the listener only if the symbol exists. Otherwise the invalid handler will trigger on INV_ADDR Change-Id: I7b81940a8413850527efb9e4bae86248794c622c
This commit is contained in:
5
src/experiments/cored-tester/config.cmake
Normal file
5
src/experiments/cored-tester/config.cmake
Normal file
@ -0,0 +1,5 @@
|
||||
SET(bochs_configure_params "--enable-a20-pin;--enable-x86-64;--enable-cpu-level=6;--enable-ne2000;--enable-acpi;--enable-pci;--enable-usb;--enable-trace-cache;--enable-fast-function-calls;--enable-host-specific-asms;--enable-readline;--enable-clgd54xx;--enable-fpu;--enable-vmx=2;--enable-monitor-mwait;--enable-cdrom;--enable-sb16=linux;--enable-gdb-stub;--with-nogui" CACHE STRING "")
|
||||
|
||||
SET(BUILD_LLVM_DISASSEMBLER ON CACHE BOOL "" FORCE)
|
||||
|
||||
SET(PLUGINS_ACTIVATED "checkpoint;randomgenerator" CACHE STRING "")
|
||||
@ -103,8 +103,10 @@ unsigned CoredTester::injectBitFlip(address_t data_address, unsigned data_width,
|
||||
<< ") bitpos: " << bitpos
|
||||
<< " value: 0x" << hex << setw(2) << setfill('0') << value << " -> 0x" << setw(2) << setfill('0') << injectedval
|
||||
<< dec << endl;
|
||||
if (reginfo.id == RID_PC)
|
||||
if (reginfo.id == RID_PC) {
|
||||
m_log << "Redecode current instruction" << endl;
|
||||
redecodeCurrentInstruction();
|
||||
}
|
||||
|
||||
return value;
|
||||
} else {
|
||||
@ -415,7 +417,11 @@ bool CoredTester::run() {
|
||||
simulator.addListener(&l_panic);
|
||||
simulator.addListener(&l_timeout);
|
||||
simulator.addListener(&l_fail_trace);
|
||||
if (s_color_assert_port.isValid()) {
|
||||
simulator.addListener(&l_color_assert_port);
|
||||
} else {
|
||||
m_log << "No color assert port" << endl;
|
||||
}
|
||||
simulator.addListener(&l_trace_end_marker);
|
||||
|
||||
// BPSingleListener single_step;
|
||||
|
||||
Reference in New Issue
Block a user