simX openfile working

This commit is contained in:
fares
2019-11-18 15:10:29 -05:00
parent dcf9cd3c80
commit 3bc2f449e4
16 changed files with 93315 additions and 120639 deletions

View File

@@ -8,7 +8,7 @@
#include <vector>
#include <queue>
#include <map>
#include <pthread.h>
// #include <pthread.h>
#include "types.h"
@@ -53,32 +53,32 @@ namespace Harp {
};
class Core;
class ConsoleMemDevice : public MemDevice {
public:
ConsoleMemDevice(Size wS, std::ostream &o, Core &core, bool batch = false);
~ConsoleMemDevice() {}
// class ConsoleMemDevice : public MemDevice {
// public:
// ConsoleMemDevice(Size wS, std::ostream &o, Core &core, bool batch = false);
// ~ConsoleMemDevice() {}
//virtual Size wordSize() const { return wordSize; }
virtual Size size() const { return wordSize; }
virtual Word read(Addr) { pthread_mutex_lock(&cBufLock);
char c = cBuf.front();
cBuf.pop();
pthread_mutex_unlock(&cBufLock);
return Word(c); }
virtual void write(Addr a, Word w) { output << char(w); }
// //virtual Size wordSize() const { return wordSize; }
// virtual Size size() const { return wordSize; }
// virtual Word read(Addr) { pthread_mutex_lock(&cBufLock);
// char c = cBuf.front();
// cBuf.pop();
// pthread_mutex_unlock(&cBufLock);
// return Word(c); }
// virtual void write(Addr a, Word w) { output << char(w); }
void poll();
// void poll();
friend void *Harp::consoleInputThread(void *);
// friend void *Harp::consoleInputThread(void *);
private:
std::ostream &output;
Size wordSize;
Core &core;
// private:
// std::ostream &output;
// Size wordSize;
// Core &core;
std::queue<char> cBuf;
pthread_mutex_t cBufLock;
};
// std::queue<char> cBuf;
// pthread_mutex_t cBufLock;
// };
class DiskControllerMemDevice : public MemDevice {
public: