Added pseudo handles for current proc and thread

This commit is contained in:
Lectem 2015-08-30 23:30:53 -04:00
parent 6b3e38de77
commit d10fc00786
5 changed files with 17 additions and 11 deletions

View File

@ -8,6 +8,9 @@
#include "types.h" #include "types.h"
/// Pseudo handle for the current process
#define CUR_PROCESS_HANDLE 0xFFFF8001
///@name Memory management ///@name Memory management
///@{ ///@{
@ -89,6 +92,9 @@ typedef enum {
THREADINFO_TYPE_UNKNOWN THREADINFO_TYPE_UNKNOWN
} ThreadInfoType; } ThreadInfoType;
/// Pseudo handle for the current thread
#define CUR_THREAD_HANDLE 0xFFFF8000
///@} ///@}

View File

@ -195,7 +195,7 @@ Result GSPGPU_FlushDataCache(Handle* handle, u8* adr, u32 size)
cmdbuf[1]=(u32)adr; cmdbuf[1]=(u32)adr;
cmdbuf[2]=size; cmdbuf[2]=size;
cmdbuf[3]=0x0; cmdbuf[3]=0x0;
cmdbuf[4]=0xffff8001; cmdbuf[4]=CUR_PROCESS_HANDLE;
Result ret=0; Result ret=0;
if((ret=svcSendSyncRequest(*handle)))return ret; if((ret=svcSendSyncRequest(*handle)))return ret;
@ -214,7 +214,7 @@ Result GSPGPU_InvalidateDataCache(Handle* handle, u8* adr, u32 size)
cmdbuf[1] = (u32)adr; cmdbuf[1] = (u32)adr;
cmdbuf[2] = size; cmdbuf[2] = size;
cmdbuf[3] = 0; cmdbuf[3] = 0;
cmdbuf[4] = 0xFFFF8001; cmdbuf[4] = CUR_PROCESS_HANDLE;
if((ret=svcSendSyncRequest(*handle)))return ret; if((ret=svcSendSyncRequest(*handle)))return ret;
@ -288,7 +288,7 @@ Result GSPGPU_AcquireRight(Handle* handle, u8 flags)
cmdbuf[0]=0x160042; //request header code cmdbuf[0]=0x160042; //request header code
cmdbuf[1]=flags; cmdbuf[1]=flags;
cmdbuf[2]=0x0; cmdbuf[2]=0x0;
cmdbuf[3]=0xffff8001; cmdbuf[3]=CUR_PROCESS_HANDLE;
Result ret=0; Result ret=0;
if((ret=svcSendSyncRequest(*handle)))return ret; if((ret=svcSendSyncRequest(*handle)))return ret;

View File

@ -23,7 +23,7 @@ Result HB_FlushInvalidateCache(void)
cmdbuf[0] = 0x00010042; cmdbuf[0] = 0x00010042;
cmdbuf[1] = 0x00000000; cmdbuf[1] = 0x00000000;
cmdbuf[2] = 0x00000000; cmdbuf[2] = 0x00000000;
cmdbuf[3] = 0xFFFF8001; cmdbuf[3] = CUR_PROCESS_HANDLE;
if((ret = svcSendSyncRequest(hbHandle))!=0) return ret; if((ret = svcSendSyncRequest(hbHandle))!=0) return ret;

View File

