summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/kernel/kernel/cpu.h14
-rw-r--r--nids/360/SceSysmem.yml1
2 files changed, 13 insertions, 2 deletions
diff --git a/include/kernel/kernel/cpu.h b/include/kernel/kernel/cpu.h
index a961f86..859424d 100644
--- a/include/kernel/kernel/cpu.h
+++ b/include/kernel/kernel/cpu.h
@@ -81,7 +81,7 @@ int sceKernelCpuEnableInterrupts(int flags);
/**
* @brief Flush L1 dcache and L2
- *
+ *
* Note: symbols currently does not work on 3.x, need to find new ones.
*
* @param ptr The pointer
@@ -102,6 +102,16 @@ int sceKernelCpuDcacheAndL2Flush(void *ptr, size_t len);
int sceKernelCpuDcacheFlush(void *ptr, size_t len);
/**
+ * @brief Writeback a range of L1 dcache (not sure if L2 too)
+ *
+ * @param ptr The pointer
+ * @param[in] len The length
+ *
+ * @return Zero on success
+ */
+int sceKernelCpuDcacheWritebackRange(void *ptr, size_t len);
+
+/**
* @brief Flush L1 icache and L2
*
* @param ptr The pointer
@@ -123,7 +133,7 @@ int sceKernelCpuDcacheAndL2AndDMAFlush(void *ptr, size_t len);
/**
* @brief MMU permission bypassing memcpy
- *
+ *
* This works by writing to the DACR before and after the memcpy.
*
* @param dst The destination
diff --git a/nids/360/SceSysmem.yml b/nids/360/SceSysmem.yml
index 130b2ad..f835e5d 100644
--- a/nids/360/SceSysmem.yml
+++ b/nids/360/SceSysmem.yml
@@ -7,6 +7,7 @@ modules:
functions:
sceKernelCpuDcacheAndL2AndDMAFlush: 0x364E68A4
sceKernelCpuDcacheAndL2Flush: 0x9CB9F0CE
+ sceKernelCpuDcacheWritebackRange: 0x103872A5
sceKernelCpuDisableInterrupts: 0x821FC0EE
sceKernelCpuEnableInterrupts: 0xF5BAD43B
SceCpuForKernel: