diff options
-rw-r--r-- | include/kernel/kernel/cpu.h | 37 | ||||
-rw-r--r-- | nids/360/ScePower.yml | 1 | ||||
-rw-r--r-- | nids/360/SceSysmem.yml | 3 |
3 files changed, 36 insertions, 5 deletions
diff --git a/include/kernel/kernel/cpu.h b/include/kernel/kernel/cpu.h index a4262ef..c8c3d5e 100644 --- a/include/kernel/kernel/cpu.h +++ b/include/kernel/kernel/cpu.h @@ -90,6 +90,16 @@ int sceKernelCpuEnableInterrupts(int flags); int sceKernelCpuDcacheWritebackRange(void *ptr, size_t len); /** + * @brief Invalidate a range of L1 dcache (without L2) + * + * @param ptr The pointer + * @param[in] len The length + * + * @return Zero on success + */ +int sceKernelCpuDcacheInvalidateRange(void *ptr, size_t len); + +/** * @brief Writeback and invalidate a range of L1 dcache (without L2) * * @param ptr The pointer @@ -110,7 +120,7 @@ int sceKernelCpuDcacheWritebackInvalidateRange(void *ptr, size_t len); int sceKernelCpuDcacheAndL2WritebackRange(void *ptr, size_t len); /** - * @brief Writeback and invalidate a range of L1 and L2 dcache + * @brief Writeback and invalidate a range of L1 dcache and L2 * * @param ptr The pointer * @param[in] len The length @@ -120,24 +130,41 @@ int sceKernelCpuDcacheAndL2WritebackRange(void *ptr, size_t len); int sceKernelCpuDcacheAndL2InvalidateRange(void *ptr, size_t len); /** - * @brief Writeback and invalidate a range of L1 icache and L2 + * @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 sceKernelCpuIcacheAndL2WritebackInvalidateRange(void *ptr, size_t len); +int sceKernelCpuDcacheAndL2WritebackInvalidateRange(void *ptr, size_t len); /** - * @brief Writeback and invalidate a range of L1 dcache and L2 + * @brief Invalidate a range of L1 icache (without L2) * * @param ptr The pointer * @param[in] len The length * * @return Zero on success */ -int sceKernelCpuDcacheAndL2WritebackInvalidateRange(void *ptr, size_t len); +int sceKernelCpuIcacheInvalidateRange(void *ptr, size_t len); + +/** + * @brief Invalidate all the L1 icache (without L2) + * + * @return Zero on success + */ +int sceKernelCpuIcacheInvalidateAll(void); + +/** + * @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 sceKernelCpuIcacheAndL2WritebackInvalidateRange(void *ptr, size_t len); /** * @brief MMU permission bypassing memcpy diff --git a/nids/360/ScePower.yml b/nids/360/ScePower.yml index f71ed87..c503204 100644 --- a/nids/360/ScePower.yml +++ b/nids/360/ScePower.yml @@ -50,6 +50,7 @@ modules: ScePowerForDriver: nid: 0x1590166F functions: + scePowerGetPowerSwMode: 0x165CE085 scePowerGetWakeupFactor: 0x9F26222A scePowerRequestColdReset: 0x0442D852 scePowerRequestHibernate: 0x08951418 diff --git a/nids/360/SceSysmem.yml b/nids/360/SceSysmem.yml index da350db..47013fb 100644 --- a/nids/360/SceSysmem.yml +++ b/nids/360/SceSysmem.yml @@ -8,6 +8,7 @@ modules: sceKernelCpuDcacheAndL2InvalidateRange: 0x02796361 sceKernelCpuDcacheAndL2WritebackInvalidateRange: 0x364E68A4 sceKernelCpuDcacheAndL2WritebackRange: 0x103872A5 + sceKernelCpuDcacheInvalidateRange: 0x8B4C26DF sceKernelCpuDcacheWritebackRange: 0x9CB9F0CE sceKernelCpuDisableInterrupts: 0x821FC0EE sceKernelCpuEnableInterrupts: 0xF5BAD43B @@ -16,6 +17,8 @@ modules: functions: sceKernelCpuDcacheWritebackInvalidateRange: 0x6BA2E51C sceKernelCpuIcacheAndL2WritebackInvalidateRange: 0x19F17BD0 + sceKernelCpuIcacheInvalidateAll: 0x264DA250 + sceKernelCpuIcacheInvalidateRange: 0xF4C7F578 sceKernelCpuRestoreContext: 0x0A4F0FB9 sceKernelCpuSaveContext: 0x211B89DA sceKernelCpuUnrestrictedMemcpy: 0x8C683DEC |