Renamed xboxkrnl_file* to xboxkrnl_nt*, added xboxkrnl_io*.

This commit is contained in:
gibbed 2013-10-15 19:18:03 -07:00
parent f59ff2e44a
commit d79bd8cfa7
7 changed files with 82 additions and 12 deletions

View File

@ -52,11 +52,12 @@ XboxkrnlModule::XboxkrnlModule(Runtime* runtime) :
// Register all exported functions.
RegisterDebugExports(resolver, kernel_state_.get());
RegisterFileExports(resolver, kernel_state_.get());
RegisterHalExports(resolver, kernel_state_.get());
RegisterIoExports(resolver, kernel_state_.get());
RegisterMemoryExports(resolver, kernel_state_.get());
RegisterMiscExports(resolver, kernel_state_.get());
RegisterModuleExports(resolver, kernel_state_.get());
RegisterNtExports(resolver, kernel_state_.get());
RegisterRtlExports(resolver, kernel_state_.get());
RegisterThreadingExports(resolver, kernel_state_.get());
RegisterVideoExports(resolver, kernel_state_.get());

View File

@ -9,16 +9,18 @@
'object_table.h',
'xboxkrnl_debug.cc',
'xboxkrnl_debug.h',
'xboxkrnl_file.cc',
'xboxkrnl_file.h',
'xboxkrnl_hal.cc',
'xboxkrnl_hal.h',
'xboxkrnl_io.cc',
'xboxkrnl_io.h',
'xboxkrnl_memory.cc',
'xboxkrnl_memory.h',
'xboxkrnl_misc.cc',
'xboxkrnl_misc.h',
'xboxkrnl_module.cc',
'xboxkrnl_module.h',
'xboxkrnl_nt.cc',
'xboxkrnl_nt.h',
'xboxkrnl_ordinals.h',
'xboxkrnl_private.h',
'xboxkrnl_rtl.cc',

View File

@ -0,0 +1,37 @@
/**
******************************************************************************
* Xenia : Xbox 360 Emulator Research Project *
******************************************************************************
* Copyright 2013 Ben Vanik. All rights reserved. *
* Released under the BSD license - see LICENSE in the root for more details. *
******************************************************************************
*/
#include <xenia/kernel/modules/xboxkrnl/xboxkrnl_io.h>
#include <xenia/kernel/shim_utils.h>
#include <xenia/kernel/modules/xboxkrnl/kernel_state.h>
#include <xenia/kernel/modules/xboxkrnl/xboxkrnl_private.h>
#include <xenia/kernel/modules/xboxkrnl/objects/xthread.h>
using namespace xe;
using namespace xe::kernel;
using namespace xe::kernel::xboxkrnl;
namespace xe {
namespace kernel {
namespace xboxkrnl {
} // namespace xboxkrnl
} // namespace kernel
} // namespace xe
void xe::kernel::xboxkrnl::RegisterIoExports(
ExportResolver* export_resolver, KernelState* state) {
}

View File

@ -7,8 +7,8 @@
******************************************************************************
*/
#ifndef XENIA_KERNEL_MODULES_XBOXKRNL_FILE_H_
#define XENIA_KERNEL_MODULES_XBOXKRNL_FILE_H_
#ifndef XENIA_KERNEL_MODULES_XBOXKRNL_IO_H_
#define XENIA_KERNEL_MODULES_XBOXKRNL_IO_H_
#include <xenia/common.h>
#include <xenia/core.h>
@ -26,4 +26,4 @@ namespace xboxkrnl {
} // namespace xe
#endif // XENIA_KERNEL_MODULES_XBOXKRNL_FILE_H_
#endif // XENIA_KERNEL_MODULES_XBOXKRNL_IO_H_

View File

@ -7,7 +7,7 @@
******************************************************************************
*/
#include <xenia/kernel/modules/xboxkrnl/xboxkrnl_file.h>
#include <xenia/kernel/modules/xboxkrnl/xboxkrnl_nt.h>
#include <xenia/kernel/shim_utils.h>
#include <xenia/kernel/modules/xboxkrnl/kernel_state.h>
@ -54,7 +54,7 @@ SHIM_CALL NtCreateFile_shim(
allocation_size_ptr,
file_attributes,
share_access,
creation_disposition);
creation_disposition);
// object_attributes is:
// void *root_directory
@ -104,11 +104,11 @@ SHIM_CALL NtClose_shim(
} // namespace xe
void xe::kernel::xboxkrnl::RegisterFileExports(
void xe::kernel::xboxkrnl::RegisterNtExports(
ExportResolver* export_resolver, KernelState* state) {
SHIM_SET_MAPPING("xboxkrnl.exe", NtClose, state);
SHIM_SET_MAPPING("xboxkrnl.exe", NtCreateFile, state);
SHIM_SET_MAPPING("xboxkrnl.exe", NtQueryFullAttributesFile, state);
SHIM_SET_MAPPING("xboxkrnl.exe", NtQueryInformationFile, state);
SHIM_SET_MAPPING("xboxkrnl.exe", NtReadFile, state);
SHIM_SET_MAPPING("xboxkrnl.exe", NtQueryFullAttributesFile, state);
SHIM_SET_MAPPING("xboxkrnl.exe", NtClose, state);
}

View File

@ -0,0 +1,29 @@
/**
******************************************************************************
* Xenia : Xbox 360 Emulator Research Project *
******************************************************************************
* Copyright 2013 Ben Vanik. All rights reserved. *
* Released under the BSD license - see LICENSE in the root for more details. *
******************************************************************************
*/
#ifndef XENIA_KERNEL_MODULES_XBOXKRNL_NT_H_
#define XENIA_KERNEL_MODULES_XBOXKRNL_NT_H_
#include <xenia/common.h>
#include <xenia/core.h>
#include <xenia/kernel/xbox.h>
namespace xe {
namespace kernel {
namespace xboxkrnl {
} // namespace xboxkrnl
} // namespace kernel
} // namespace xe
#endif // XENIA_KERNEL_MODULES_XBOXKRNL_NT_H_

View File

@ -30,11 +30,12 @@ extern KernelState* shared_kernel_state_;
// Registration functions, one per file.
void RegisterDebugExports(ExportResolver* export_resolver, KernelState* state);
void RegisterFileExports(ExportResolver* export_resolver, KernelState* state);
void RegisterHalExports(ExportResolver* export_resolver, KernelState* state);
void RegisterIoExports(ExportResolver* export_resolver, KernelState* state);
void RegisterMemoryExports(ExportResolver* export_resolver, KernelState* state);
void RegisterMiscExports(ExportResolver* export_resolver, KernelState* state);
void RegisterModuleExports(ExportResolver* export_resolver, KernelState* state);
void RegisterNtExports(ExportResolver* export_resolver, KernelState* state);
void RegisterRtlExports(ExportResolver* export_resolver, KernelState* state);
void RegisterThreadingExports(ExportResolver* export_resolver,
KernelState* state);