Unifying kernel modules and user modules to XModule. XexLoadImage/etc.

This commit is contained in:
Ben Vanik
2014-01-11 17:24:09 -08:00
parent 7d6db5a6b6
commit dc496e8102
20 changed files with 510 additions and 397 deletions

View File

@@ -15,14 +15,15 @@
#include <xenia/export_resolver.h>
#include <xenia/xbox.h>
#include <xenia/kernel/kernel_module.h>
#include <xenia/kernel/object_table.h>
#include <xenia/kernel/fs/filesystem.h>
XEDECLARECLASS1(xe, Emulator);
XEDECLARECLASS2(xe, cpu, Processor);
XEDECLARECLASS2(xe, kernel, XModule);
XEDECLARECLASS2(xe, kernel, XThread);
XEDECLARECLASS2(xe, kernel, XUserModule);
XEDECLARECLASS3(xe, kernel, fs, FileSystem);
@@ -45,8 +46,8 @@ public:
ObjectTable* object_table() const { return object_table_; }
XModule* GetModule(const char* name);
XModule* GetExecutableModule();
void SetExecutableModule(XModule* module);
XUserModule* GetExecutableModule();
void SetExecutableModule(XUserModule* module);
void RegisterThread(XThread* thread);
void UnregisterThread(XThread* thread);
@@ -62,7 +63,7 @@ private:
xe_mutex_t* object_mutex_;
std::unordered_map<uint32_t, XThread*> threads_by_id_;
XModule* executable_module_;
XUserModule* executable_module_;
friend class XObject;
};