treat AspectConfig like other configuration headers
This is temporary; we need a proper configuration tool for this. - AspectConfig.hpp moves to config/AspectConfig.hpp.in - generate configuration in build tree git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@958 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
This commit is contained in:
@ -1,30 +0,0 @@
|
|||||||
#ifndef __ASPECT_CONFIG_HPP__
|
|
||||||
#define __ASPECT_CONFIG_HPP__
|
|
||||||
|
|
||||||
// The following configuration macros to disable (0) / enable (1) the various
|
|
||||||
// event sources, fault injection sinks, and miscellaneous other features.
|
|
||||||
|
|
||||||
// Event sources
|
|
||||||
#define CONFIG_EVENT_CPULOOP 0
|
|
||||||
#define CONFIG_EVENT_MEMREAD 0
|
|
||||||
#define CONFIG_EVENT_MEMWRITE 0
|
|
||||||
#define CONFIG_EVENT_GUESTSYS 0
|
|
||||||
#define CONFIG_EVENT_INTERRUPT 0
|
|
||||||
#define CONFIG_EVENT_TRAP 0
|
|
||||||
#define CONFIG_EVENT_JUMP 0
|
|
||||||
|
|
||||||
// Save/restore functionality
|
|
||||||
#define CONFIG_SR_RESTORE 0
|
|
||||||
#define CONFIG_SR_SAVE 0
|
|
||||||
#define CONFIG_SR_REBOOT 0
|
|
||||||
|
|
||||||
// Miscellaneous
|
|
||||||
#define CONFIG_STFU 0
|
|
||||||
#define CONFIG_SUPPRESS_INTERRUPTS 0
|
|
||||||
#define CONFIG_DISABLE_KEYB_INTERRUPTS 0
|
|
||||||
|
|
||||||
// Fault injection
|
|
||||||
#define CONFIG_FI_MEM_ACCESS_BITFLIP 0
|
|
||||||
|
|
||||||
|
|
||||||
#endif /* __ASPECT_CONFIG_HPP__ */
|
|
||||||
@ -1,9 +1,9 @@
|
|||||||
#ifndef __CPU_LOOP_AH__
|
#ifndef __CPU_LOOP_AH__
|
||||||
#define __CPU_LOOP_AH__
|
#define __CPU_LOOP_AH__
|
||||||
|
|
||||||
#include "../../AspectConfig.hpp"
|
#include "config/AspectConfig.hpp"
|
||||||
|
|
||||||
#if CONFIG_EVENT_CPULOOP == 1
|
#ifdef CONFIG_EVENT_CPULOOP
|
||||||
|
|
||||||
#include "../../../bochs/bochs.h" // for "BX_CPU_C"
|
#include "../../../bochs/bochs.h" // for "BX_CPU_C"
|
||||||
#include "../../../bochs/cpu/cpu.h" // for "bxInstruction_c"
|
#include "../../../bochs/cpu/cpu.h" // for "bxInstruction_c"
|
||||||
|
|||||||
@ -1,9 +1,9 @@
|
|||||||
#ifndef __GUESTSYS_COM_AH__
|
#ifndef __GUESTSYS_COM_AH__
|
||||||
#define __GUESTSYS_COM_AH__
|
#define __GUESTSYS_COM_AH__
|
||||||
|
|
||||||
#include "../../AspectConfig.hpp"
|
#include "config/AspectConfig.hpp"
|
||||||
|
|
||||||
#if CONFIG_EVENT_GUESTSYS == 1
|
#ifdef CONFIG_EVENT_GUESTSYS
|
||||||
|
|
||||||
#include "../../../bochs/bochs.h"
|
#include "../../../bochs/bochs.h"
|
||||||
#include "../../../bochs/cpu/cpu.h"
|
#include "../../../bochs/cpu/cpu.h"
|
||||||
|
|||||||
@ -1,9 +1,9 @@
|
|||||||
#ifndef __INTERRUPT_AH__
|
#ifndef __INTERRUPT_AH__
|
||||||
#define __INTERRUPT_AH__
|
#define __INTERRUPT_AH__
|
||||||
|
|
||||||
#include "../../AspectConfig.hpp"
|
#include "config/AspectConfig.hpp"
|
||||||
|
|
||||||
#if CONFIG_EVENT_INTERRUPT == 1
|
#ifdef CONFIG_EVENT_INTERRUPT
|
||||||
|
|
||||||
#include "../../../bochs/bochs.h"
|
#include "../../../bochs/bochs.h"
|
||||||
#include "../../../bochs/cpu/cpu.h"
|
#include "../../../bochs/cpu/cpu.h"
|
||||||
|
|||||||
@ -1,9 +1,9 @@
|
|||||||
#ifndef __INTERRUPT_SUPPRESSION_AH__
|
#ifndef __INTERRUPT_SUPPRESSION_AH__
|
||||||
#define __INTERRUPT_SUPPRESSION_AH__
|
#define __INTERRUPT_SUPPRESSION_AH__
|
||||||
|
|
||||||
#include "../../AspectConfig.hpp"
|
#include "config/AspectConfig.hpp"
|
||||||
|
|
||||||
#if CONFIG_SUPPRESS_INTERRUPTS == 1
|
#ifdef CONFIG_SUPPRESS_INTERRUPTS
|
||||||
|
|
||||||
#include "../../../bochs/bochs.h"
|
#include "../../../bochs/bochs.h"
|
||||||
#include "../../../bochs/cpu/cpu.h"
|
#include "../../../bochs/cpu/cpu.h"
|
||||||
|
|||||||
@ -1,9 +1,9 @@
|
|||||||
#ifndef __JUMP_AH__
|
#ifndef __JUMP_AH__
|
||||||
#define __JUMP_AH__
|
#define __JUMP_AH__
|
||||||
|
|
||||||
#include "../../AspectConfig.hpp"
|
#include "config/AspectConfig.hpp"
|
||||||
|
|
||||||
#if CONFIG_EVENT_JUMP == 1
|
#ifdef CONFIG_EVENT_JUMP
|
||||||
|
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <cstdlib>
|
#include <cstdlib>
|
||||||
|
|||||||
@ -1,10 +1,10 @@
|
|||||||
#ifndef __JUMP_TO_PREVIOUS_CTX_AH__
|
#ifndef __JUMP_TO_PREVIOUS_CTX_AH__
|
||||||
#define __JUMP_TO_PREVIOUS_CTX_AH__
|
#define __JUMP_TO_PREVIOUS_CTX_AH__
|
||||||
|
|
||||||
#include "../../AspectConfig.hpp"
|
#include "config/AspectConfig.hpp"
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
// #if CONFIG_SR_RESTORE == 1 || CONFIG_SR_REBOOT == 1
|
// #if defined(CONFIG_SR_RESTORE) || defined(CONFIG_SR_REBOOT)
|
||||||
|
|
||||||
#include "bochs.h"
|
#include "bochs.h"
|
||||||
#include "../SALInst.hpp"
|
#include "../SALInst.hpp"
|
||||||
@ -28,6 +28,6 @@ aspect jumpToPreviousCtx
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // CONFIG_SR_RESTORE == 1 || CONFIG_SR_REBOOT
|
#endif // CONFIG_SR_RESTORE || CONFIG_SR_REBOOT
|
||||||
|
|
||||||
#endif // __JUMP_TO_PREVIOUS_CTX_AH__
|
#endif // __JUMP_TO_PREVIOUS_CTX_AH__
|
||||||
|
|||||||
@ -1,9 +1,9 @@
|
|||||||
#ifndef __MEM_ACCESS_BIT_FLIP_AH__
|
#ifndef __MEM_ACCESS_BIT_FLIP_AH__
|
||||||
#define __MEM_ACCESS_BIT_FLIP_AH__
|
#define __MEM_ACCESS_BIT_FLIP_AH__
|
||||||
|
|
||||||
#include "../../AspectConfig.hpp"
|
#include "config/AspectConfig.hpp"
|
||||||
|
|
||||||
#if CONFIG_FI_MEM_ACCESS_BITFLIP == 1
|
#ifdef CONFIG_FI_MEM_ACCESS_BITFLIP
|
||||||
|
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <cstdlib>
|
#include <cstdlib>
|
||||||
|
|||||||
@ -2,9 +2,9 @@
|
|||||||
#define __MEM_EVENTS_AH__
|
#define __MEM_EVENTS_AH__
|
||||||
|
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include "../../AspectConfig.hpp"
|
#include "config/AspectConfig.hpp"
|
||||||
|
|
||||||
#if CONFIG_EVENT_MEMREAD == 1 || CONFIG_EVENT_MEMWRITE == 1
|
#if defined(CONFIG_EVENT_MEMREAD) || defined(CONFIG_EVENT_MEMWRITE)
|
||||||
|
|
||||||
#include "../../../bochs/bochs.h"
|
#include "../../../bochs/bochs.h"
|
||||||
#include "../../../bochs/cpu/cpu.h"
|
#include "../../../bochs/cpu/cpu.h"
|
||||||
@ -57,7 +57,7 @@ aspect MemEvents
|
|||||||
//
|
//
|
||||||
// Event source: "memory write access"
|
// Event source: "memory write access"
|
||||||
//
|
//
|
||||||
#if CONFIG_EVENT_MEMWRITE == 1
|
#ifdef CONFIG_EVENT_MEMWRITE
|
||||||
advice execution (write_methods()) : after () {
|
advice execution (write_methods()) : after () {
|
||||||
sal::simulator.onMemoryAccessEvent(
|
sal::simulator.onMemoryAccessEvent(
|
||||||
*(tjp->arg<1>()), sizeof(*(tjp->arg<2>())), true,
|
*(tjp->arg<1>()), sizeof(*(tjp->arg<2>())), true,
|
||||||
@ -103,7 +103,7 @@ aspect MemEvents
|
|||||||
//
|
//
|
||||||
// Event source: "memory read access"
|
// Event source: "memory read access"
|
||||||
//
|
//
|
||||||
#if CONFIG_EVENT_MEMREAD == 1
|
#ifdef CONFIG_EVENT_MEMREAD
|
||||||
advice execution (read_methods()) : before () {
|
advice execution (read_methods()) : before () {
|
||||||
sal::simulator.onMemoryAccessEvent(
|
sal::simulator.onMemoryAccessEvent(
|
||||||
*(tjp->arg<1>()), sizeof(*(tjp->result())), false,
|
*(tjp->arg<1>()), sizeof(*(tjp->result())), false,
|
||||||
@ -119,14 +119,14 @@ aspect MemEvents
|
|||||||
|
|
||||||
advice execution (read_methods_RMW()) : before () {
|
advice execution (read_methods_RMW()) : before () {
|
||||||
rmw_address = *(tjp->arg<1>());
|
rmw_address = *(tjp->arg<1>());
|
||||||
#if CONFIG_EVENT_MEMREAD == 1
|
#ifdef CONFIG_EVENT_MEMREAD
|
||||||
sal::simulator.onMemoryAccessEvent(
|
sal::simulator.onMemoryAccessEvent(
|
||||||
*(tjp->arg<1>()), sizeof(*(tjp->result())), false,
|
*(tjp->arg<1>()), sizeof(*(tjp->result())), false,
|
||||||
getCPU(tjp->that())->prev_rip);
|
getCPU(tjp->that())->prev_rip);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
#if CONFIG_EVENT_MEMREAD == 1
|
#ifdef CONFIG_EVENT_MEMREAD
|
||||||
advice execution (read_methods_system()) : before () {
|
advice execution (read_methods_system()) : before () {
|
||||||
// We don't do anything here for now: This type of memory
|
// We don't do anything here for now: This type of memory
|
||||||
// access is used when the hardware itself needs to access
|
// access is used when the hardware itself needs to access
|
||||||
|
|||||||
@ -1,9 +1,9 @@
|
|||||||
#ifndef __TRAP_AH__
|
#ifndef __TRAP_AH__
|
||||||
#define __TRAP_AH__
|
#define __TRAP_AH__
|
||||||
|
|
||||||
#include "../../AspectConfig.hpp"
|
#include "config/AspectConfig.hpp"
|
||||||
|
|
||||||
#if CONFIG_EVENT_TRAP == 1
|
#ifdef CONFIG_EVENT_TRAP
|
||||||
|
|
||||||
#include "../../../bochs/bochs.h"
|
#include "../../../bochs/bochs.h"
|
||||||
#include "../../../bochs/cpu/cpu.h"
|
#include "../../../bochs/cpu/cpu.h"
|
||||||
|
|||||||
@ -1,9 +1,9 @@
|
|||||||
#ifndef __DISABLE_KEYBOARD_INTERRUPT_AH__
|
#ifndef __DISABLE_KEYBOARD_INTERRUPT_AH__
|
||||||
#define __DISABLE_KEYBOARD_INTERRUPT_AH__
|
#define __DISABLE_KEYBOARD_INTERRUPT_AH__
|
||||||
|
|
||||||
#include "../../AspectConfig.hpp"
|
#include "config/AspectConfig.hpp"
|
||||||
|
|
||||||
#if CONFIG_DISABLE_KEYB_INTERRUPTS
|
#ifdef CONFIG_DISABLE_KEYB_INTERRUPTS
|
||||||
|
|
||||||
#include "../../../bochs/iodev/keyboard.h"
|
#include "../../../bochs/iodev/keyboard.h"
|
||||||
|
|
||||||
|
|||||||
@ -1,10 +1,10 @@
|
|||||||
#ifndef __REBOOT_AH__
|
#ifndef __REBOOT_AH__
|
||||||
#define __REBOOT_AH__
|
#define __REBOOT_AH__
|
||||||
|
|
||||||
#include "../../AspectConfig.hpp"
|
#include "config/AspectConfig.hpp"
|
||||||
#include "../SALInst.hpp"
|
#include "../SALInst.hpp"
|
||||||
|
|
||||||
#if CONFIG_SR_REBOOT == 1
|
#ifdef CONFIG_SR_REBOOT
|
||||||
|
|
||||||
#include "bochs.h"
|
#include "bochs.h"
|
||||||
|
|
||||||
|
|||||||
@ -2,10 +2,10 @@
|
|||||||
#define __RESTORE_AH__
|
#define __RESTORE_AH__
|
||||||
|
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include "../../AspectConfig.hpp"
|
#include "config/AspectConfig.hpp"
|
||||||
#include "../SALInst.hpp"
|
#include "../SALInst.hpp"
|
||||||
|
|
||||||
#if CONFIG_SR_RESTORE == 1
|
#ifdef CONFIG_SR_RESTORE
|
||||||
|
|
||||||
#include "bochs.h"
|
#include "bochs.h"
|
||||||
|
|
||||||
|
|||||||
@ -1,9 +1,9 @@
|
|||||||
#ifndef __SAVE_AH__
|
#ifndef __SAVE_AH__
|
||||||
#define __SAVE_AH__
|
#define __SAVE_AH__
|
||||||
|
|
||||||
#include "../../AspectConfig.hpp"
|
#include "config/AspectConfig.hpp"
|
||||||
|
|
||||||
#if CONFIG_SR_SAVE == 1
|
#ifdef CONFIG_SR_SAVE
|
||||||
|
|
||||||
#include "bochs.h"
|
#include "bochs.h"
|
||||||
#include "../SALInst.hpp"
|
#include "../SALInst.hpp"
|
||||||
|
|||||||
@ -1,9 +1,9 @@
|
|||||||
#ifndef __NONVERBOSE_AH__
|
#ifndef __NONVERBOSE_AH__
|
||||||
#define __NONVERBOSE_AH__
|
#define __NONVERBOSE_AH__
|
||||||
|
|
||||||
#include "../../AspectConfig.hpp"
|
#include "config/AspectConfig.hpp"
|
||||||
|
|
||||||
#if CONFIG_STFU == 1
|
#ifdef CONFIG_STFU
|
||||||
|
|
||||||
#include "bochs.h"
|
#include "bochs.h"
|
||||||
|
|
||||||
|
|||||||
30
core/config/AspectConfig.hpp.in
Normal file
30
core/config/AspectConfig.hpp.in
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
#ifndef __ASPECT_CONFIG_HPP__
|
||||||
|
#define __ASPECT_CONFIG_HPP__
|
||||||
|
|
||||||
|
// #define / #undef the following configuration macros to enable/disable the
|
||||||
|
// various event sources, fault injection sinks, and miscellaneous other
|
||||||
|
// features.
|
||||||
|
|
||||||
|
// Event sources
|
||||||
|
#cmakedefine CONFIG_EVENT_CPULOOP
|
||||||
|
#cmakedefine CONFIG_EVENT_MEMREAD
|
||||||
|
#cmakedefine CONFIG_EVENT_MEMWRITE
|
||||||
|
#cmakedefine CONFIG_EVENT_GUESTSYS
|
||||||
|
#cmakedefine CONFIG_EVENT_INTERRUPT
|
||||||
|
#cmakedefine CONFIG_EVENT_TRAP
|
||||||
|
#cmakedefine CONFIG_EVENT_JUMP
|
||||||
|
|
||||||
|
// Save/restore functionality
|
||||||
|
#cmakedefine CONFIG_SR_RESTORE
|
||||||
|
#cmakedefine CONFIG_SR_SAVE
|
||||||
|
#cmakedefine CONFIG_SR_REBOOT
|
||||||
|
|
||||||
|
// Miscellaneous
|
||||||
|
#cmakedefine CONFIG_STFU
|
||||||
|
#cmakedefine CONFIG_SUPPRESS_INTERRUPTS
|
||||||
|
#cmakedefine CONFIG_DISABLE_KEYB_INTERRUPTS
|
||||||
|
|
||||||
|
// Fault injection
|
||||||
|
#cmakedefine CONFIG_FI_MEM_ACCESS_BITFLIP
|
||||||
|
|
||||||
|
#endif /* __ASPECT_CONFIG_HPP__ */
|
||||||
@ -1,3 +1,21 @@
|
|||||||
#### Configuration file emitting BUILD_OVP/BOCHS defines ####
|
#### Configuration file emitting BUILD_OVP/BOCHS defines ####
|
||||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/variant_config.h.in
|
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/variant_config.h.in
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/variant_config.h)
|
${CMAKE_CURRENT_BINARY_DIR}/variant_config.h)
|
||||||
|
|
||||||
|
OPTION(CONFIG_EVENT_CPULOOP "Event source: Breakpoints" OFF)
|
||||||
|
OPTION(CONFIG_EVENT_MEMREAD "Event source: Memory reads" OFF)
|
||||||
|
OPTION(CONFIG_EVENT_MEMWRITE "Event source: Memory writes" OFF)
|
||||||
|
OPTION(CONFIG_EVENT_GUESTSYS "Event source: Outbound guest-system communication" OFF)
|
||||||
|
OPTION(CONFIG_EVENT_INTERRUPT "Event source: Interrupts" OFF)
|
||||||
|
OPTION(CONFIG_EVENT_TRAP "Event source: Traps" OFF)
|
||||||
|
OPTION(CONFIG_EVENT_JUMP "Event source: Branch instructions" OFF)
|
||||||
|
OPTION(CONFIG_SR_RESTORE "Target backend: State restore" OFF)
|
||||||
|
OPTION(CONFIG_SR_SAVE "Target backend: State saving" OFF)
|
||||||
|
OPTION(CONFIG_SR_REBOOT "Target backend: Reboot" OFF)
|
||||||
|
OPTION(CONFIG_STFU "Misc: Reduced verbosity" OFF)
|
||||||
|
OPTION(CONFIG_SUPPRESS_INTERRUPTS "Target backend: Suppress interrupts" OFF)
|
||||||
|
OPTION(CONFIG_DISABLE_KEYB_INTERRUPTS "Target backend: Suppress keyboard interrupts" OFF)
|
||||||
|
OPTION(CONFIG_FI_MEM_ACCESS_BITFLIP "deprecated something" OFF)
|
||||||
|
|
||||||
|
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/AspectConfig.hpp.in
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/AspectConfig.hpp)
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <fstream>
|
#include <fstream>
|
||||||
|
|
||||||
#include "AspectConfig.hpp"
|
#include "config/AspectConfig.hpp"
|
||||||
#include "controller/ExperimentFlow.hpp"
|
#include "controller/ExperimentFlow.hpp"
|
||||||
|
|
||||||
#define INST_ADDR_FUNC_START 0x4ae6
|
#define INST_ADDR_FUNC_START 0x4ae6
|
||||||
@ -12,8 +12,8 @@
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
// Check if aspect dependencies are satisfied:
|
// Check if aspect dependencies are satisfied:
|
||||||
#if CONFIG_EVENT_CPULOOP != 1 || CONFIG_EVENT_TRAP != 1 || \
|
#if !defined(CONFIG_EVENT_CPULOOP) || !defined(CONFIG_EVENT_TRAP) || \
|
||||||
CONFIG_SR_RESTORE != 1 || CONFIG_SR_SAVE != 1
|
!defined(CONFIG_SR_RESTORE) || !defined(CONFIG_SR_SAVE)
|
||||||
#error At least one of the following aspect-dependencies are not satisfied: \
|
#error At least one of the following aspect-dependencies are not satisfied: \
|
||||||
cpu loop, traps, save/restore. Enable aspects first (see AspectConfig.hpp)!
|
cpu loop, traps, save/restore. Enable aspects first (see AspectConfig.hpp)!
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@ -9,10 +9,10 @@
|
|||||||
#include "../controller/ExperimentFlow.hpp"
|
#include "../controller/ExperimentFlow.hpp"
|
||||||
#include "../SAL/SALInst.hpp"
|
#include "../SAL/SALInst.hpp"
|
||||||
#include "../SAL/bochs/BochsRegister.hpp"
|
#include "../SAL/bochs/BochsRegister.hpp"
|
||||||
#include "../AspectConfig.hpp"
|
#include "config/AspectConfig.hpp"
|
||||||
|
|
||||||
// Check if aspect dependencies are satisfied:
|
// Check if aspect dependencies are satisfied:
|
||||||
#if CONFIG_EVENT_CPULOOP != 1 || CONFIG_EVENT_JUMP != 1
|
#if !defined(CONFIG_EVENT_CPULOOP) || !defined(CONFIG_EVENT_JUMP)
|
||||||
#error Breakpoint- and jump-events needed! Enable aspects first (see AspectConfig.hpp)!
|
#error Breakpoint- and jump-events needed! Enable aspects first (see AspectConfig.hpp)!
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
@ -8,10 +8,10 @@
|
|||||||
|
|
||||||
#include "../controller/ExperimentFlow.hpp"
|
#include "../controller/ExperimentFlow.hpp"
|
||||||
#include "../SAL/SALInst.hpp"
|
#include "../SAL/SALInst.hpp"
|
||||||
#include "../AspectConfig.hpp"
|
#include "config/AspectConfig.hpp"
|
||||||
|
|
||||||
// Check aspect dependencies:
|
// Check aspect dependencies:
|
||||||
#if CONFIG_EVENT_CPULOOP != 1 || CONFIG_EVENT_MEMACCESS != 1 || CONFIG_SR_SAVE != 1 || CONFIG_FI_MEM_ACCESS_BITFLIP != 1
|
#if !defined(CONFIG_EVENT_CPULOOP) || !defined(CONFIG_EVENT_MEMACCESS) || !defined(CONFIG_SR_SAVE) || !defined(CONFIG_FI_MEM_ACCESS_BITFLIP)
|
||||||
#error Event dependecies not satisfied! Enabled needed aspects in AspectConfig.hpp!
|
#error Event dependecies not satisfied! Enabled needed aspects in AspectConfig.hpp!
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
@ -8,11 +8,11 @@
|
|||||||
|
|
||||||
#include "../controller/ExperimentFlow.hpp"
|
#include "../controller/ExperimentFlow.hpp"
|
||||||
#include "../SAL/SALInst.hpp"
|
#include "../SAL/SALInst.hpp"
|
||||||
#include "../AspectConfig.hpp"
|
#include "config/AspectConfig.hpp"
|
||||||
#include "../SAL/bochs/BochsRegister.hpp"
|
#include "../SAL/bochs/BochsRegister.hpp"
|
||||||
|
|
||||||
// Check if aspect dependency is satisfied:
|
// Check if aspect dependency is satisfied:
|
||||||
#if CONFIG_EVENT_CPULOOP != 1
|
#ifndef CONFIG_EVENT_CPULOOP
|
||||||
#error Breakpoint-events needed! Enable aspect first (see AspectConfig.hpp)!
|
#error Breakpoint-events needed! Enable aspect first (see AspectConfig.hpp)!
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
16
doc/todo.txt
16
doc/todo.txt
@ -97,14 +97,7 @@ Buildsystem:
|
|||||||
brauchbaren Konfigurationswerkzeug mit Ausdrucksmöglichkeiten für
|
brauchbaren Konfigurationswerkzeug mit Ausdrucksmöglichkeiten für
|
||||||
Merkmalmodelle, Abhängigkeiten, Mehrfachauswahl etc. (kconfig?)
|
Merkmalmodelle, Abhängigkeiten, Mehrfachauswahl etc. (kconfig?)
|
||||||
* Bochs / OVP sind Alternativen, nicht beide anschaltbar (?)
|
* Bochs / OVP sind Alternativen, nicht beide anschaltbar (?)
|
||||||
- EXP*-options nur einmal in config/, nicht in drei verschiedenen Dateien
|
- Hinzufügen eines neuen Experiments konkreter dokumentieren (howto-build.txt?)
|
||||||
(config/CMakelists.txt, config/experiments.hpp.in,
|
|
||||||
experiments/CMakeLists.txt)
|
|
||||||
* Hinzufügen eines neuen Experiments konkreter dokumentieren (howto-build.txt?)
|
|
||||||
- AspectConfig.hpp in cmake-config einbinden (genauso behandeln wie experiments.hpp!)
|
|
||||||
-> generierte Datei landet in Buildtree, wird nicht mehr eingecheckt
|
|
||||||
- variant_config.h in cmake-config einbinden (genauso behandeln wie experiments.hpp!)
|
|
||||||
-> generierte Datei landet in Buildtree, wird nicht mehr eingecheckt
|
|
||||||
|
|
||||||
Dokumentation:
|
Dokumentation:
|
||||||
- Änderungen im Klassendiagramm nachziehen (hsc)
|
- Änderungen im Klassendiagramm nachziehen (hsc)
|
||||||
@ -156,6 +149,13 @@ Dokumentation:
|
|||||||
-> siehe fail/experiments/coolchecksum/experiment.cc FIXME am Ende
|
-> siehe fail/experiments/coolchecksum/experiment.cc FIXME am Ende
|
||||||
-> Lösung: Löschliste
|
-> Lösung: Löschliste
|
||||||
- ggf. zusammen mit Datenstruktur-Implementierungsdetails-TODO (s.u.) angehen
|
- ggf. zusammen mit Datenstruktur-Implementierungsdetails-TODO (s.u.) angehen
|
||||||
|
- AspectConfig.hpp in cmake-config einbinden (genauso behandeln wie experiments.hpp!)
|
||||||
|
-> generierte Datei landet in Buildtree, wird nicht mehr eingecheckt
|
||||||
|
- variant_config.h in cmake-config einbinden (genauso behandeln wie experiments.hpp!)
|
||||||
|
-> generierte Datei landet in Buildtree, wird nicht mehr eingecheckt
|
||||||
|
- EXP*-options nur einmal in config/, nicht in drei verschiedenen Dateien
|
||||||
|
(config/CMakelists.txt, config/experiments.hpp.in,
|
||||||
|
experiments/CMakeLists.txt)
|
||||||
|
|
||||||
==================================
|
==================================
|
||||||
Theorie TODO
|
Theorie TODO
|
||||||
|
|||||||
Reference in New Issue
Block a user