[Kernel] Use tables for export groups.

This commit is contained in:
gibbed
2022-01-09 13:29:47 -06:00
committed by Rick Gibbed
parent 3ad0a7dab2
commit 12ec728989
44 changed files with 151 additions and 153 deletions

View File

@@ -86,9 +86,8 @@ dword_result_t DmFindPdbSignature_entry(lpdword_t unk0_ptr,
}
DECLARE_XBDM_EXPORT1(DmFindPdbSignature, kDebug, kStub);
void RegisterMiscExports(xe::cpu::ExportResolver* export_resolver,
KernelState* kernel_state) {}
} // namespace xbdm
} // namespace kernel
} // namespace xe
DECLARE_XBDM_EMPTY_REGISTER_EXPORTS(Misc);

View File

@@ -2,7 +2,7 @@
******************************************************************************
* Xenia : Xbox 360 Emulator Research Project *
******************************************************************************
* Copyright 2013 Ben Vanik. All rights reserved. *
* Copyright 2022 Ben Vanik. All rights reserved. *
* Released under the BSD license - see LICENSE in the root for more details. *
******************************************************************************
*/
@@ -24,7 +24,10 @@ XbdmModule::XbdmModule(Emulator* emulator, KernelState* kernel_state)
RegisterExportTable(export_resolver_);
// Register all exported functions.
RegisterMiscExports(export_resolver_, kernel_state_);
#define XE_MODULE_EXPORT_GROUP(m, n) \
Register##n##Exports(export_resolver_, kernel_state_);
#include "xbdm_module_export_groups.inc"
#undef XE_MODULE_EXPORT_GROUP
}
std::vector<xe::cpu::Export*> xbdm_exports(4096);

View File

@@ -0,0 +1,13 @@
/**
******************************************************************************
* Xenia : Xbox 360 Emulator Research Project *
******************************************************************************
* Copyright 2022 Ben Vanik. All rights reserved. *
* Released under the BSD license - see LICENSE in the root for more details. *
******************************************************************************
*/
// This is a partial file designed to be included by other files when
// constructing various tables.
XE_MODULE_EXPORT_GROUP(xbdm, Misc)

View File

@@ -2,7 +2,7 @@
******************************************************************************
* Xenia : Xbox 360 Emulator Research Project *
******************************************************************************
* Copyright 2013 Ben Vanik. All rights reserved. *
* Copyright 2022 Ben Vanik. All rights reserved. *
* Released under the BSD license - see LICENSE in the root for more details. *
******************************************************************************
*/
@@ -21,8 +21,11 @@ namespace xbdm {
xe::cpu::Export* RegisterExport_xbdm(xe::cpu::Export* export_entry);
// Registration functions, one per file.
void RegisterMiscExports(xe::cpu::ExportResolver* export_resolver,
KernelState* kernel_state);
#define XE_MODULE_EXPORT_GROUP(m, n) \
void Register##n##Exports(xe::cpu::ExportResolver* export_resolver, \
KernelState* kernel_state);
#include "xbdm_module_export_groups.inc"
#undef XE_MODULE_EXPORT_GROUP
} // namespace xbdm
} // namespace kernel