summaryrefslogtreecommitdiff
path: root/include/user/kernel/sysmem.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/user/kernel/sysmem.h')
-rw-r--r--include/user/kernel/sysmem.h83
1 files changed, 4 insertions, 79 deletions
diff --git a/include/user/kernel/sysmem.h b/include/user/kernel/sysmem.h
index 6a55a46..04e3ea2 100644
--- a/include/user/kernel/sysmem.h
+++ b/include/user/kernel/sysmem.h
@@ -1,99 +1,24 @@
#ifndef _PSP2_KERNEL_SYSMEM_H_
#define _PSP2_KERNEL_SYSMEM_H_
-#include <psp2/kernel/types.h>
+#include <psp2/kernel/sysmem/memblock.h>
#ifdef __cplusplus
extern "C" {
#endif
-typedef enum _SceKernelMemBlockType {
- SCE_KERNEL_MEMBLOCK_TYPE_USER_RW_UNCACHE = 0x0C208060,
- SCE_KERNEL_MEMBLOCK_TYPE_USER_RX = 0x0C20D050,
- SCE_KERNEL_MEMBLOCK_TYPE_USER_RW = 0x0C20D060,
- SCE_KERNEL_MEMBLOCK_TYPE_USER_MAIN_PHYCONT_RW = 0x0C80D060,
- SCE_KERNEL_MEMBLOCK_TYPE_USER_MAIN_PHYCONT_NC_RW = 0x0D808060,
- SCE_KERNEL_MEMBLOCK_TYPE_USER_CDRAM_RW = 0x09408060
-} _SceKernelMemBlockType;
-
-typedef struct SceKernelAllocMemBlockOpt {
- SceSize size;
- SceUInt32 attr;
- SceSize alignment;
- SceUInt32 uidBaseBlock;
- const char *strBaseBlockName;
- int flags; //! Unknown flags 0x10 or 0x30 for ::sceKernelOpenMemBlock
- int reserved[10];
-} SceKernelAllocMemBlockOpt;
-
typedef struct SceKernelFreeMemorySizeInfo {
int size; //!< sizeof(SceKernelFreeMemorySizeInfo)
int size_user; //!< Free memory size for *_USER_RW memory
int size_cdram; //!< Free memory size for USER_CDRAM_RW memory
int size_phycont; //!< Free memory size for USER_MAIN_PHYCONT_*_RW memory
-} SceKernelFreeMemorySizeInfo;
-
+} SceKernelFreeMemorySizeInfo;
+
typedef enum SceKernelModel {
SCE_KERNEL_MODEL_VITA = 0x10000,
SCE_KERNEL_MODEL_VITATV = 0x20000
} SceKernelModel;
-typedef struct SceKernelMemBlockInfo {
- SceSize size;
- void *mappedBase;
- SceSize mappedSize;
- int memoryType;
- SceUInt32 access;
- SceKernelMemBlockType type;
-} SceKernelMemBlockInfo;
-
-typedef enum SceKernelMemoryAccessType {
- SCE_KERNEL_MEMORY_ACCESS_X = 0x01,
- SCE_KERNEL_MEMORY_ACCESS_W = 0x02,
- SCE_KERNEL_MEMORY_ACCESS_R = 0x04
-} SceKernelMemoryAccessType;
-
-typedef enum SceKernelMemoryType {
- SCE_KERNEL_MEMORY_TYPE_NORMAL_NC = 0x80,
- SCE_KERNEL_MEMORY_TYPE_NORMAL = 0xD0
-} SceKernelMemoryType;
-
-/**
- * Allocates a new memory block
- *
- * @param[in] name - Name for the memory block
- * @param[in] type - Type of the memory to allocate
- * @param[in] size - Size of the memory to allocate
- * @param[in] opt - Memory block options?
- *
- * @return SceUID of the memory block on success, < 0 on error.
-*/
-SceUID sceKernelAllocMemBlock(const char *name, SceKernelMemBlockType type, SceSize size, SceKernelAllocMemBlockOpt *opt);
-
-/**
- * Frees new memory block
- *
- * @param[in] uid - SceUID of the memory block to free
- *
- * @return 0 on success, < 0 on error.
-*/
-int sceKernelFreeMemBlock(SceUID uid);
-
-/**
- * Gets the base address of a memory block
- *
- * @param[in] uid - SceUID of the memory block to free
- * @param[out] base - Base address of the memory block identified by SceUID
- *
- * @return 0 on success, < 0 on error.
-*/
-int sceKernelGetMemBlockBase(SceUID uid, void **base);
-
-SceUID sceKernelFindMemBlockByAddr(const void *addr, SceSize size);
-
-int sceKernelGetMemBlockInfoByAddr(void *base, SceKernelMemBlockInfo *info);
-int sceKernelGetMemBlockInfoByRange(void *base, SceSize size, SceKernelMemBlockInfo *info);
-
SceUID sceKernelAllocMemBlockForVM(const char *name, SceSize size);
int sceKernelSyncVMDomain(SceUID uid, void *data, SceSize size);
int sceKernelOpenVMDomain(void);
@@ -115,7 +40,7 @@ int sceKernelGetModelForCDialog(void);
* @return A value from SCE_KERNEL_MODEL
*/
int sceKernelGetModel(void);
-
+
/**
* Get free memory size in bytes
*