Added video submodule for xboxkrnl and xam modules.

This commit is contained in:
Rick Gibbed 2013-05-26 22:42:07 -07:00
parent 9eadffe461
commit 78ee6c9ee9
7 changed files with 17 additions and 8 deletions

View File

@ -10,5 +10,7 @@
'xam_state.cc',
'xam_state.h',
'xam_table.inc',
'xam_video.cc',
'xam_video.h',
],
}

View File

@ -42,6 +42,7 @@ XamModule::XamModule(Runtime* runtime) :
// Register all exported functions.
RegisterInfoExports(export_resolver_.get(), xam_state.get());
RegisterVideoExports(export_resolver_.get(), xam_state.get());
}
XamModule::~XamModule() {

View File

@ -31,6 +31,7 @@ extern XamState* shared_xam_state_;
// Registration functions, one per file.
void RegisterInfoExports(ExportResolver* export_resolver, XamState* state);
void RegisterVideoExports(ExportResolver* export_resolver, XamState* state);
} // namespace xam

View File

@ -56,6 +56,7 @@ XboxkrnlModule::XboxkrnlModule(Runtime* runtime) :
RegisterModuleExports(resolver, kernel_state_.get());
RegisterRtlExports(resolver, kernel_state_.get());
RegisterThreadingExports(resolver, kernel_state_.get());
RegisterVideoExports(resolver, kernel_state_.get());
// TODO(benvanik): alloc heap memory somewhere in user space
// TODO(benvanik): tools for reading/writing to heap memory

View File

@ -23,6 +23,7 @@
#include <xenia/kernel/modules/xboxkrnl/xboxkrnl_module.h>
#include <xenia/kernel/modules/xboxkrnl/xboxkrnl_rtl.h>
#include <xenia/kernel/modules/xboxkrnl/xboxkrnl_threading.h>
#include <xenia/kernel/modules/xboxkrnl/xboxkrnl_video.h>
namespace xe {

View File

@ -18,6 +18,8 @@
'xboxkrnl_table.inc',
'xboxkrnl_threading.cc',
'xboxkrnl_threading.h',
'xboxkrnl_video.cc',
'xboxkrnl_video.h',
'xobject.cc',
'xobject.h',
],

View File

@ -22,20 +22,21 @@ namespace xboxkrnl {
class KernelState;
// This is a global object initialized with the XboxkrnlModule.
// It references the current kernel state object that all kernel methods should
// This is a global object initialized with the XboxkrnlModule.
// It references the current kernel state object that all kernel methods should
// be using to stash their variables.
extern KernelState* shared_kernel_state_;
// Registration functions, one per file.
void RegisterHalExports(ExportResolver* export_resolver, KernelState* state);
// Registration functions, one per file.
void RegisterHalExports(ExportResolver* export_resolver, KernelState* state);
void RegisterMemoryExports(ExportResolver* export_resolver, KernelState* state);
void RegisterModuleExports(ExportResolver* export_resolver, KernelState* state);
void RegisterRtlExports(ExportResolver* export_resolver, KernelState* state);
void RegisterThreadingExports(ExportResolver* export_resolver,
void RegisterModuleExports(ExportResolver* export_resolver, KernelState* state);
void RegisterRtlExports(ExportResolver* export_resolver, KernelState* state);
void RegisterThreadingExports(ExportResolver* export_resolver,
KernelState* state);
void RegisterVideoExports(ExportResolver* export_resolver, KernelState* state);
} // namespace xboxkrnl