From 39a6415001e53d7b3c805fa5a71474b0541501de Mon Sep 17 00:00:00 2001 From: hoffmann Date: Fri, 15 Feb 2013 18:06:02 +0000 Subject: [PATCH] T32: Integrated Register read/write calls * Tested without connected Lauterbach. T32_* functions are mocked via aspect. * New target t32cli, for sending T32 command cia cli. (for testing) git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@2103 8c4709b5-6ec9-48aa-a5cd-a96041d1645a --- CMakeLists.txt | 3 +- debuggers/gdb/README | 1 + {hwdebuggers => debuggers}/t32/CMakeLists.txt | 0 .../t32/api/CMakeLists.txt | 0 .../t32/api/hlinknet.cc | 54 ++++++------ {hwdebuggers => debuggers}/t32/api/hremote.cc | 0 {hwdebuggers => debuggers}/t32/include/t32.h | 12 ++- .../t32/src/CMakeLists.txt | 4 +- debuggers/t32/src/T32Connector.cc | 61 ++++++++++++++ debuggers/t32/src/T32Connector.hpp | 24 ++++++ .../t32/src/t32cli.cc | 0 doc/t32_remote_api.pdf | Bin 0 -> 410933 bytes src/core/sal/CMakeLists.txt | 6 +- src/core/sal/ConcreteCPU.hpp | 5 ++ src/core/sal/gem5/Gem5ArmCPU.hpp | 2 +- src/core/sal/gem5/Gem5Controller.hpp | 2 +- src/core/sal/gem5/Gem5Memory.hpp | 2 +- src/core/sal/t32/T32ArmCPU.cc | 53 ++++++++++++ src/core/sal/t32/T32ArmCPU.hpp | 75 +++++++++++++++++ src/core/sal/t32/T32Config.hpp | 5 +- src/core/sal/t32/T32Connector.cc | 56 +++++++++++++ src/core/sal/t32/T32Connector.hpp | 24 ++++++ src/core/sal/t32/T32Controller.cc | 27 +++--- src/core/sal/t32/T32Controller.hpp | 16 +--- src/core/sal/t32/T32Listener.ah | 19 ++--- src/core/sal/t32/T32Memory.hpp | 35 ++++++-- src/core/sal/t32/T32Mock.ah | 26 ++++++ src/core/sal/t32/T32Register.hpp | 45 ---------- src/experiments/vezs-example/experiment.cc | 77 ++---------------- src/experiments/vezs-example/experiment.hpp | 6 +- 30 files changed, 439 insertions(+), 201 deletions(-) create mode 100644 debuggers/gdb/README rename {hwdebuggers => debuggers}/t32/CMakeLists.txt (100%) rename {hwdebuggers => debuggers}/t32/api/CMakeLists.txt (100%) rename {hwdebuggers => debuggers}/t32/api/hlinknet.cc (97%) rename {hwdebuggers => debuggers}/t32/api/hremote.cc (100%) rename {hwdebuggers => debuggers}/t32/include/t32.h (99%) rename {hwdebuggers => debuggers}/t32/src/CMakeLists.txt (59%) create mode 100644 debuggers/t32/src/T32Connector.cc create mode 100644 debuggers/t32/src/T32Connector.hpp rename hwdebuggers/t32/src/t32connector.cc => debuggers/t32/src/t32cli.cc (100%) create mode 100644 doc/t32_remote_api.pdf create mode 100644 src/core/sal/t32/T32ArmCPU.cc create mode 100644 src/core/sal/t32/T32ArmCPU.hpp create mode 100644 src/core/sal/t32/T32Connector.cc create mode 100644 src/core/sal/t32/T32Connector.hpp create mode 100644 src/core/sal/t32/T32Mock.ah delete mode 100644 src/core/sal/t32/T32Register.hpp diff --git a/CMakeLists.txt b/CMakeLists.txt index e0d1e333..0bdb9fbb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -51,7 +51,8 @@ elseif(BUILD_OVP) elseif(BUILD_QEMU) include_directories(simulators) elseif(BUILD_T32) - add_subdirectory(hwdebuggers/t32) + include_directories(debuggers/t32/include src/core) + add_subdirectory(debuggers/t32) endif(BUILD_BOCHS) ## Additional compiler and linker flags ## diff --git a/debuggers/gdb/README b/debuggers/gdb/README new file mode 100644 index 00000000..c7225112 --- /dev/null +++ b/debuggers/gdb/README @@ -0,0 +1 @@ +TODO: a nice GDB backend. diff --git a/hwdebuggers/t32/CMakeLists.txt b/debuggers/t32/CMakeLists.txt similarity index 100% rename from hwdebuggers/t32/CMakeLists.txt rename to debuggers/t32/CMakeLists.txt diff --git a/hwdebuggers/t32/api/CMakeLists.txt b/debuggers/t32/api/CMakeLists.txt similarity index 100% rename from hwdebuggers/t32/api/CMakeLists.txt rename to debuggers/t32/api/CMakeLists.txt diff --git a/hwdebuggers/t32/api/hlinknet.cc b/debuggers/t32/api/hlinknet.cc similarity index 97% rename from hwdebuggers/t32/api/hlinknet.cc rename to debuggers/t32/api/hlinknet.cc index 067f729c..5f235cb7 100644 --- a/hwdebuggers/t32/api/hlinknet.cc +++ b/debuggers/t32/api/hlinknet.cc @@ -91,7 +91,7 @@ extern struct hostent * gethostbyaddr(); # define FD_ISSET(fd,fdset) (*fdset & (1<<(fd))) #endif -#if defined(DEC_VMS) || defined(MS_WINDOWS) || defined(OS_9) || defined(LINUX) +#if defined(DEC_VMS) || defined(MS_WINDOWS) || defined(OS_9) || defined(LINUX) # define RECEIVEADDR (&ReceiveSocketAddress) static struct sockaddr ReceiveSocketAddress; #else @@ -106,7 +106,7 @@ struct LineStruct { unsigned short ReceivePort; /* Receiver Port */ unsigned short TransmitPort; /* Transmitter Port in T32 */ int PacketSize; /* Max. size of UDP-packet data */ - int PollTimeSec; + int PollTimeSec; int ReceiveToggleBit; unsigned char MessageId; int LineUp; @@ -227,28 +227,28 @@ int LINE_LineConfig(char * in) } if (!strncmp((char *) in, "PORT=", 5)) { x = str2dec (in+5); - if (x == -1) + if (x == -1) return -1; line->TransmitPort = x; return 1; } if (!strncmp((char *) in, "HOSTPORT=", 9)) { x = str2dec (in+9); - if (x == -1) + if (x == -1) return -1; line->HostPort = x; return 1; } if (!strncmp((char *) in, "PACKLEN=", 8)) { x = str2dec (in+8); - if (x == -1) + if (x == -1) return -1; line->PacketSize = x; return 1; } if (!strncmp((char *) in, "TIMEOUT=", 8)) { x = str2dec (in+8); - if (x == -1) + if (x == -1) return -1; line->PollTimeSec = x; return 1; @@ -353,7 +353,7 @@ void LINE_LineExit(void) if (line->CommSocket != -1) { for (i = 0; i < 5; i++) - sendto(line->CommSocket, (char *) discon, 16, 0, + sendto(line->CommSocket, (char *) discon, 16, 0, (struct sockaddr *) &(line->SocketAddress), sizeof(line->SocketAddress)); #ifdef MS_WINDOWS @@ -516,7 +516,7 @@ void T32_UnInstallAsyncSelect(HWND hwnd) /** Sends a message to T32. Handles segmentation of _message_ into (one or multiple) _packages_. - + @param in pointer to outgoing message (already includes 5 byte message header) @param size size of message @note the message must be allocated such that there is space in @@ -533,11 +533,11 @@ int LINE_LineTransmit(unsigned char * in, int size) line->LastTransmitSize = size; line->LastTransmitSeq = line->TransmitSeq; in -= 4; /* space for packet header */ - + do { packetSize = (size > line->PacketSize - 4) ? line->PacketSize - 4 : size; - /* When sending multiple packets, the packet header is written inside the + /* When sending multiple packets, the packet header is written inside the message's payload. Original contents needs to be saved/restored */ SETLONGVAR(tmpl, in[0]); /* save */ @@ -547,7 +547,7 @@ int LINE_LineTransmit(unsigned char * in, int size) SETWORDVAR(in[2], line->TransmitSeq); /* packet sequence ID */ if (sendto(line->CommSocket, - (char *) in, + (char *) in, packetSize + 4, 0, (struct sockaddr *) & line->SocketAddress, sizeof(line->SocketAddress) ) != packetSize + 4) { @@ -576,9 +576,9 @@ static int ReceiveWithTimeout(struct timeval *tim, unsigned char *dest, int size socklen_t length; struct timeval timeout; LineStruct* line = pLineParams; - + timeout = *tim; - + #ifdef POLL_NET DWORD endpoll; static struct timeval tival = {0}; @@ -657,11 +657,11 @@ retry: /* multiple packets are merged in-place: backup data that is overwritten package aby header */ - SETLONGVAR(tmpl, dest[0]); + SETLONGVAR(tmpl, dest[0]); do { struct timeval PollTime = {0, 0}; - PollTime.tv_sec = line->PollTimeSec; + PollTime.tv_sec = line->PollTimeSec; if ((i = ReceiveWithTimeout(&PollTime, dest, line->PacketSize)) <= 0) { if (i == -2) goto retry; @@ -670,17 +670,17 @@ retry: if (i <= 4) { return -1; } - - + + /* Detect and enqeue async notification that slipped into a request/reply pair */ - if (dest[0] == T32_API_NOTIFICATION) + if (dest[0] == T32_API_NOTIFICATION) { T32_NotificationPackage *newPackage, *oldHead; - + newPackage = reinterpret_cast( malloc(sizeof(T32_NotificationPackage)) ); if (newPackage==NULL) return -1; - + memcpy(newPackage, dest, i); /* in theory i should always be the package size, at least for ethernet */ oldHead = T32_NotificationHead; newPackage->prev = NULL; @@ -693,12 +693,12 @@ retry: } goto retry; } - + if (dest[0] != T32_API_RECEIVE) { return -1; } SETWORDVAR(tmpw, dest[2]); - + if (tmpw == line->LastReceiveSeq && line->LastTransmitSize) { line->TransmitSeq = line->LastTransmitSeq; LINE_LineTransmit(line->LastTransmitBuffer, line->LastTransmitSize); @@ -736,7 +736,7 @@ retry: function until it returns -1. @param package output buffer of size T32_PCKLEN_MAX for the package - @return -1 no notification pending, + @return -1 no notification pending, >=0 notificataion type T32_E_BREAK, T32_E_EDIT, T32_E_BREAKPOINTCONFIG */ @@ -746,7 +746,7 @@ int LINE_ReceiveNotifyMessage(unsigned char* package) { int len; static struct timeval LongTime = {0, 0}; - + /* Check for asynchronous notifications */ if (T32_NotificationTail) { T32_NotificationPackage *prev = T32_NotificationTail->prev; @@ -762,10 +762,10 @@ int LINE_ReceiveNotifyMessage(unsigned char* package) if (len < 2) return -1; } - + if (package[0] != T32_API_NOTIFICATION) return -1; - + return package[1]; /* type of notification: T32_E_BREAK, T32_E_EDIT, T32_E_BREAKPOINTCONFIG */ } @@ -811,7 +811,7 @@ retry: line->LastReceiveSeq = line->ReceiveSeq - 100; - packet[0] = T32_API_SYNCBACK; + packet[0] = T32_API_SYNCBACK; packet[1] = 0; SETWORDVAR(packet[2], line->TransmitSeq); SETWORDCONST(packet[4], 0); diff --git a/hwdebuggers/t32/api/hremote.cc b/debuggers/t32/api/hremote.cc similarity index 100% rename from hwdebuggers/t32/api/hremote.cc rename to debuggers/t32/api/hremote.cc diff --git a/hwdebuggers/t32/include/t32.h b/debuggers/t32/include/t32.h similarity index 99% rename from hwdebuggers/t32/include/t32.h rename to debuggers/t32/include/t32.h index 0c9ea823..bcb872f4 100644 --- a/hwdebuggers/t32/include/t32.h +++ b/debuggers/t32/include/t32.h @@ -1,3 +1,5 @@ +#ifndef __T32_H__ +#define __T32_H__ #include @@ -120,14 +122,14 @@ typedef unsigned int dword; /* Callbacks should have the following protoypes */ /************************* WARNING *****************************/ -/* +/* * If you add more callback functions here, make sure you ONLY * use 'int', 'unsigned int', 'integral-type *' or 'float-type *' as parameters. - * - * No 'long', no 'long long', no 'short', no 'char', no floats, no typedefs + * + * No 'long', no 'long long', no 'short', no 'char', no floats, no typedefs * and no function pointers! * This is because we absolutely need to avoid portability problems here. - * + * * Explanation: * The T32_NotificationCallback_t typedef'd below has an empty parameter list, * which we can't change anymore to a va_list because of backwards compatibility. @@ -360,3 +362,5 @@ extern void* T32_GetChannel0(void); #ifdef __cplusplus } #endif +#endif + diff --git a/hwdebuggers/t32/src/CMakeLists.txt b/debuggers/t32/src/CMakeLists.txt similarity index 59% rename from hwdebuggers/t32/src/CMakeLists.txt rename to debuggers/t32/src/CMakeLists.txt index 757040d9..e84d7466 100644 --- a/hwdebuggers/t32/src/CMakeLists.txt +++ b/debuggers/t32/src/CMakeLists.txt @@ -1,5 +1,5 @@ set(SRCS - t32connector.cc + T32Connector.cc ) add_executable(fail-client ${SRCS}) @@ -7,3 +7,5 @@ target_link_libraries(fail-client -Wl,-whole-archive t32api -Wl,-no-whole-archiv install(TARGETS fail-client RUNTIME DESTINATION bin) +add_executable(t32cli t32cli.cc) +target_link_libraries(t32cli -Wl,-whole-archive t32api -Wl,-no-whole-archive) diff --git a/debuggers/t32/src/T32Connector.cc b/debuggers/t32/src/T32Connector.cc new file mode 100644 index 00000000..73d9ebb4 --- /dev/null +++ b/debuggers/t32/src/T32Connector.cc @@ -0,0 +1,61 @@ +/** + * FailT32 -- Fault Injection on the Lauterbach Trace32 System + * + * 1. Invoke t32 executable with appropriate Lauterbach Skript + * - Script has to load binary + * - and let system run until entry point + * -> Then we have a readily configured system + * + * @author Martin Hoffmann + * @date 15.02.2013 + */ + +#include +#include +#include +#include + +#include "config/VariantConfig.hpp" +#include "sal/SALInst.hpp" + + +using namespace std; + +/* Default T32 error handler */ +void err(int ernum){ + if(err != 0){ + cerr << "Error: " << err << endl; + //exit(-1); + } +} + + +/* Here we go... */ +int main(int argc, char** argv){ + + // Evaluate arguments + + // Setup connection to Lauterbach + cout << "Lauterbach remote connection" << endl; + int error; + char hostname[] = "localhost"; + char packlen[] = "1024"; + char port[] = "20010"; + + cout << "[T32] Connecting to " << hostname << ":" << port << " Packlen: " << packlen << endl; + T32_Config("NODE=", hostname); + T32_Config("PACKLEN=", packlen); + T32_Config("PORT=", port); + + cout << "[T32] Init." << endl; + err(T32_Init()); + + cout << "[T32] Attach." << endl; + err(T32_Attach(T32_DEV_ICD)); + + + // Let the SimulatorController do the dirty work. + fail::simulator.startup(); + + return 0; +} diff --git a/debuggers/t32/src/T32Connector.hpp b/debuggers/t32/src/T32Connector.hpp new file mode 100644 index 00000000..1a60f38e --- /dev/null +++ b/debuggers/t32/src/T32Connector.hpp @@ -0,0 +1,24 @@ +#ifndef __T32_CONNECTOR_HPP__ + #define __T32_CONNECTOR_HPP__ + +#include + +namespace fail { + +/** + * \class T32Connector + */ +class T32Connector { +public: + + + /** + * Save simulator state. Quite hard on real hardware! Also safe all HW registers! + * @param path Location to store state information + * @return \c true if the state has been successfully saved, \c false otherwise + */ +}; + +} // end-of-namespace: fail + +#endif // __T32_CONNECTOR_HPP__ diff --git a/hwdebuggers/t32/src/t32connector.cc b/debuggers/t32/src/t32cli.cc similarity index 100% rename from hwdebuggers/t32/src/t32connector.cc rename to debuggers/t32/src/t32cli.cc diff --git a/doc/t32_remote_api.pdf b/doc/t32_remote_api.pdf new file mode 100644 index 0000000000000000000000000000000000000000..590117bb1c3c4af2d68ac212648dccca7c1cd834 GIT binary patch literal 410933 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%0Aube`?=d$QO2$BpyX*ENm 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⪼ROb4ZfB%Gc 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 { } - + size_t getPoolSize() const { return m_Mem->totalSize(); } host_address_t getStartAddr() const { return 0; } diff --git a/src/core/sal/t32/T32ArmCPU.cc b/src/core/sal/t32/T32ArmCPU.cc new file mode 100644 index 00000000..20b40003 --- /dev/null +++ b/src/core/sal/t32/T32ArmCPU.cc @@ -0,0 +1,53 @@ +#include "T32ArmCPU.hpp" +#include +#include + +namespace fail { + +regdata_t T32ArmCPU::getRegisterContent(Register* reg) const +{ + // T32_ReadRegister wants a mask of bits representig the registers to read: + // e.g., reading R1 and R4 and R63 + // mask1 + // 0000 0000 0000 0000 0001 0010 -> R1/R4 + // mask2 + // 1000 0000 0000 0000 0001 0010 -> R63 + uint64_t mask = (1 << reg->getIndex()); + + if(mask){ + if( T32_ReadRegister(static_cast(mask & 0xffffffff), static_cast(mask >> 32), m_regbuffer) == 0 ){ + // No error, return value. + return m_regbuffer[reg->getIndex()]; + } else { + /// TODO Error handling! + } + } + return 0; // we should not come here. +} + +void T32ArmCPU::setRegisterContent(Register* reg, regdata_t value) +{ + uint64_t mask = (1 << reg->getIndex()); + + if(mask){ + if( T32_WriteRegister(static_cast(mask & 0xffffffff), static_cast(mask >> 32), m_regbuffer) == 0 ){ + // No error, return value. + return; + } else { + /// TODO Error handling! + } + } +} + + +address_t T32ArmCPU::getInstructionPointer() const +{ + // TODO: programpointer is only valid when Emulation is stopped! -> T32_GetState) + address_t programpointer; + T32_ReadPP( &programpointer ); + return programpointer; +} + +} // end-of-namespace: fail + + diff --git a/src/core/sal/t32/T32ArmCPU.hpp b/src/core/sal/t32/T32ArmCPU.hpp new file mode 100644 index 00000000..a4464e88 --- /dev/null +++ b/src/core/sal/t32/T32ArmCPU.hpp @@ -0,0 +1,75 @@ +#ifndef __T32_ARM_CPU_HPP__ + #define __T32_ARM_CPU_HPP__ + +#include "../arm/Architecture.hpp" +#include "../arm/CPUState.hpp" +#include + +namespace fail { + +/** + * \class T32ArmCPU + * + * \c T32ArmCPU is the concrete CPU implementation for the T32 ARM debugger. It + * implements the CPU interfaces \c ArmArchitecture and \c ArmCPUState. + * \c ArmArchitecture refers to architectural information (e.g. register \a count) + * while \c ArmCPUState encapsulates the CPU state (e.g. register \a content). + */ +class T32ArmCPU : public ArmArchitecture, public ArmCPUState { +public: + /** + * Creates a new gem5 CPU for ARM based targets. + * @param id the unique ID of the CPU to be created (the first CPU0 has ID 0) + * @param system the gem5 system object + */ + T32ArmCPU(unsigned int id = 0) : m_Id(id) { } + virtual ~T32ArmCPU() { } + /** + * Retrieves the register content from the current CPU. + * @param reg the destination register whose content should be retrieved + * @return the content of register \c reg + */ + regdata_t getRegisterContent(Register* reg) const; + /** + * Sets the register content for the \a current CPU. + * @param reg the (initialized) register object whose content should be set + * @param value the new content of the register \c reg + */ + void setRegisterContent(Register* reg, regdata_t value); + /** + * Retrieves the current instruction pointer (IP aka program counter, PC for short) + * for the current CPU \c this. + * @return the current instruction ptr address + */ + address_t getInstructionPointer() const; + + /** + * Retrieves the current stack pointer for the current CPU \c this. + * @return the current stack ptr address + */ + address_t getStackPointer() const { return getRegisterContent(getRegister(RI_SP)); } + /** + * Retrieves the link register (return address when a function returns) for + * the current CPU \c this. See + * http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0211h/ch02s08s01.html + * for further information. + * @return the current link register address + */ + address_t getLinkRegister() const { return getRegisterContent(getRegister(RI_LR)); } + /** + * Returns the ID of the current CPU. + * @return the unique ID of \c this CPU object + */ + unsigned int getId() const { return m_Id; } +private: + unsigned int m_Id; //!< the unique ID of this CPU + mutable dword m_regbuffer[64]; //!< internal buffer for reading/writing registers, wow mutable really makes sense sometimes. + // char* cpuname? OMAP4430APP1 ?? + +}; + +typedef T32ArmCPU ConcreteCPU; //!< the concrete CPU type for ARM + T32 + +} // end-of-namespace: fail + +#endif // __T32_ARM_CPU_HPP__ diff --git a/src/core/sal/t32/T32Config.hpp b/src/core/sal/t32/T32Config.hpp index fe80cdbf..1f20333d 100644 --- a/src/core/sal/t32/T32Config.hpp +++ b/src/core/sal/t32/T32Config.hpp @@ -1,6 +1,6 @@ /** * \brief Type definitions and configuration settings for the - * T32 target backend. + * T32 target backend. */ #ifndef __T32_CONFIG_HPP__ @@ -13,7 +13,8 @@ namespace fail { typedef uint32_t guest_address_t; //!< the guest memory address type typedef unsigned char* host_address_t; //!< the host memory address type typedef uint32_t register_data_t; //!< register data type (64 bit) -typedef T32Timer* timer_t; //!< type of timer IDs +typedef int timer_t; //!< type of timer IDs +//typedef T32Timer* timer_t; //!< type of timer IDs } // end-of-namespace: fail diff --git a/src/core/sal/t32/T32Connector.cc b/src/core/sal/t32/T32Connector.cc new file mode 100644 index 00000000..b94165d7 --- /dev/null +++ b/src/core/sal/t32/T32Connector.cc @@ -0,0 +1,56 @@ +/** + * FailT32 -- Fault Injection on the Lauterbach Trace32 System + * + * 1. Invoke t32 executable with appropriate Lauterbach Skript + * - Script has to load binary + * - and let system run until entry point + * -> Then we have a readily configured system + * + * @author Martin Hoffmann + * @date 15.02.2013 + */ + +#include +#include +#include +#include + +using namespace std; + +/* Default T32 error handler */ +void err(int ernum){ + if(err != 0){ + cerr << "Error: " << err << endl; + //exit(-1); + } +} + + + +/* Here we go... */ +int main(int argc, char** argv){ + + // Evaluate arguments + + // Setup connection to Lauterbach + cout << "Lauterbach remote connection" << endl; + int error; + char hostname[] = "localhost"; + char packlen[] = "1024"; + char port[] = "20010"; + + cout << "[T32] Connecting to " << hostname << ":" << port << " Packlen: " << packlen << endl; + T32_Config("NODE=", hostname); + T32_Config("PACKLEN=", packlen); + T32_Config("PORT=", port); + + cout << "[T32] Init." << endl; + err(T32_Init()); + + cout << "[T32] Attach." << endl; + err(T32_Attach(T32_DEV_ICD)); + + + // Let simulatorcontroller do the work. + +} diff --git a/src/core/sal/t32/T32Connector.hpp b/src/core/sal/t32/T32Connector.hpp new file mode 100644 index 00000000..1a60f38e --- /dev/null +++ b/src/core/sal/t32/T32Connector.hpp @@ -0,0 +1,24 @@ +#ifndef __T32_CONNECTOR_HPP__ + #define __T32_CONNECTOR_HPP__ + +#include + +namespace fail { + +/** + * \class T32Connector + */ +class T32Connector { +public: + + + /** + * Save simulator state. Quite hard on real hardware! Also safe all HW registers! + * @param path Location to store state information + * @return \c true if the state has been successfully saved, \c false otherwise + */ +}; + +} // end-of-namespace: fail + +#endif // __T32_CONNECTOR_HPP__ diff --git a/src/core/sal/t32/T32Controller.cc b/src/core/sal/t32/T32Controller.cc index 425efceb..2035236c 100644 --- a/src/core/sal/t32/T32Controller.cc +++ b/src/core/sal/t32/T32Controller.cc @@ -1,23 +1,26 @@ -#include - #include "T32Controller.hpp" -#include "T32Memory.hpp" -#include "T32Register.hpp" -#include "../Register.hpp" -#include "../SALInst.hpp" +#include "T32Connector.hpp" + +#include "../Listener.hpp" + namespace fail { -T32Controller::T32Controller() - : SimulatorController(new T32RegisterManager(), new T32MemoryManager()) -{ - // TODO: probably do additional RegisterManager initializations +void T32Controller::startup(){ + // Do some T32-specific startup + addCPU(new ConcreteCPU(0)); + // Startup generic SimulatorController + SimulatorController::startup(); } + T32Controller::~T32Controller() { - delete m_Regs; - delete m_Mem; + std::vector::iterator it = m_CPUs.begin(); + while (it != m_CPUs.end()) { + delete *it; + it = m_CPUs.erase(it); + } } diff --git a/src/core/sal/t32/T32Controller.hpp b/src/core/sal/t32/T32Controller.hpp index b6712323..7ed6da9c 100644 --- a/src/core/sal/t32/T32Controller.hpp +++ b/src/core/sal/t32/T32Controller.hpp @@ -1,27 +1,18 @@ #ifndef __T32_CONTROLLER_HPP__ #define __T32_CONTROLLER_HPP__ -#include -#include -#include -#include -#include - #include "../SimulatorController.hpp" +#include "T32Memory.hpp" namespace fail { -class ExperimentFlow; -class TimerListener; - /** * \class T32Controller * Very rudimentary, T32-specific implementation of a SimulatorController. */ class T32Controller : public SimulatorController { public: - // Initialize the controller. - T32Controller(); + void startup(); ~T32Controller(); @@ -29,8 +20,7 @@ public: * Simulator Controller & Access API: * ********************************************************************/ /** - * Save simulator state. Quite hard on real hardware! Also safe all - * HW registers! + * Save simulator state. Quite hard on real hardware! Also safe all HW registers! TODO * @param path Location to store state information * @return \c true if the state has been successfully saved, \c false otherwise */ diff --git a/src/core/sal/t32/T32Listener.ah b/src/core/sal/t32/T32Listener.ah index d7e9e01e..b27cbc02 100644 --- a/src/core/sal/t32/T32Listener.ah +++ b/src/core/sal/t32/T32Listener.ah @@ -1,8 +1,8 @@ #ifndef __T32LISTENER_AH__ #define __T32LISTENER_AH__ -#include "config/VariantConfig.hpp" #include "config/FailConfig.hpp" +#include "config/VariantConfig.hpp" #if defined(BUILD_T32) && defined(CONFIG_EVENT_BREAKPOINTS) @@ -10,23 +10,22 @@ aspect T32Listener - advice "fail::MemWriteListener" : slice class + advice "fail::BPSingleListener" : slice class { public: bool onAddition() { - //std::cout << "T32MemWriteListener::onAddition" << std::endl; - //if (failqemu_add_watchpoint(simulator.m_cpuenv, m_WatchAddr, m_WatchWidth, 1) != 0) { - // std::cout << "adding watchpoint failed!" << std::endl; - return false; - //} - //return true; + + // Setup Breakpoint in T32 + std::cout << "T32Listener::onAddition" << std::endl; + + + return true; } void onDeletion() { - //std::cout << "T32MemWriteListener::onDeletion" << std::endl; - //failqemu_remove_watchpoint(simulator.m_cpuenv, m_WatchAddr, m_WatchWidth, 1); + // Delete Breakpoint in T32 } }; }; diff --git a/src/core/sal/t32/T32Memory.hpp b/src/core/sal/t32/T32Memory.hpp index 17cf326e..7b397605 100644 --- a/src/core/sal/t32/T32Memory.hpp +++ b/src/core/sal/t32/T32Memory.hpp @@ -3,6 +3,8 @@ #include "../Memory.hpp" +#include + namespace fail { /** @@ -11,29 +13,44 @@ namespace fail { * MemoryManager to provide access to T32's memory pool. */ class T32MemoryManager : public MemoryManager { + + enum ACCESS_CLASS { + data_access = 0, + program_access = 1, + AD_access = 12, + AP_access = 13, + USR_access = 15, + }; + public: size_t getPoolSize() const { return 0; /* TODO */ } + host_address_t getStartAddr() const { return 0; } + byte_t getByte(guest_address_t addr) { - return 0; //failqemu_mem_read_byte(addr); - } + char b; + getBytes(addr, 1, &b); + return b; + } + void getBytes(guest_address_t addr, size_t cnt, void *dest) { - char *d = static_cast(dest); - for (size_t i = 0; i < cnt; ++i) - d[i] = 0; //getByte(addr + i); + int access = data_access; // TODO what access class do we need?! + T32_ReadMemory( addr, access, (byte*)(dest), cnt); } + void setByte(guest_address_t addr, byte_t data) { - //failqemu_mem_write_byte(addr, data); + setBytes(addr, 1, &data); } + void setBytes(guest_address_t addr, size_t cnt, void const *src) { - //char const *s = static_cast(src); - for (size_t i = 0; i < cnt; ++i) - ; //setByte(addr + i, s[i]); + int access = data_access; // TODO what access class do we really need?! + T32_WriteMemory(addr, access, (byte*)(src), cnt); } + }; } // end-of-namespace: fail diff --git a/src/core/sal/t32/T32Mock.ah b/src/core/sal/t32/T32Mock.ah new file mode 100644 index 00000000..eeed5b32 --- /dev/null +++ b/src/core/sal/t32/T32Mock.ah @@ -0,0 +1,26 @@ +#ifndef __T32MOCK_AH__ + #define __T32MOCK_AH__ + +#include + +#if defined(BUILD_T32) // && defined(T32MOCK) + +/* Mock aspect for testing without T32 HW attached. */ +aspect T32Mock +{ + advice call("% T32_% (...)") : around () + { + std::cout << "[T32 MOCK] " << JoinPoint::signature() << " ("; + + for(int i = 0; i < tjp->args(); i++) { + std::cout << std::hex << *((int*)( tjp->arg(i) ) ); + if(i < tjp->args()-1) std::cout << ", "; + } + std::cout << ")" << std::endl; + + *tjp->result() = 0; + } +}; + +#endif // BUILD_T32 && CONFIG_EVENT_BREAKPOINTS +#endif // __T32MOCK_AH__ diff --git a/src/core/sal/t32/T32Register.hpp b/src/core/sal/t32/T32Register.hpp deleted file mode 100644 index 06b1df18..00000000 --- a/src/core/sal/t32/T32Register.hpp +++ /dev/null @@ -1,45 +0,0 @@ -#ifndef __T32_REGISTER_HPP__ - #define __T32_REGISTER_HPP__ - -#include "../Register.hpp" - -#include -#include - -namespace fail { - -/** - * \class T32Register - * T32-specific implementation of ?? registers. TODO. - */ -class T32Register : public Register { -public: - T32Register(unsigned int id, regwidth_t width, regdata_t* link, RegisterType t) - : Register(id, t, width) { } - regdata_t getData() { return 0; /* TODO */ } - void setData(regdata_t data) { /* TODO */ } -}; - -/** - * \class T32RegisterManager - * T32-specific implementation of the RegisterManager. TODO. - */ -class T32RegisterManager : public RegisterManager { -public: - address_t getInstructionPointer() - { - return static_cast(0); /* TODO */ - } - address_t getStackPointer() - { - return static_cast(0); /* TODO */ - } - address_t getBasePointer() - { - return static_cast(0); /* TODO */ - } -}; - -} // end-of-namespace: fail - -#endif // __T32_REGISTER_HPP__ diff --git a/src/experiments/vezs-example/experiment.cc b/src/experiments/vezs-example/experiment.cc index 28002cbe..f2ccb037 100644 --- a/src/experiments/vezs-example/experiment.cc +++ b/src/experiments/vezs-example/experiment.cc @@ -14,83 +14,24 @@ #include "sal/Memory.hpp" #include "sal/Listener.hpp" -#include "sal/bochs/BochsListener.hpp" #include using namespace std; using namespace fail; -// Check if configuration dependencies are satisfied: -#if !defined(CONFIG_EVENT_BREAKPOINTS) || !defined(CONFIG_SR_RESTORE) || \ - !defined(CONFIG_SR_SAVE) -#error This experiment needs: breakpoints, traps, save, and restore. Enable these in the configuration. -#endif - -#define SAVESTATE (0) - -void VEZSExperiment::printEIP() { - m_log << "EIP = 0x" << hex << simulator.getCPU(0).getInstructionPointer() <<" "<< m_elf.getNameByAddress(simulator.getCPU(0).getInstructionPointer()) << endl; -} - -std::vector v; bool VEZSExperiment::run() { m_log << "STARTING EXPERIMENT" << endl; - printEIP(); + m_log << "Instruction Pointer: 0x" << hex << simulator.getCPU(0).getInstructionPointer() << endl; -#if(SAVESTATE) - m_log << "Booting, and saving state at "; - BPSingleListener bp; - // STEP 1: run until interesting function starts, and save state - bp.setWatchInstructionPointer(m_elf.getAddressByName("main")); - if(simulator.addListenerAndResume(&bp) == &bp){ - m_log << "test function entry reached, saving state" << endl; - } - printEIP(); - //simulator.terminate(); - simulator.save("vezs.state"); + Register* reg = simulator.getCPU(0).getRegister(RI_R1); + m_log << "Register R2: 0x" << hex << simulator.getCPU(0).getRegisterContent(reg) << endl; + + reg = simulator.getCPU(0).getRegister(RI_R2); + m_log << "Register R1: 0x" << hex << simulator.getCPU(0).getRegisterContent(reg) << endl; + + simulator.getCPU(0).setRegisterContent(reg, 0x23); + // Explicitly terminate, or the simulator will continue to run. simulator.terminate(); -#else - simulator.restore("vezs.state"); - //m_elf.printDemangled(); - BPSingleListener bpt0; - BPSingleListener bpt1; - BPSingleListener bpt2; - //BPSingleListener inst(ANY_ADDR); - //bpt0.setWatchInstructionPointer(m_elf.getAddressByName("c17_Main_m4_dumpResults_console")); - //bpt0.setWatchInstructionPointer(m_elf.getAddressByName("keso_throw_error")); - //bpt1.setWatchInstructionPointer(m_elf.getAddressByName("c17_Main_m3_run")); - bpt2.setWatchInstructionPointer(m_elf.getAddressByName("os::krn::OSControl::shutdownOS")); - //simulator.addListener(&bpt0); - //simulator.addListener(&bpt1); - //simulator.addListener(&bpt2); - simulator.addListener(&bpt2); - fail::BaseListener* l = simulator.resume(); - printEIP(); - simulator.terminate(); - while(1){ - if(simulator.getCPU(0).getInstructionPointer() == m_elf.getAddressByName("os::krn::OSControl::shutdownOS")) { - printEIP(); - break; - }else{ - //std::string name = m_elf.getNameByAddress(simulator.getCPU(0).getInstructionPointer()); - //if(name != ElfReader::NOTFOUND){ - // v.push_back(name); - //} - printEIP(); - l = simulator.addListenerAndResume(l); - } - } - - // simulator.clearListeners(); -// bpt1.setWatchInstructionPointer(m_elf.getAddressByName("os::krn::SchedImpl::superDispatch_impl")); -// for(;;){ -// simulator.addListenerAndResume(&bpt1); -// printEIP(); -// } - -// Explicitly terminate, or the simulator will continue to run. -#endif -simulator.terminate(); } diff --git a/src/experiments/vezs-example/experiment.hpp b/src/experiments/vezs-example/experiment.hpp index f32d7733..b3eb8ad8 100644 --- a/src/experiments/vezs-example/experiment.hpp +++ b/src/experiments/vezs-example/experiment.hpp @@ -1,19 +1,15 @@ #ifndef __CHECKSUM_OOSTUBS_EXPERIMENT_HPP__ #define __CHECKSUM_OOSTUBS_EXPERIMENT_HPP__ - + #include "efw/ExperimentFlow.hpp" #include "efw/JobClient.hpp" #include "util/Logger.hpp" -#include "util/ElfReader.hpp" class VEZSExperiment : public fail::ExperimentFlow { fail::JobClient m_jc; - fail::ElfReader m_elf; fail::Logger m_log; - void printEIP(); - public: VEZSExperiment() : m_log("VEZS-example", false) {}; bool run();