summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/kernel/kernel/cpu.h30
-rw-r--r--nids/360/SceSysmem.yml11
2 files changed, 25 insertions, 16 deletions
diff --git a/include/kernel/kernel/cpu.h b/include/kernel/kernel/cpu.h
index 859424d..a4262ef 100644
--- a/include/kernel/kernel/cpu.h
+++ b/include/kernel/kernel/cpu.h
@@ -80,56 +80,64 @@ int sceKernelCpuDisableInterrupts(void);
int sceKernelCpuEnableInterrupts(int flags);
/**
- * @brief Flush L1 dcache and L2
+ * @brief Writeback a range of L1 dcache (without L2)
*
- * Note: symbols currently does not work on 3.x, need to find new ones.
+ * @param ptr The pointer
+ * @param[in] len The length
+ *
+ * @return Zero on success
+ */
+int sceKernelCpuDcacheWritebackRange(void *ptr, size_t len);
+
+/**
+ * @brief Writeback and invalidate a range of L1 dcache (without L2)
*
* @param ptr The pointer
* @param[in] len The length
*
* @return Zero on success
*/
-int sceKernelCpuDcacheAndL2Flush(void *ptr, size_t len);
+int sceKernelCpuDcacheWritebackInvalidateRange(void *ptr, size_t len);
/**
- * @brief Flush L2 dcache without L2
+ * @brief Writeback a range of L1 dcache and L2
*
* @param ptr The pointer
* @param[in] len The length
*
* @return Zero on success
*/
-int sceKernelCpuDcacheFlush(void *ptr, size_t len);
+int sceKernelCpuDcacheAndL2WritebackRange(void *ptr, size_t len);
/**
- * @brief Writeback a range of L1 dcache (not sure if L2 too)
+ * @brief Writeback and invalidate a range of L1 and L2 dcache
*
* @param ptr The pointer
* @param[in] len The length
*
* @return Zero on success
*/
-int sceKernelCpuDcacheWritebackRange(void *ptr, size_t len);
+int sceKernelCpuDcacheAndL2InvalidateRange(void *ptr, size_t len);
/**
- * @brief Flush L1 icache and L2
+ * @brief Writeback and invalidate a range of L1 icache and L2
*
* @param ptr The pointer
* @param[in] len The length
*
* @return Zero on success
*/
-int sceKernelCpuIcacheAndL2Flush(void *ptr, size_t len);
+int sceKernelCpuIcacheAndL2WritebackInvalidateRange(void *ptr, size_t len);
/**
- * @brief Flush L1 dcache and L2 for DMA operations
+ * @brief Writeback and invalidate a range of L1 dcache and L2
*
* @param ptr The pointer
* @param[in] len The length
*
* @return Zero on success
*/
-int sceKernelCpuDcacheAndL2AndDMAFlush(void *ptr, size_t len);
+int sceKernelCpuDcacheAndL2WritebackInvalidateRange(void *ptr, size_t len);
/**
* @brief MMU permission bypassing memcpy
diff --git a/nids/360/SceSysmem.yml b/nids/360/SceSysmem.yml
index 4c1ff49..dae115a 100644
--- a/nids/360/SceSysmem.yml
+++ b/nids/360/SceSysmem.yml
@@ -5,16 +5,17 @@ modules:
SceCpuForDriver:
nid: 0x40ECDB0E
functions:
- sceKernelCpuDcacheAndL2AndDMAFlush: 0x364E68A4
- sceKernelCpuDcacheAndL2Flush: 0x9CB9F0CE
- sceKernelCpuDcacheWritebackRange: 0x103872A5
+ sceKernelCpuDcacheAndL2InvalidateRange: 0x02796361
+ sceKernelCpuDcacheAndL2WritebackInvalidateRange: 0x364E68A4
+ sceKernelCpuDcacheAndL2WritebackRange: 0x103872A5
+ sceKernelCpuDcacheWritebackRange: 0x9CB9F0CE
sceKernelCpuDisableInterrupts: 0x821FC0EE
sceKernelCpuEnableInterrupts: 0xF5BAD43B
SceCpuForKernel:
nid: 0x54BF2BAB
functions:
- sceKernelCpuDcacheFlush: 0x6BA2E51C
- sceKernelCpuIcacheAndL2Flush: 0x19F17BD0
+ sceKernelCpuDcacheWritebackInvalidateRange: 0x6BA2E51C
+ sceKernelCpuIcacheAndL2WritebackInvalidateRange: 0x19F17BD0
sceKernelCpuRestoreContext: 0x0A4F0FB9
sceKernelCpuSaveContext: 0x211B89DA
sceKernelCpuUnrestrictedMemcpy: 0x8C683DEC