Skip to content
Snippets Groups Projects
Commit f83678ae authored by Tobias Klaus's avatar Tobias Klaus
Browse files

04_EAN: adds separate targets for mem, regs and ip injection

parent bc7e057b
No related branches found
No related tags found
No related merge requests found
......@@ -21,7 +21,7 @@ configure_file(${PROJECT_SOURCE_DIR}/emu/fail.sh ${FAILWRAPPER} COPYONLY)
macro(ADDEMU TGT)
# Prepare some useful variable for use in config files
set(TGT_ELF "${CMAKE_CURRENT_BINARY_DIR}/${TGT}.elf")
set(TGT_RESULT_CSV "${CMAKE_CURRENT_BINARY_DIR}/${TGT}_result.csv")
# Start qemu
add_custom_target(run_${TGT}
DEPENDS ${TGT_ELF} ${TGT}
......@@ -84,6 +84,11 @@ macro(ADDFAIL TGT)
set(ISOFILE_TGT "${ISODIR_TGT}/system.iso")
set(FAILELF_TGT "${ISODIR_TGT}/system.elf")
set(TGT_RESULT_CSV "${CMAKE_CURRENT_BINARY_DIR}/${TGT}_result.csv")
set(TGT_RESULT_MEM "${CMAKE_CURRENT_BINARY_DIR}/${TGT}_mem.done")
set(TGT_RESULT_IP "${CMAKE_CURRENT_BINARY_DIR}/${TGT}_ip.done")
set(TGT_RESULT_REGS "${CMAKE_CURRENT_BINARY_DIR}/${TGT}_regs.done")
add_custom_command(
DEPENDS ${TGT_ELF} ${TGT}
COMMAND ${CMAKE_COMMAND} -E copy ${TGT_ELF} ${FAILELF_TGT}
......@@ -110,10 +115,44 @@ macro(ADDFAIL TGT)
COMMAND ${FAILWRAPPER} inject ${ISODIR_TGT} base
COMMENT "\n${BoldGreen}[FAIL] Injecting bit errors to ${ISOFILE_TGT}\n${BoldGreen}[FAIL] This may take some time${ColourReset}"
OUTPUT ${TGT_RESULT_CSV}
)
)
add_custom_command(
DEPENDS ${ISODIR_TGT}/trace.pb
COMMAND ${FAILWRAPPER} inject_mem ${ISODIR_TGT} base
COMMAND touch ${TGT_RESULT_MEM}
COMMENT "\n${BoldGreen}[FAIL] Injecting bit errors to ${ISOFILE_TGT}\n${BoldGreen}[FAIL] This may take some time${ColourReset}"
OUTPUT ${TGT_RESULT_MEM}
)
add_custom_command(
DEPENDS ${ISODIR_TGT}/trace.pb
COMMAND ${FAILWRAPPER} inject_ip ${ISODIR_TGT} base
COMMAND touch ${TGT_RESULT_IP}
COMMENT "\n${BoldGreen}[FAIL] Injecting bit errors to ${ISOFILE_TGT}\n${BoldGreen}[FAIL] This may take some time${ColourReset}"
OUTPUT ${TGT_RESULT_IP}
)
add_custom_command(
DEPENDS ${ISODIR_TGT}/trace.pb
COMMAND ${FAILWRAPPER} inject_regs ${ISODIR_TGT} base
COMMAND touch ${TGT_RESULT_REGS}
COMMENT "\n${BoldGreen}[FAIL] Injecting bit errors to ${ISOFILE_TGT}\n${BoldGreen}[FAIL] This may take some time${ColourReset}"
OUTPUT ${TGT_RESULT_REGS}
)
add_custom_target(inject_${TGT}
DEPENDS ${TGT_RESULT_CSV}
)
add_custom_target(inject_mem_${TGT}
DEPENDS ${TGT_RESULT_MEM}
)
add_custom_target(inject_regs_${TGT}
DEPENDS ${TGT_RESULT_REGS}
)
add_custom_target(inject_ip_${TGT}
DEPENDS ${TGT_RESULT_IP}
)
add_custom_target(shortresults_${TGT}
COMMAND ${FAILWRAPPER} shortresult ${ISODIR_TGT} base
......@@ -124,9 +163,12 @@ macro(ADDFAIL TGT)
)
if(NOT TARGET trace)
add_custom_target(trace DEPENDS trace_${TGT})
add_custom_target(inject DEPENDS inject_${TGT})
add_custom_target(shortresults DEPENDS shortresults_${TGT})
add_custom_target(trace DEPENDS trace_${TGT})
add_custom_target(inject DEPENDS inject_${TGT})
add_custom_target(inject_mem DEPENDS inject_mem_${TGT})
add_custom_target(inject_regs DEPENDS inject_regs_${TGT})
add_custom_target(inject_ip DEPENDS inject_ip_${TGT})
add_custom_target(shortresults DEPENDS shortresults_${TGT})
add_custom_target(resultbrowser DEPENDS resultbrowser_${TGT})
endif()
endmacro(ADDFAIL TGT)
......
......@@ -50,8 +50,13 @@ function import {
serverpid=""
function start_server {
if [[ -z "${1}" ]] ; then
local target="%"
else
local target=${1}
fi
# Start server
generic-experiment-server -v "$variantname" -b % &
generic-experiment-server -v "$variantname" -b "$target" &
echo server started
serverpid=$!
}
......@@ -74,7 +79,7 @@ function start_client {
}
function inject {
start_server
start_server "${1}"
start_client
echo "Waiting for serverprocess: $variantname (PID is $serverpid)"
# wait for server to terminate
......@@ -167,10 +172,25 @@ case "$action" in
inject )
inject
addresulttocsv
resultstat
resultstat
;;
inject_regs )
inject regs
addresulttocsv
resultstat
;;
inject_mem )
inject mem
addresulttocsv
resultstat
;;
inject_ip )
inject ip
addresulttocsv
resultstat
;;
shortresult )
resultstat
resultstat
;;
resultbrowser )
start_resultbrowser
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment