Browse Source
Merge pull request #5028 from lioncash/final-system
Merge pull request #5028 from lioncash/final-system
core: Eliminate remaining usages of the global system instancepull/15/merge
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
21 changed files with 58 additions and 1593 deletions
-
2src/core/CMakeLists.txt
-
11src/core/arm/dynarmic/arm_dynarmic_64.cpp
-
7src/core/core.cpp
-
1src/core/cpu_manager.cpp
-
1397src/core/gdbstub/gdbstub.cpp
-
114src/core/gdbstub/gdbstub.h
-
3src/core/loader/deconstructed_rom_directory.cpp
-
3src/core/loader/kip.cpp
-
6src/core/loader/nro.cpp
-
5src/core/loader/nso.cpp
-
17src/core/settings.cpp
-
8src/core/settings.h
-
3src/yuzu/configuration/config.cpp
-
3src/yuzu/configuration/configure_dialog.cpp
-
2src/yuzu/configuration/configure_per_game.cpp
-
2src/yuzu/configuration/configure_profile_manager.cpp
-
12src/yuzu/configuration/configure_system.cpp
-
3src/yuzu/configuration/configure_ui.cpp
-
36src/yuzu/main.cpp
-
9src/yuzu_cmd/yuzu.cpp
-
7src/yuzu_tester/yuzu.cpp
1397
src/core/gdbstub/gdbstub.cpp
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -1,114 +0,0 @@ |
|||||
// Copyright 2013 Dolphin Emulator Project |
|
||||
// Licensed under GPLv2+ |
|
||||
// Refer to the license.txt file included. |
|
||||
|
|
||||
// Originally written by Sven Peter <sven@fail0verflow.com> for anergistic. |
|
||||
|
|
||||
#pragma once |
|
||||
|
|
||||
#include <string> |
|
||||
#include "common/common_types.h" |
|
||||
#include "core/hle/kernel/thread.h" |
|
||||
|
|
||||
namespace GDBStub { |
|
||||
|
|
||||
/// Breakpoint Method |
|
||||
enum class BreakpointType { |
|
||||
None, ///< None |
|
||||
Execute, ///< Execution Breakpoint |
|
||||
Read, ///< Read Breakpoint |
|
||||
Write, ///< Write Breakpoint |
|
||||
Access ///< Access (R/W) Breakpoint |
|
||||
}; |
|
||||
|
|
||||
struct BreakpointAddress { |
|
||||
VAddr address; |
|
||||
BreakpointType type; |
|
||||
}; |
|
||||
|
|
||||
/** |
|
||||
* Set the port the gdbstub should use to listen for connections. |
|
||||
* |
|
||||
* @param port Port to listen for connection |
|
||||
*/ |
|
||||
void SetServerPort(u16 port); |
|
||||
|
|
||||
/** |
|
||||
* Starts or stops the server if possible. |
|
||||
* |
|
||||
* @param status Set the server to enabled or disabled. |
|
||||
*/ |
|
||||
void ToggleServer(bool status); |
|
||||
|
|
||||
/// Start the gdbstub server. |
|
||||
void Init(); |
|
||||
|
|
||||
/** |
|
||||
* Defer initialization of the gdbstub to the first packet processing functions. |
|
||||
* This avoids a case where the gdbstub thread is frozen after initialization |
|
||||
* and fails to respond in time to packets. |
|
||||
*/ |
|
||||
void DeferStart(); |
|
||||
|
|
||||
/// Stop gdbstub server. |
|
||||
void Shutdown(); |
|
||||
|
|
||||
/// Checks if the gdbstub server is enabled. |
|
||||
bool IsServerEnabled(); |
|
||||
|
|
||||
/// Returns true if there is an active socket connection. |
|
||||
bool IsConnected(); |
|
||||
|
|
||||
/// Register module. |
|
||||
void RegisterModule(std::string name, VAddr beg, VAddr end, bool add_elf_ext = true); |
|
||||
|
|
||||
/** |
|
||||
* Signal to the gdbstub server that it should halt CPU execution. |
|
||||
* |
|
||||
* @param is_memory_break If true, the break resulted from a memory breakpoint. |
|
||||
*/ |
|
||||
void Break(bool is_memory_break = false); |
|
||||
|
|
||||
/// Determine if there was a memory breakpoint. |
|
||||
bool IsMemoryBreak(); |
|
||||
|
|
||||
/// Read and handle packet from gdb client. |
|
||||
void HandlePacket(); |
|
||||
|
|
||||
/** |
|
||||
* Get the nearest breakpoint of the specified type at the given address. |
|
||||
* |
|
||||
* @param addr Address to search from. |
|
||||
* @param type Type of breakpoint. |
|
||||
*/ |
|
||||
BreakpointAddress GetNextBreakpointFromAddress(VAddr addr, GDBStub::BreakpointType type); |
|
||||
|
|
||||
/** |
|
||||
* Check if a breakpoint of the specified type exists at the given address. |
|
||||
* |
|
||||
* @param addr Address of breakpoint. |
|
||||
* @param type Type of breakpoint. |
|
||||
*/ |
|
||||
bool CheckBreakpoint(VAddr addr, GDBStub::BreakpointType type); |
|
||||
|
|
||||
/// If set to true, the CPU will halt at the beginning of the next CPU loop. |
|
||||
bool GetCpuHaltFlag(); |
|
||||
|
|
||||
/// If set to true and the CPU is halted, the CPU will step one instruction. |
|
||||
bool GetCpuStepFlag(); |
|
||||
|
|
||||
/** |
|
||||
* When set to true, the CPU will step one instruction when the CPU is halted next. |
|
||||
* |
|
||||
* @param is_step |
|
||||
*/ |
|
||||
void SetCpuStepFlag(bool is_step); |
|
||||
|
|
||||
/** |
|
||||
* Send trap signal from thread back to the gdbstub server. |
|
||||
* |
|
||||
* @param thread Sending thread. |
|
||||
* @param trap Trap no. |
|
||||
*/ |
|
||||
void SendTrap(Kernel::Thread* thread, int trap); |
|
||||
} // namespace GDBStub |
|
||||
Write
Preview
Loading…
Cancel
Save
Reference in new issue