aboutsummaryrefslogtreecommitdiff
path: root/qtmips_machine/programloader.h
diff options
context:
space:
mode:
authorKarel Kočí <cynerd@email.cz>2017-11-19 21:23:04 +0100
committerKarel Kočí <cynerd@email.cz>2017-11-19 21:23:04 +0100
commitf0ad502e4651243d6a96194b3393bd460c0f7fc9 (patch)
tree4f912c24b5943bd93b5a3378df75f9611de6779b /qtmips_machine/programloader.h
parent2c6562fa78e884d66b8c2a306f020101e8803f2e (diff)
downloadqtmips-f0ad502e4651243d6a96194b3393bd460c0f7fc9.tar.gz
qtmips-f0ad502e4651243d6a96194b3393bd460c0f7fc9.tar.bz2
qtmips-f0ad502e4651243d6a96194b3393bd460c0f7fc9.zip
Another huge pile of work for about two months
Well I should commit every change instead of this madness. I am not documenting changes as all this is just improvements and implementation progression.
Diffstat (limited to 'qtmips_machine/programloader.h')
-rw-r--r--qtmips_machine/programloader.h10
1 files changed, 6 insertions, 4 deletions
diff --git a/qtmips_machine/programloader.h b/qtmips_machine/programloader.h
index 4d722d2..7da241c 100644
--- a/qtmips_machine/programloader.h
+++ b/qtmips_machine/programloader.h
@@ -6,16 +6,18 @@
#include <gelf.h>
#include <cstdint>
#include <qvector.h>
+#include <qstring.h>
+#include "memory.h"
class ProgramLoader {
public:
- ProgramLoader(char *file);
+ ProgramLoader(const char *file);
+ ProgramLoader(QString file);
~ProgramLoader();
- size_t get_nsec(); // Returns number of loadable sections
- std::uint32_t get_address(size_t sec); // Get target address for given section
- QVector<std::uint8_t> get_data(size_t sec); // Returns bytes of given section
+ void to_memory(Memory *mem); // Writes all loaded sections to memory
+ std::uint32_t end(); // Return address after which there is no more code for sure
private:
int fd;
Elf *elf;