summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergi Granell2017-10-27 13:53:25 +0200
committerSergi Granell2017-10-27 13:53:25 +0200
commit59fc1faf83243905d5c232a6edb4230a0ee249d6 (patch)
tree314c08d44d051c4b4cbd385c30f7db614e69b4b7
parentAdd more docs to psp2kern/kernel/sysmem.h (diff)
downloadvds-libraries-59fc1faf83243905d5c232a6edb4230a0ee249d6.tar.gz
Add more SceKernelAllocMemBlockAttr info
Diffstat (limited to '')
-rw-r--r--include/kernel/kernel/sysmem.h45
1 files changed, 24 insertions, 21 deletions
diff --git a/include/kernel/kernel/sysmem.h b/include/kernel/kernel/sysmem.h
index 6885aec..3ab6722 100644
--- a/include/kernel/kernel/sysmem.h
+++ b/include/kernel/kernel/sysmem.h
@@ -20,24 +20,40 @@ typedef enum SceKernelMemBlockType {
SCE_KERNEL_MEMBLOCK_TYPE_RW_UNK0 = 0x6020D006
} SceKernelMemBlockType;
-#define SCE_KERNEL_ALLOC_MEMBLOCK_ATTR_HAS_PADDR 0x00000002U
-#define SCE_KERNEL_ALLOC_MEMBLOCK_ATTR_HAS_ALIGNMENT 0x00000004U
-#define SCE_KERNEL_ALLOC_MEMBLOCK_ATTR_HAS_MIRROR_BLOCKID 0x00000040U
-#define SCE_KERNEL_ALLOC_MEMBLOCK_ATTR_HAS_PID 0x00000080U
+typedef enum SceKernelAllocMemBlockAttr {
+ SCE_KERNEL_ALLOC_MEMBLOCK_ATTR_HAS_PADDR = 0x00000002U,
+ SCE_KERNEL_ALLOC_MEMBLOCK_ATTR_HAS_ALIGNMENT = 0x00000004U,
+ SCE_KERNEL_ALLOC_MEMBLOCK_ATTR_HAS_MIRROR_BLOCKID = 0x00000040U,
+ SCE_KERNEL_ALLOC_MEMBLOCK_ATTR_HAS_PID = 0x00000080U,
+ SCE_KERNEL_ALLOC_MEMBLOCK_ATTR_HAS_PADDR_LIST = 0x00001000U
+} SceKernelAllocMemBlockAttr;
+
+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;
// specific to 3.60
typedef struct SceKernelAllocMemBlockKernelOpt {
- SceSize size;
+ SceSize size; //!< sizeof(SceKernelAllocMemBlockKernelOpt)
SceUInt32 field_4;
- SceUInt32 attr;
+ SceUInt32 attr; //!< OR of SceKernelAllocMemBlockAttr
SceUInt32 field_C;
SceUInt32 paddr;
SceSize alignment;
SceUInt32 field_18;
SceUInt32 field_1C;
- SceUInt32 mirror_blkid;
+ SceUInt32 mirror_blockid;
SceUID pid;
- SceUInt32 field_28;
+ SceKernelPaddrList *paddr_list;
SceUInt32 field_2C;
SceUInt32 field_30;
SceUInt32 field_34;
@@ -85,19 +101,6 @@ typedef struct SceObjectBase {
uint32_t data[];
} SceObjectBase;
-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 SceKernelProcessContext {
SceUInt32 TTBR1;
SceUInt32 DACR;