summaryrefslogtreecommitdiff
path: root/lib/ultralib/src/os/virtualtophysical.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/ultralib/src/os/virtualtophysical.c')
-rw-r--r--lib/ultralib/src/os/virtualtophysical.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/lib/ultralib/src/os/virtualtophysical.c b/lib/ultralib/src/os/virtualtophysical.c
new file mode 100644
index 0000000..5cf9e86
--- /dev/null
+++ b/lib/ultralib/src/os/virtualtophysical.c
@@ -0,0 +1,13 @@
+#include "PR/os_internal.h"
+#include "PR/R4300.h"
+#include "osint.h"
+
+u32 osVirtualToPhysical(void *addr) {
+ if (IS_KSEG0(addr)) {
+ return K0_TO_PHYS(addr);
+ } else if (IS_KSEG1(addr)) {
+ return K1_TO_PHYS(addr);
+ } else {
+ return __osProbeTLB(addr);
+ }
+}