|
|
|
@ -16,9 +16,11 @@
|
|
|
|
|
#include "core/arm/arm_interface.h"
|
|
|
|
|
#include "core/core.h"
|
|
|
|
|
#include "core/hle/kernel/hle_ipc.h"
|
|
|
|
|
#include "core/hle/kernel/memory/page_table.h"
|
|
|
|
|
#include "core/hle/kernel/process.h"
|
|
|
|
|
#include "core/hle/result.h"
|
|
|
|
|
#include "core/hle/service/lm/manager.h"
|
|
|
|
|
#include "core/memory.h"
|
|
|
|
|
#include "core/reporter.h"
|
|
|
|
|
#include "core/settings.h"
|
|
|
|
|
|
|
|
|
@ -108,14 +110,13 @@ json GetProcessorStateData(const std::string& architecture, u64 entry_point, u64
|
|
|
|
|
|
|
|
|
|
json GetProcessorStateDataAuto(Core::System& system) {
|
|
|
|
|
const auto* process{system.CurrentProcess()};
|
|
|
|
|
const auto& vm_manager{process->VMManager()};
|
|
|
|
|
auto& arm{system.CurrentArmInterface()};
|
|
|
|
|
|
|
|
|
|
Core::ARM_Interface::ThreadContext64 context{};
|
|
|
|
|
arm.SaveContext(context);
|
|
|
|
|
|
|
|
|
|
return GetProcessorStateData(process->Is64BitProcess() ? "AArch64" : "AArch32",
|
|
|
|
|
vm_manager.GetCodeRegionBaseAddress(), context.sp, context.pc,
|
|
|
|
|
process->PageTable().GetCodeRegionStart(), context.sp, context.pc,
|
|
|
|
|
context.pstate, context.cpu_registers);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -147,7 +148,8 @@ json GetFullDataAuto(const std::string& timestamp, u64 title_id, Core::System& s
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
template <bool read_value, typename DescriptorType>
|
|
|
|
|
json GetHLEBufferDescriptorData(const std::vector<DescriptorType>& buffer, Core::Memory::Memory& memory) {
|
|
|
|
|
json GetHLEBufferDescriptorData(const std::vector<DescriptorType>& buffer,
|
|
|
|
|
Core::Memory::Memory& memory) {
|
|
|
|
|
auto buffer_out = json::array();
|
|
|
|
|
for (const auto& desc : buffer) {
|
|
|
|
|
auto entry = json{
|
|
|
|
|