summaryrefslogtreecommitdiff
path: root/src/os/osVirtualToPhysical.c
blob: f71e36b0a8408ca375aa70a524c6c6ff768564f6 (plain)
1
2
3
4
5
6
7
8
9
10
11
#include "libultra_internal.h"

uintptr_t osVirtualToPhysical(void* addr) {
    if ((uintptr_t) addr >= 0x80000000 && (uintptr_t) addr < 0xa0000000) {
        return ((uintptr_t) addr & 0x1fffffff);
    } else if ((uintptr_t) addr >= 0xa0000000 && (uintptr_t) addr < 0xc0000000) {
        return ((uintptr_t) addr & 0x1fffffff);
    } else {
        return __osProbeTLB(addr);
    }
}