[Add] software simulator add

This commit is contained in:
bLueriVerLHR
2023-05-11 17:55:41 +08:00
parent 4e39007d17
commit 0bf1c68d94
16 changed files with 535 additions and 10 deletions

View File

@@ -1 +1,33 @@
int fetch();
#pragma once
#include <cstdint>
#include <cstdlib>
#include <map>
#include <device.hh>
class SystemBus {
std::map<uint64_t, Device *> iomap;
std::pair<const uint64_t, Device *> &finddev(uint64_t addr);
public:
SystemBus() = default;
void regdev(Device *dev, uint64_t addr);
void write(char *buf, size_t addr, size_t len);
void read(char *buf, size_t addr, size_t len);
void write64(uint64_t &dword, size_t addr);
void read64(uint64_t &dword, size_t addr);
void write32(uint32_t &word, size_t addr);
void read32(uint32_t &word, size_t addr);
void write16(uint16_t &hword, size_t addr);
void read16(uint16_t &hword, size_t addr);
void write8(uint8_t &byte, size_t addr);
void read8(uint8_t &byte, size_t addr);
};