diff options
-rw-r--r-- | include/kernel/kernel/cpu.h | 14 | ||||
-rw-r--r-- | nids/360/SceSysmem.yml | 1 |
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: |