@ -84,7 +84,7 @@ Result mvdstdSetConfig(mvdstdConfig *config)
cmdbuf[0] = 0x001E0044; //request header code cmdbuf[0] = 0x001E0044; //request header code
cmdbuf[1] = sizeof(mvdstdConfig); cmdbuf[1] = sizeof(mvdstdConfig);
cmdbuf[2] = 0; cmdbuf[2] = 0;
cmdbuf[3] = 0xffff8001; cmdbuf[3] = CUR_PROCESS_HANDLE;
cmdbuf[4] = (sizeof(mvdstdConfig)<<4) | 10; cmdbuf[4] = (sizeof(mvdstdConfig)<<4) | 10;
cmdbuf[5] = (u32)config; cmdbuf[5] = (u32)config;
@ -151,7 +151,7 @@ Result mvdstdInit(mvdstdMode mode, mvdstdTypeInput input_type, mvdstdTypeOutput
mvdstd_workbuf = linearAlloc(mvdstd_workbufsize); mvdstd_workbuf = linearAlloc(mvdstd_workbufsize);
if(mvdstd_workbuf==NULL)return -1; if(mvdstd_workbuf==NULL)return -1;
ret = mvdstdipc_Initialize((u32*)osConvertOldLINEARMemToNew((u32)mvdstd_workbuf), mvdstd_workbufsize, 0xffff8001); ret = mvdstdipc_Initialize((u32*)osConvertOldLINEARMemToNew((u32)mvdstd_workbuf), mvdstd_workbufsize, CUR_PROCESS_HANDLE);
if(ret<0) if(ret<0)
{ {
svcCloseHandle(mvdstdHandle); svcCloseHandle(mvdstdHandle);

View File

@ -130,7 +130,7 @@ Result Y2RU_SetSendingY(const void* src_buf, u32 image_size, s16 transfer_unit,
cmdbuf[3] = transfer_unit; cmdbuf[3] = transfer_unit;
cmdbuf[4] = transfer_gap; cmdbuf[4] = transfer_gap;
cmdbuf[5] = 0; cmdbuf[5] = 0;
cmdbuf[6] = 0xFFFF8001; cmdbuf[6] = CUR_PROCESS_HANDLE;
if ((ret = svcSendSyncRequest(y2rHandle)) != 0) return ret; if ((ret = svcSendSyncRequest(y2rHandle)) != 0) return ret;
return cmdbuf[1]; return cmdbuf[1];
@ -146,7 +146,7 @@ Result Y2RU_SetSendingU(const void* src_buf, u32 image_size, s16 transfer_unit,
cmdbuf[3] = transfer_unit; cmdbuf[3] = transfer_unit;
cmdbuf[4] = transfer_gap; cmdbuf[4] = transfer_gap;
cmdbuf[5] = 0; cmdbuf[5] = 0;
cmdbuf[6] = 0xFFFF8001; cmdbuf[6] = CUR_PROCESS_HANDLE;
if ((ret = svcSendSyncRequest(y2rHandle)) != 0) return ret; if ((ret = svcSendSyncRequest(y2rHandle)) != 0) return ret;
return cmdbuf[1]; return cmdbuf[1];
@ -162,7 +162,7 @@ Result Y2RU_SetSendingV(const void* src_buf, u32 image_size, s16 transfer_unit,
cmdbuf[3] = transfer_unit; cmdbuf[3] = transfer_unit;
cmdbuf[4] = transfer_gap; cmdbuf[4] = transfer_gap;
cmdbuf[5] = 0; cmdbuf[5] = 0;
cmdbuf[6] = 0xFFFF8001; cmdbuf[6] = CUR_PROCESS_HANDLE;
if ((ret = svcSendSyncRequest(y2rHandle)) != 0) return ret; if ((ret = svcSendSyncRequest(y2rHandle)) != 0) return ret;
return cmdbuf[1]; return cmdbuf[1];
@ -178,7 +178,7 @@ Result Y2RU_SetSendingYUYV(const void* src_buf, u32 image_size, s16 transfer_uni
cmdbuf[3] = transfer_unit; cmdbuf[3] = transfer_unit;
cmdbuf[4] = transfer_gap; cmdbuf[4] = transfer_gap;
cmdbuf[5] = 0; cmdbuf[5] = 0;
cmdbuf[6] = 0xFFFF8001; cmdbuf[6] = CUR_PROCESS_HANDLE;
if ((ret = svcSendSyncRequest(y2rHandle)) != 0) return ret; if ((ret = svcSendSyncRequest(y2rHandle)) != 0) return ret;
return cmdbuf[1]; return cmdbuf[1];
@ -238,7 +238,7 @@ Result Y2RU_SetReceiving(void* dst_buf, u32 image_size, s16 transfer_unit, s16 t
cmdbuf[3] = transfer_unit; cmdbuf[3] = transfer_unit;
cmdbuf[4] = transfer_gap; cmdbuf[4] = transfer_gap;
cmdbuf[5] = 0; cmdbuf[5] = 0;
cmdbuf[6] = 0xFFFF8001; cmdbuf[6] = CUR_PROCESS_HANDLE;
if ((ret = svcSendSyncRequest(y2rHandle)) != 0) return ret; if ((ret = svcSendSyncRequest(y2rHandle)) != 0) return ret;
return cmdbuf[1]; return cmdbuf[1];