/** ****************************************************************************** * 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/base/logging.h" #include "xenia/kernel/kernel_state.h" #include "xenia/kernel/util/shim_utils.h" #include "xenia/kernel/xboxkrnl_private.h" #include "xenia/xbox.h" namespace xe { namespace kernel { void HalReturnToFirmware(dword_t routine) { // void // IN FIRMWARE_REENTRY Routine // Routine must be 1 'HalRebootRoutine' assert_true(routine == 1); // TODO(benvank): diediedie much more gracefully // Not sure how to blast back up the stack in LLVM without exceptions, though. XELOGE("Game requested shutdown via HalReturnToFirmware"); exit(0); } DECLARE_XBOXKRNL_EXPORT(HalReturnToFirmware, ExportTag::kImportant); } // namespace kernel } // namespace xe void xe::kernel::xboxkrnl::RegisterHalExports( xe::cpu::ExportResolver* export_resolver, KernelState* kernel_state) {}