gdbstub_plugin/src/kernel.cpp

20 lines
666 B
C++
Raw Normal View History

2022-02-08 14:48:41 +01:00
#include <coreinit/cache.h>
#include <coreinit/memorymap.h>
#include <kernel/kernel.h>
2018-09-24 10:43:20 +02:00
void KernelWrite(uint32_t addr, const void *data, uint32_t length) {
2022-02-08 14:44:53 +01:00
uint32_t dst = OSEffectiveToPhysical(addr);
uint32_t src = OSEffectiveToPhysical((uint32_t) data);
KernelCopyData(dst, src, length);
DCFlushRange((void *) addr, length);
ICInvalidateRange((void *) addr, length);
2018-09-24 10:43:20 +02:00
}
void KernelWriteU32(uint32_t addr, uint32_t value) {
2022-02-08 14:44:53 +01:00
uint32_t dst = OSEffectiveToPhysical(addr);
uint32_t src = OSEffectiveToPhysical((uint32_t) &value);
KernelCopyData(dst, src, 4);
DCFlushRange((void *) addr, 4);
ICInvalidateRange((void *) addr, 4);
2018-09-24 10:43:20 +02:00
}