summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/kernel/kernel/sysmem.h41
-rw-r--r--include/kernel/kernel/sysmem/memblock.h52
2 files changed, 51 insertions, 42 deletions
diff --git a/include/kernel/kernel/sysmem.h b/include/kernel/kernel/sysmem.h
index 026ee01..c0f28dd 100644
--- a/include/kernel/kernel/sysmem.h
+++ b/include/kernel/kernel/sysmem.h
@@ -32,7 +32,7 @@ typedef struct SceKernelHeapCreateOpt {
SceUInt32 field_18;
} SceKernelHeapCreateOpt;
-typedef struct SceCreateUidObjOpt {
+typedef struct SceGUIDKernelCreateOpt {
SceUInt32 flags;
SceUInt32 field_4;
SceUInt32 field_8;
@@ -40,7 +40,8 @@ typedef struct SceCreateUidObjOpt {
SceUInt32 field_10;
SceUInt32 field_14;
SceUInt32 field_18;
-} SceCreateUidObjOpt;
+ SceUInt32 field_1C;
+} SceGUIDKernelCreateOpt;
typedef enum SceKernelModel {
SCE_KERNEL_MODEL_VITA = 0x10000,
@@ -80,23 +81,23 @@ int sceKernelDeleteHeap(SceUID uid);
void *sceKernelAllocHeapMemory(SceUID uid, SceSize size);
void sceKernelFreeHeapMemory(SceUID uid, void *ptr);
-int sceKernelMemcpyUserToKernelForPid(SceUID pid, void *dst, uintptr_t src, SceSize len);
-int sceKernelMemcpyUserToKernel(void *dst, uintptr_t src, SceSize len);
-int sceKernelMemcpyKernelToUser(uintptr_t dst, const void *src, SceSize len);
-int sceKernelRxMemcpyKernelToUserForPid(SceUID pid, uintptr_t dst, const void *src, SceSize len);
+int sceKernelCopyFromUserProc(SceUID pid, void *dst, uintptr_t src, SceSize len);
+int sceKernelCopyFromUser(void *dst, uintptr_t src, SceSize len);
+int sceKernelCopyToUser(uintptr_t dst, const void *src, SceSize len);
+int sceKernelCopyToUserProcTextDomain(SceUID pid, uintptr_t dst, const void *src, SceSize len);
-int sceKernelStrncpyUserToKernel(void *dst, uintptr_t src, SceSize len);
-int sceKernelStrncpyKernelToUser(uintptr_t dst, const void *src, SceSize len);
-int sceKernelStrncpyUserForPid(SceUID pid, void *dst, uintptr_t src, SceSize len);
+int sceKernelStrncpyFromUser(void *dst, uintptr_t src, SceSize len);
+int sceKernelStrncpyToUser(uintptr_t dst, const void *src, SceSize len);
+int sceKernelStrncpyFromUserProc(SceUID pid, void *dst, uintptr_t src, SceSize len);
-SceUID sceKernelKernelUidForUserUid(SceUID pid, SceUID user_uid);
-SceUID sceKernelCreateUserUid(SceUID pid, SceUID kern_uid);
-SceUID sceKernelCreateUidObj(SceClass *cls, const char *name, SceCreateUidObjOpt *opt, SceObjectBase **obj);
+SceUID scePUIDtoGUID(SceUID pid, SceUID puid);
+SceUID scePUIDOpenByGUID(SceUID pid, SceUID guid);
+SceUID sceGUIDKernelCreateWithOpt(SceClass *cls, const char *name, SceGUIDKernelCreateOpt *opt, SceObjectBase **obj);
/**
* Gets an object from a UID.
*
- * This retains the object internally! You must call `sceKernelUidRelease`
+ * This retains the object internally! You must call `sceGUIDReleaseObject`
* after you are done using it.
*
* @param[in] uid The uid
@@ -105,7 +106,7 @@ SceUID sceKernelCreateUidObj(SceClass *cls, const char *name, SceCreateUidObjOpt
*
* @return 0 on success, < 0 on error.
*/
-int sceKernelGetObjForUid(SceUID uid, SceClass *cls, SceObjectBase **obj);
+int sceGUIDReferObjectWithClass(SceUID uid, SceClass *cls, SceObjectBase **obj);
/**
* Retains an object referenced by the UID.
@@ -116,7 +117,7 @@ int sceKernelGetObjForUid(SceUID uid, SceClass *cls, SceObjectBase **obj);
*
* @return 0 on success, < 0 on error.
*/
-int sceKernelUidRetain(SceUID uid);
+int sceGUIDReferObject(SceUID uid);
/**
* Releases an object referenced by the UID.
@@ -127,7 +128,11 @@ int sceKernelUidRetain(SceUID uid);
*
* @return 0 on success, < 0 on error.
*/
-int sceKernelUidRelease(SceUID uid);
+int sceGUIDReleaseObject(SceUID uid);
+
+int sceGUIDSet(SceUID guid, SceClass *pClass, const char *name, SceObjectBase *pObject);
+
+int sceGUIDSetName(SceUID guid, const char *name);
SceClass *sceKernelGetUidClass(void);
SceClass *sceKernelGetUidDLinkClass(void);
@@ -135,8 +140,8 @@ SceClass *sceKernelGetUidHeapClass(void);
SceClass *sceKernelGetUidMemBlockClass(void);
int sceKernelCreateClass(SceClass *cls, const char *name, void *uidclass, SceSize itemsize, SceClassCallback create, SceClassCallback destroy);
-int sceKernelDeleteUserUid(SceUID pid, SceUID user_uid);
-int sceKernelDeleteUid(SceUID uid);
+int scePUIDClose(SceUID pid, SceUID puid);
+int sceGUIDClose(SceUID guid);
int sceKernelFindClassByName(const char *name, SceClass **cls);
int sceKernelGetPidContext(SceUID pid, SceKernelProcessContext **ctx);
diff --git a/include/kernel/kernel/sysmem/memblock.h b/include/kernel/kernel/sysmem/memblock.h
index d12e19d..1e62493 100644
--- a/include/kernel/kernel/sysmem/memblock.h
+++ b/include/kernel/kernel/sysmem/memblock.h
@@ -32,18 +32,22 @@ typedef enum SceKernelMemoryRefPerm {
SCE_KERNEL_MEMORY_REF_PERM_KERN_X = 0x40,
} SceKernelMemoryRefPerm;
-typedef struct SceKernelAddrPair {
- uint32_t addr; //!< Address
- uint32_t length; //!< Length
-} SceKernelAddrPair;
-
-typedef struct SceKernelPaddrList {
- uint32_t size; //!< sizeof(SceKernelPaddrList)
- uint32_t list_size; //!< Size in elements of the list array
- uint32_t ret_length; //!< Total physical size of the memory pairs
- uint32_t ret_count; //!< Number of elements of list filled by sceKernelGetPaddrList
- SceKernelAddrPair *list; //!< Array of physical addresses and their lengths pairs
-} SceKernelPaddrList;
+typedef struct SceKernelAddressRange {
+ uint32_t addr; //!< Address
+ uint32_t length; //!< Length
+} SceKernelAddressRange;
+
+typedef SceKernelAddressRange SceKernelPARange;
+
+typedef SceKernelAddressRange SceKernelVARange;
+
+typedef struct SceKernelPAVector {
+ SceSize size; //!< sizeof(SceKernelPAVector)
+ uint32_t nRanges; //!< Size in elements of the vector
+ uint32_t nDataInVector; //!< Total physical size of the address ranges
+ uint32_t nTotalSize; //!< Number of elements of list filled by sceKernelVARangeToPAVector
+ SceKernelPARange *pVector; //!< Vector of address ranges
+} SceKernelPAVector;
// specific to 3.60
typedef struct SceKernelAllocMemBlockKernelOpt {
@@ -57,7 +61,7 @@ typedef struct SceKernelAllocMemBlockKernelOpt {
SceUInt32 extraHigh;
SceUInt32 mirror_blockid;
SceUID pid;
- SceKernelPaddrList *pVector;
+ SceKernelPAVector *pVector;
SceUInt32 field_2C;
SceUInt32 field_30;
SceUInt32 field_34;
@@ -79,7 +83,7 @@ typedef struct SceKernelAllocMemBlockKernelOpt {
*
* @return 0 on success, < 0 on error.
*/
-int sceKernelGetMemBlockType(SceUID uid, unsigned int *type);
+int sceKernelGetMemBlockType(SceUID uid, SceKernelMemBlockType *type);
/**
* Find the SceUID of a memory block for a PID
@@ -90,7 +94,7 @@ int sceKernelGetMemBlockType(SceUID uid, unsigned int *type);
*
* @return SceUID of the memory block on success, < 0 on error.
*/
-SceUID sceKernelFindMemBlockByAddrForPid(SceUID pid, const void *addr, SceSize size);
+SceUID sceKernelFindProcMemBlockByAddr(SceUID pid, const void *addr, SceSize size);
/**
* Changes the block type
@@ -102,17 +106,17 @@ SceUID sceKernelFindMemBlockByAddrForPid(SceUID pid, const void *addr, SceSize s
*/
int sceKernelRemapBlock(SceUID uid, SceKernelMemBlockType type);
-int sceKernelMapBlockUserVisible(SceUID uid);
+int sceKernelMapMemBlock(SceUID uid);
-int sceKernelMapUserBlock(const char *name, int permission, int type,
+int sceKernelUserMapWithFlags(const char *name, int permission, int flags,
const void *user_buf, SceSize size, void **kernel_page,
SceSize *kernel_size, unsigned int *kernel_offset);
-int sceKernelMapUserBlockDefaultType(const char *name, int permission, const void *user_buf,
+int sceKernelUserMap(const char *name, int permission, const void *user_buf,
SceSize size, void **kernel_page,
SceSize *kernel_size, unsigned int *kernel_offset);
-int sceKernelMapUserBlockDefaultTypeForPid(int pid, const char *name, int permission,
+int sceKernelUserMapProc(int pid, const char *name, int permission,
const void *user_buf, SceSize size, void **kernel_page,
SceSize *kernel_size, unsigned int *kernel_offset);
@@ -124,17 +128,17 @@ int sceKernelMapUserBlockDefaultTypeForPid(int pid, const char *name, int permis
*
* @return 0 on success, < 0 on error.
*/
-int sceKernelGetPaddr(const void *addr, uintptr_t *paddr);
+int sceKernelVAtoPA(const void *addr, uintptr_t *paddr);
/**
* Get the physical address list of a given virtual address range
*
- * @param[in] input - The virtual address range
- * @param[out] list - The list of physical addresses
+ * @param[in] pRange - The virtual address range
+ * @param[out] pVector - The list of physical addresses
*
* @return 0 on success, < 0 on error.
*/
-int sceKernelGetPaddrList(const SceKernelAddrPair *input, SceKernelPaddrList *list);
+int sceKernelVARangeToPAVector(const SceKernelVARange *pRange, SceKernelPAVector *pVector);
/**
* Releases a memblock referenced by the UID.
@@ -145,7 +149,7 @@ int sceKernelGetPaddrList(const SceKernelAddrPair *input, SceKernelPaddrList *li
*
* @return 0 on success, < 0 on error.
*/
-int sceKernelMemBlockRelease(SceUID uid);
+int sceKernelUserUnmap(SceUID uid);
/**
* Retains a memory range