2026-01-12 05:18:12 -05:00
|
|
|
// SPDX-FileCopyrightText: 2002-2026 PCSX2 Dev Team
|
2023-12-22 21:57:49 +10:00
|
|
|
// SPDX-License-Identifier: GPL-2.0+
|
2014-10-28 08:20:32 +01:00
|
|
|
|
2014-08-25 17:01:17 +02:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include <vector>
|
2021-09-01 16:31:46 -04:00
|
|
|
#include "common/Pcsx2Types.h"
|
2014-08-25 17:01:17 +02:00
|
|
|
|
|
|
|
|
class DebugInterface;
|
|
|
|
|
|
|
|
|
|
namespace MipsStackWalk {
|
|
|
|
|
struct StackFrame {
|
|
|
|
|
// Beginning of function symbol (may be estimated.)
|
|
|
|
|
u32 entry;
|
|
|
|
|
// Next position within function.
|
|
|
|
|
u32 pc;
|
|
|
|
|
// Value of SP inside this function (assuming no alloca()...)
|
|
|
|
|
u32 sp;
|
|
|
|
|
// Size of stack frame in bytes.
|
|
|
|
|
int stackSize;
|
|
|
|
|
};
|
|
|
|
|
|
2026-04-23 22:11:52 +02:00
|
|
|
std::vector<StackFrame> Walk(DebugInterface* cpu, u32 pc, u32 ra, u32 sp, u32 threadEntry);
|
2014-10-28 08:20:32 +01:00
|
|
|
};
|