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

s32 __osSpSetPc(void* pc) {
    register u32 status = HW_REG(SP_STATUS_REG, u32);
    if (!(status & SP_CLR_HALT)) {
        return -1;
    } else {
        HW_REG(SP_PC_REG, void*) = pc;
        return 0;
    }
}