summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGrapheneCt2021-09-20 14:05:37 -0400
committerReiko Asakura2021-09-20 14:05:37 -0400
commite3ec8912b9282251862883b19e8b67d7fd3333af (patch)
treef23fdb24cd61f34ef1cb9bebbf71e0f266802674
parentChanges for SceKernelThreadOptParamInternal (diff)
downloadvds-libraries-e3ec8912b9282251862883b19e8b67d7fd3333af.tar.gz
Changes for thread context structsHEADmaster
From pthread_vita.h from Unity 2017
-rw-r--r--include/common/kernel/threadmgr.h18
-rw-r--r--include/user/kernel/threadmgr.h18
2 files changed, 22 insertions, 14 deletions
diff --git a/include/common/kernel/threadmgr.h b/include/common/kernel/threadmgr.h
index 423e66b..6e7c619 100644
--- a/include/common/kernel/threadmgr.h
+++ b/include/common/kernel/threadmgr.h
@@ -31,6 +31,24 @@ typedef struct _SceKernelThreadOptParamInternal {
SceUInt32 notifyExcpMask;
} SceKernelThreadOptParamInternal;
+typedef struct SceKernelThreadCpuRegisterInfo{
+ SceSize size;
+ SceUInt32 cpsr;
+ SceUInt32 reg[16];
+ SceUInt32 tpidrurw;
+ SceUInt32 teehbr;
+ SceUInt32 sb;
+ SceUInt32 st;
+} SceKernelThreadCpuRegisterInfo;
+
+typedef struct SceKernelThreadVfpRegisterInfo {
+ SceSize size;
+ SceUInt32 fpscr;
+ struct {
+ SceUInt32 word[4];
+ } reg[16];
+} SceKernelThreadVfpRegisterInfo;
+
typedef enum _SceKernelTLS {
SCE_THREAD_TLS_UNK_0,
SCE_THREAD_TLS_ID,
diff --git a/include/user/kernel/threadmgr.h b/include/user/kernel/threadmgr.h
index 6e301c9..48a65fd 100644
--- a/include/user/kernel/threadmgr.h
+++ b/include/user/kernel/threadmgr.h
@@ -62,29 +62,19 @@ int sceKernelSendSignal(SceUID thid);
typedef SceKernelThreadOptParamInternal SceKernelThreadOptParamForMono;
-typedef struct SceKernelThreadContextForMono1 {
- SceSize size;
- char unk[0x54];
-} SceKernelThreadContextForMono1;
-
-typedef struct SceKernelThreadContextForMono2 {
- SceSize size;
- char unk[0x104];
-} SceKernelThreadContextForMono2;
-
int sceKernelSuspendThreadForMono(SceUID threadId);
int sceKernelResumeThreadForMono(SceUID threadId);
int sceKernelGetThreadContextForMono(
SceUID threadId,
- SceKernelThreadContextForMono1* outContext1,
- SceKernelThreadContextForMono2* outContext2);
+ SceKernelThreadCpuRegisterInfo* pCpuRegisterInfo,
+ SceKernelThreadVfpRegisterInfo* pVfpRegisterInfo);
int sceKernelSetThreadContextForMono(
SceUID threadId,
- SceKernelThreadContextForMono1* inContext1,
- SceKernelThreadContextForMono2* inContext2);
+ SceKernelThreadCpuRegisterInfo* pCpuRegisterInfo,
+ SceKernelThreadVfpRegisterInfo* pVfpRegisterInfo);
SCE_CDECL_END