mirror of
https://github.com/RPCSX/rpcsx.git
synced 2026-04-05 14:37:08 +00:00
ps5: collect type of process and firmware
add initial gc and dce ioctls implementation
This commit is contained in:
parent
ffe2837915
commit
b6556e83ee
11 changed files with 297 additions and 41 deletions
|
|
@ -48,6 +48,12 @@ struct UmtxChain {
|
|||
uint notify_n(const UmtxKey &key, sint count);
|
||||
};
|
||||
|
||||
enum class FwType : std::uint8_t {
|
||||
Unknown,
|
||||
Ps4,
|
||||
Ps5,
|
||||
};
|
||||
|
||||
class alignas(__STDCPP_DEFAULT_NEW_ALIGNMENT__) KernelContext final {
|
||||
public:
|
||||
KernelContext();
|
||||
|
|
@ -192,7 +198,10 @@ public:
|
|||
|
||||
shared_mutex regMgrMtx;
|
||||
kmap<std::uint32_t, std::uint32_t> regMgrInt;
|
||||
std::vector<std::tuple<std::uint8_t*, size_t>> dialogs{};
|
||||
std::vector<std::tuple<std::uint8_t *, size_t>> dialogs{};
|
||||
|
||||
FwType fwType = FwType::Unknown;
|
||||
bool isDevKit = false;
|
||||
|
||||
private:
|
||||
shared_mutex m_heap_mtx;
|
||||
|
|
|
|||
|
|
@ -15,6 +15,12 @@ namespace orbis {
|
|||
struct Thread;
|
||||
struct Process;
|
||||
|
||||
enum class DynType : std::uint8_t {
|
||||
None,
|
||||
Ps4,
|
||||
Ps5,
|
||||
};
|
||||
|
||||
struct ModuleNeeded {
|
||||
utils::kstring name;
|
||||
std::uint16_t version;
|
||||
|
|
@ -98,6 +104,8 @@ struct Module final {
|
|||
uint16_t flags{};
|
||||
uint64_t entryPoint{};
|
||||
|
||||
DynType dynType = DynType::None;
|
||||
|
||||
uint32_t phNum{};
|
||||
uint64_t phdrAddress{};
|
||||
|
||||
|
|
|
|||
|
|
@ -44,6 +44,12 @@ struct NamedMemoryRange {
|
|||
}
|
||||
};
|
||||
|
||||
enum class ProcessType : std::uint8_t {
|
||||
FreeBsd,
|
||||
Ps4,
|
||||
Ps5,
|
||||
};
|
||||
|
||||
struct Process final {
|
||||
KernelContext *context = nullptr;
|
||||
pid_t pid = -1;
|
||||
|
|
@ -54,6 +60,7 @@ struct Process final {
|
|||
Process *parentProcess = nullptr;
|
||||
shared_mutex mtx;
|
||||
int vmId = -1;
|
||||
ProcessType type = ProcessType::FreeBsd;
|
||||
void (*onSysEnter)(Thread *thread, int id, uint64_t *args,
|
||||
int argsCount) = nullptr;
|
||||
void (*onSysExit)(Thread *thread, int id, uint64_t *args, int argsCount,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue