Revert "explicit aspect activation"

Unfortunately, this does not (yet) work as advertised.  I need to fight another
round of CMake battles before retrying.  Reverting to previous state for now.

This reverts r1753.

git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1767 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
This commit is contained in:
hsc
2012-10-19 09:45:00 +00:00
parent e05e80d285
commit a911ebb353
47 changed files with 201 additions and 131 deletions

View File

@ -1,104 +1,58 @@
# common:
set(SRCS
Listener.cc
ListenerManager.cc
SALConfig.cc
Register.cc
SimulatorController.cc
perf/BreakpointBuffer.cc
)
if(CONFIG_FAST_BREAKPOINTS)
add_aspect_headers(
${CMAKE_CURRENT_SOURCE_DIR}/perf/BreakpointControllerSlice.ah
${CMAKE_CURRENT_SOURCE_DIR}/perf/BreakpointManagerSlice.ah
${CMAKE_CURRENT_SOURCE_DIR}/perf/FastBreakpoints.ah)
endif()
if(BUILD_BOCHS)
list(APPEND SRCS
set(SRCS
Listener.cc
ListenerManager.cc
SALConfig.cc
Register.cc
SimulatorController.cc
perf/BreakpointBuffer.cc
bochs/BochsController.cc
bochs/BochsListener.cc
)
add_aspect_headers(${CMAKE_CURRENT_SOURCE_DIR}/bochs/BochsListener.ah)
if(CONFIG_BOCHS_NO_ABORT)
add_aspect_headers(${CMAKE_CURRENT_SOURCE_DIR}/bochs/BochsNoAbort.ah)
endif()
if(CONFIG_BOCHS_NON_VERBOSE)
add_aspect_headers(${CMAKE_CURRENT_SOURCE_DIR}/bochs/BochsNonVerbose.ah)
endif()
if(CONFIG_EVENT_BREAKPOINTS)
add_aspect_headers(${CMAKE_CURRENT_SOURCE_DIR}/bochs/Breakpoints.ah)
endif()
add_aspect_headers(${CMAKE_CURRENT_SOURCE_DIR}/bochs/Credits.ah)
if(CONFIG_DISABLE_KEYB_INTERRUPTS)
add_aspect_headers(${CMAKE_CURRENT_SOURCE_DIR}/bochs/DisableKeyboardInterrupt.ah)
endif()
add_aspect_headers(
${CMAKE_CURRENT_SOURCE_DIR}/bochs/DisableLogFunctions.ah
${CMAKE_CURRENT_SOURCE_DIR}/bochs/FailBochsInit.ah)
if(CONFIG_FIRE_INTERRUPTS)
add_aspect_headers(${CMAKE_CURRENT_SOURCE_DIR}/bochs/FireInterrupt.ah)
endif()
if(CONFIG_EVENT_GUESTSYS)
add_aspect_headers(${CMAKE_CURRENT_SOURCE_DIR}/bochs/GuestSysCom.ah)
endif()
if(CONFIG_EVENT_INTERRUPT)
add_aspect_headers(${CMAKE_CURRENT_SOURCE_DIR}/bochs/Interrupt.ah)
endif()
if(CONFIG_SUPPRESS_INTERRUPTS)
add_aspect_headers(${CMAKE_CURRENT_SOURCE_DIR}/bochs/InterruptSuppression.ah)
endif()
if(CONFIG_EVENT_IOPORT)
add_aspect_headers(${CMAKE_CURRENT_SOURCE_DIR}/bochs/IOPortCom.ah)
endif()
if(CONFIG_EVENT_JUMP)
add_aspect_headers(${CMAKE_CURRENT_SOURCE_DIR}/bochs/Jump.ah)
endif()
if(CONFIG_EVENT_MEMREAD OR CONFIG_EVENT_MEMWRITE)
add_aspect_headers(${CMAKE_CURRENT_SOURCE_DIR}/bochs/MemAccess.ah)
endif()
if(CONFIG_SR_REBOOT)
add_aspect_headers(${CMAKE_CURRENT_SOURCE_DIR}/bochs/Reboot.ah)
endif()
if(CONFIG_SR_RESTORE)
add_aspect_headers(${CMAKE_CURRENT_SOURCE_DIR}/bochs/RestoreState.ah)
endif()
if(CONFIG_SR_SAVE)
add_aspect_headers(${CMAKE_CURRENT_SOURCE_DIR}/bochs/SaveState.ah)
endif()
if(CONFIG_EVENT_TRAP)
add_aspect_headers(${CMAKE_CURRENT_SOURCE_DIR}/bochs/Trap.ah)
endif()
elseif(BUILD_GEM5)
list(APPEND SRCS
set(SRCS
Listener.cc
ListenerManager.cc
SALConfig.cc
Register.cc
SimulatorController.cc
perf/BreakpointBuffer.cc
gem5/Gem5Controller.cc
gem5/Gem5PCEvents.cc
)
# note: contrary to the original preprocessor conditional we do not
# depend on CONFIG_EVENT_BREAKPOINTS here (not necessary)
add_aspect_headers(${CMAKE_CURRENT_SOURCE_DIR}/gem5/Gem5Listener.ah)
elseif(BUILD_OVP)
list(APPEND SRCS
set(SRCS
Listener.cc
ListenerManager.cc
SALConfig.cc
Register.cc
SimulatorController.cc
perf/BreakpointBuffer.cc
${VARIANT}/OVPController.cc
)
add_aspect_headers(${CMAKE_CURRENT_SOURCE_DIR}/ovp/FailOVPInit.ah)
elseif(BUILD_QEMU)
list(APPEND SRCS
set(SRCS
Listener.cc
ListenerManager.cc
SALConfig.cc
Register.cc
perf/BreakpointBuffer.cc
SimulatorController.cc
qemu/QEMUController.cc
qemu/wrappers.cc
)
# note: contrary to the original preprocessor conditional we do not
# depend on CONFIG_EVENT_BREAKPOINTS here (not necessary)
add_aspect_headers(${CMAKE_CURRENT_SOURCE_DIR}/qemu/QEMUListener.ah)
elseif(BUILD_T32)
list(APPEND SRCS
set(SRCS
Listener.cc
ListenerManager.cc
SALConfig.cc
Register.cc
perf/BreakpointBuffer.cc
SimulatorController.cc
t32/T32Controller.cc
t32/wrappers.cc
)
# note: contrary to the original preprocessor conditional we do not
# depend on CONFIG_EVENT_BREAKPOINTS here (not necessary)
add_aspect_headers(${CMAKE_CURRENT_SOURCE_DIR}/t32/T32Listener.ah)
endif()
endif(BUILD_BOCHS)
add_library(fail-sal ${SRCS})

View File

@ -1,9 +1,13 @@
#ifndef __BOCHS_LISTENER_AH__
#define __BOCHS_LISTENER_AH__
#include "config/VariantConfig.hpp"
#include "config/FailConfig.hpp"
#if defined(BUILD_BOCHS) && defined(CONFIG_EVENT_BREAKPOINTS)
#include <cassert>
#include "bochs.h"
#include "BochsListener.hpp"
/*
@ -47,4 +51,5 @@ aspect BochsListener {
};
};
#endif // BUILD_BOCHS && CONFIG_EVENT_BREAKPOINTS
#endif // __BOCHS_LISTENER_AH__

View File

@ -1,6 +1,11 @@
#ifndef __BOCHS_NO_ABORT_AH__
#define __BOCHS_NO_ABORT_AH__
#include "config/VariantConfig.hpp"
#include "config/FailConfig.hpp"
#if defined(BUILD_BOCHS) && defined(CONFIG_BOCHS_NO_ABORT)
#include "bochs.h"
aspect BochsNoAbort {
@ -32,4 +37,5 @@ aspect BochsNoAbort {
}
};
#endif // CONFIG_BOCHS_NO_ABORT
#endif // __BOCHS_NO_ABORT_AH__

View File

@ -1,6 +1,11 @@
#ifndef __BOCHS_NON_VERBOSE_AH__
#define __BOCHS_NON_VERBOSE_AH__
#include "config/VariantConfig.hpp"
#include "config/FailConfig.hpp"
#if defined(BUILD_BOCHS) && defined(CONFIG_BOCHS_NON_VERBOSE)
#include "bochs.h"
/*
@ -52,4 +57,5 @@ aspect BochsNonVerbose {
: around () { }
};
#endif // CONFIG_BOCHS_NON_VERBOSE
#endif // __BOCHS_NON_VERBOSE_AH__

View File

@ -1,6 +1,11 @@
#ifndef __BREAKPOINTS_AH__
#define __BREAKPOINTS_AH__
#include "config/VariantConfig.hpp"
#include "config/FailConfig.hpp"
#if defined(BUILD_BOCHS) && defined(CONFIG_EVENT_BREAKPOINTS)
#include "bochs.h"
#include "cpu/cpu.h"
@ -24,4 +29,5 @@ aspect Breakpoints {
}
};
#endif // CONFIG_EVENT_BREAKPOINTS
#endif // __BREAKPOINTS_AH__

View File

@ -1,11 +1,14 @@
#ifndef __CREDITS_AH__
#define __CREDITS_AH__
#include "config/VariantConfig.hpp"
#include "config/FailConfig.hpp"
#ifdef BUILD_BOCHS
#include <string.h>
#include <stdio.h>
#include "config/FailConfig.hpp"
aspect Credits {
bool first;
Credits() : first(true) {}
@ -28,4 +31,5 @@ aspect Credits {
}
};
#endif // BUILD_BOCHS
#endif // __CREDITS_AH__

View File

@ -1,6 +1,11 @@
#ifndef __DISABLE_KEYBOARD_INTERRUPT_AH__
#define __DISABLE_KEYBOARD_INTERRUPT_AH__
#include "config/VariantConfig.hpp"
#include "config/FailConfig.hpp"
#if defined(BUILD_BOCHS) && defined(CONFIG_DISABLE_KEYB_INTERRUPTS)
#include "iodev/iodev.h"
#include "iodev/keyboard.h"
@ -17,4 +22,5 @@ aspect DisableKeyboardInterrupt {
}
};
#endif // CONFIG_DISABLE_KEYB_INTERRUPTS
#endif // __DISABLE_KEYBOARD_INTERRUPT_AH__

View File

@ -1,6 +1,10 @@
#ifndef __DISABLE_ADD_REMOVE_LOGFN_AH__
#define __DISABLE_ADD_REMOVE_LOGFN_AH__
#include "config/VariantConfig.hpp"
#ifdef BUILD_BOCHS
/* Hack to prevent Bochs' logfunctions list (bochs.h) to overflow if the
* experiment restores simulator state more than ~1000 times.
*
@ -16,4 +20,5 @@ aspect DisableLogFunctions {
advice execution (add_remove_logfn()) : around () { }
};
#endif // BUILD_BOCHS
#endif // __DISABLE_ADD_REMOVE_LOGFN_AH__

View File

@ -1,6 +1,10 @@
#ifndef __FAIL_BOCHS_INIT_AH__
#define __FAIL_BOCHS_INIT_AH__
#include "config/VariantConfig.hpp"
#ifdef BUILD_BOCHS
#include "../SALInst.hpp"
aspect FailBochsInit {
@ -10,4 +14,5 @@ aspect FailBochsInit {
}
};
#endif
#endif // __FAIL_BOCHS_INIT_AH__

View File

@ -1,10 +1,14 @@
#ifndef __FIREINTERRUPT_AH__
#define __FIREINTERRUPT_AH__
#include "config/VariantConfig.hpp"
#include "config/FailConfig.hpp"
#if defined(BUILD_BOCHS) && defined(CONFIG_FIRE_INTERRUPTS)
#include "bochs.h"
#include "cpu/cpu.h"
#include "iodev/iodev.h"
#include "../SALInst.hpp"
aspect FireInterrupt {
@ -37,4 +41,5 @@ aspect InterruptDone {
}
};
#endif // CONFIG_FIRE_INTERRUPTS
#endif // __FIREINTERRUPT_AH__

View File

@ -1,6 +1,11 @@
#ifndef __GUEST_SYS_COM_AH__
#define __GUEST_SYS_COM_AH__
#include "config/VariantConfig.hpp"
#include "config/FailConfig.hpp"
#if defined(BUILD_BOCHS) && defined(CONFIG_EVENT_GUESTSYS)
#include "bochs.h"
#include "cpu/cpu.h"
@ -24,4 +29,5 @@ aspect GuestSysCom {
}
};
#endif // CONFIG_EVENT_GUESTSYS
#endif // __GUEST_SYS_COM_AH__

View File

@ -1,10 +1,16 @@
#ifndef __IOPORT_COM_AH__
#define __IOPORT_COM_AH__
#include "config/VariantConfig.hpp"
#include "config/FailConfig.hpp"
#if defined(BUILD_BOCHS) && defined(CONFIG_EVENT_IOPORT)
#include "bochs.h"
#include "cpu/cpu.h"
#include "../SALInst.hpp"
#include "BochsHelpers.hpp"
// TODO: ATM only capturing bytewise output (most common, I suppose)
@ -29,4 +35,5 @@ aspect IOPortCom {
}
};
#endif // CONFIG_EVENT_IOPORT
#endif // __IOPORT_COM_AH__

View File

@ -1,6 +1,11 @@
#ifndef __INTERRUPT_AH__
#define __INTERRUPT_AH__
#include "config/VariantConfig.hpp"
#include "config/FailConfig.hpp"
#if defined(BUILD_BOCHS) && defined(CONFIG_EVENT_INTERRUPT)
#include "bochs.h"
#include "cpu/cpu.h"
@ -30,4 +35,5 @@ aspect Interrupt {
}
};
#endif // CONFIG_EVENT_INTERRUPT
#endif // __INTERRUPT_AH__

View File

@ -1,6 +1,11 @@
#ifndef __INTERRUPT_SUPPRESSION_AH__
#define __INTERRUPT_SUPPRESSION_AH__
#include "config/VariantConfig.hpp"
#include "config/FailConfig.hpp"
#if defined(BUILD_BOCHS) && defined(CONFIG_SUPPRESS_INTERRUPTS)
#include "bochs.h"
#include "cpu/cpu.h"
@ -18,4 +23,5 @@ aspect InterruptSuppression {
}
};
#endif // CONFIG_SUPPRESS_INTERRUPTS
#endif // __INTERRUPT_SUPPRESSION_AH__

View File

@ -1,10 +1,16 @@
#ifndef __JUMP_AH__
#define __JUMP_AH__
#include "config/VariantConfig.hpp"
#include "config/FailConfig.hpp"
#if defined(BUILD_BOCHS) && defined(CONFIG_EVENT_JUMP)
#include <iostream>
#include <cstdlib>
#include <string>
#include <ctime>
#include "bochs.h"
#include "../SALInst.hpp"
@ -129,4 +135,5 @@ aspect Jump {
}
};
#endif // CONFIG_EVENT_JUMP
#endif // __JUMP_AH__

View File

@ -1,8 +1,12 @@
#ifndef __MEM_ACCESS_AH__
#define __MEM_ACCESS_AH__
#include "config/VariantConfig.hpp"
#include "config/FailConfig.hpp"
#ifdef BUILD_BOCHS
#if defined(CONFIG_EVENT_MEMREAD) || defined(CONFIG_EVENT_MEMWRITE)
#include <iostream>
#include "bochs.h"
@ -153,4 +157,6 @@ aspect MemAccess {
#endif
};
#endif // CONFIG_EVENT_MEMACCESS
#endif // BUILD_BOCHS
#endif // __MEM_ACCESS_AH__

View File

@ -1,6 +1,11 @@
#ifndef __REBOOT_AH__
#define __REBOOT_AH__
#include "config/VariantConfig.hpp"
#include "config/FailConfig.hpp"
#if defined(BUILD_BOCHS) && defined(CONFIG_SR_REBOOT)
#include "bochs.h"
#include "../SALInst.hpp"
@ -20,4 +25,5 @@ aspect Reboot {
}
};
#endif // CONFIG_SR_REBOOT
#endif // __REBOOT_AH__

View File

@ -1,7 +1,13 @@
#ifndef __RESTORE_STATE_AH__
#define __RESTORE_STATE_AH__
#include "config/VariantConfig.hpp"
#include "config/FailConfig.hpp"
#if defined(BUILD_BOCHS) && defined(CONFIG_SR_RESTORE)
#include <iostream>
#include "bochs.h"
#include "../SALInst.hpp"
@ -17,4 +23,5 @@ aspect RestoreState {
}
};
#endif // CONFIG_SR_RESTORE
#endif // __RESTORE_STATE_AH__

View File

@ -1,6 +1,11 @@
#ifndef _SAVE_STATE_AH__
#define _SAVE_STATE_AH__
#include "config/VariantConfig.hpp"
#include "config/FailConfig.hpp"
#if defined(BUILD_BOCHS) && defined(CONFIG_SR_SAVE)
#include "bochs.h"
#include "../SALInst.hpp"
@ -24,4 +29,5 @@ aspect SaveState {
}
};
#endif // CONFIG_SR_SAVE
#endif // _SAVE_STATE_AH__

View File

@ -1,6 +1,11 @@
#ifndef __TRAP_AH__
#define __TRAP_AH__
#include "config/VariantConfig.hpp"
#include "config/FailConfig.hpp"
#if defined(BUILD_BOCHS) && defined(CONFIG_EVENT_TRAP)
#include "bochs.h"
#include "cpu/cpu.h"
@ -17,4 +22,5 @@ aspect Trap {
}
};
#endif // CONFIG_EVENT_TRAP
#endif // __TRAP_AH__

View File

@ -1,6 +1,11 @@
#ifndef __GEM5LISTENER_AH__
#define __GEM5LISTENER_AH__
#include "config/VariantConfig.hpp"
#include "config/FailConfig.hpp"
#if defined(BUILD_GEM5) && defined(CONFIG_EVENT_BREAKPOINTS)
#include "Gem5PCEvents.hpp"
#include "sim/system.hh"
@ -30,4 +35,5 @@ aspect Gem5Listener
};
};
#endif // BUILD_GEM5 && CONFIG_EVENT_BREAKPOINTS
#endif // __GEM5LISTENER_AH__

View File

@ -1,7 +1,12 @@
#ifndef __OVPINIT_AH__
#define __OVPINIT_AH__
#include "config/VariantConfig.hpp"
#ifdef BUILD_OVP
#include <iostream>
#include "../SALInst.hpp"
aspect FailOVPInit {
@ -13,4 +18,5 @@ aspect FailOVPInit {
}
};
#endif // BUILD_OVP
#endif // __OVPINIT_AH__

View File

@ -1,6 +1,10 @@
#ifndef __BREAKPOINT_CONTROLLER_SLICE_AH__
#define __BREAKPOINT_CONTROLLER_SLICE_AH__
#include "config/FailConfig.hpp"
#ifdef CONFIG_FAST_BREAKPOINTS
#include <iostream>
#include "../Listener.hpp"
@ -48,4 +52,6 @@ public:
{ addListener(rli); return resume(); }
};
#endif // CONFIG_FAST_BREAKPOINTS
#endif // __BREAKPOINT_CONTROLLER_SLICE_AH__

View File

@ -1,6 +1,10 @@
#ifndef __BREAKPOINT_MANAGER_SLICE_AH__
#define __BREAKPOINT_MANAGER_SLICE_AH__
#include "config/FailConfig.hpp"
#ifdef CONFIG_FAST_BREAKPOINTS
#include "BreakpointBuffer.hpp"
/**
@ -47,4 +51,6 @@ public:
}
};
#endif // CONFIG_FAST_BREAKPOINTS
#endif // __BREAKPOINT_MANAGER_SLICE_AH__

View File

@ -3,6 +3,8 @@
#include "config/FailConfig.hpp"
#ifdef CONFIG_FAST_BREAKPOINTS
#ifndef CONFIG_EVENT_BREAKPOINTS
#error Breakpoint events are required for fast breakpoints!
#endif
@ -78,4 +80,6 @@ aspect FastBreakpoints {
}
};
#endif // CONFIG_FAST_BREAKPOINTS // see above
#endif // __FAST_BREAKPOINTS_AH__

View File

@ -1,6 +1,11 @@
#ifndef __QEMULISTENER_AH__
#define __QEMULISTENER_AH__
#include "config/VariantConfig.hpp"
#include "config/FailConfig.hpp"
#if defined(BUILD_QEMU) && defined(CONFIG_EVENT_BREAKPOINTS)
#include "../SALInst.hpp"
extern "C" {
@ -51,4 +56,5 @@ aspect QEMUListener
};
};
#endif // BUILD_QEMU && CONFIG_EVENT_BREAKPOINTS
#endif // __QEMULISTENER_AH__

View File

@ -1,6 +1,11 @@
#ifndef __T32LISTENER_AH__
#define __T32LISTENER_AH__
#include "config/VariantConfig.hpp"
#include "config/FailConfig.hpp"
#if defined(BUILD_T32) && defined(CONFIG_EVENT_BREAKPOINTS)
#include "../SALInst.hpp"
aspect T32Listener
@ -26,4 +31,5 @@ aspect T32Listener
};
};
#endif // BUILD_T32 && CONFIG_EVENT_BREAKPOINTS
#endif // __T32LISTENER_AH__