mirror of https://github.com/zeldaret/mm.git
some os files
This commit is contained in:
parent
1bf2fbaf79
commit
ec1e7a0f5e
|
|
@ -1,5 +1,4 @@
|
|||
#include "ultra64.h"
|
||||
#include "global.h"
|
||||
|
||||
s32 osAfterPreNMI(void) {
|
||||
return __osSpSetPc(0);
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
#include "global.h"
|
||||
#include "ultra64.h"
|
||||
|
||||
void osCreateMesgQueue(OSMesgQueue* mq, OSMesg* msq, s32 count) {
|
||||
mq->mtQueue = (OSThread*)&__osThreadTail;
|
||||
mq->fullQueue = (OSThread*)&__osThreadTail;
|
||||
mq->mtQueue = (OSThread*)&__osThreadTail.next;
|
||||
mq->fullQueue = (OSThread*)&__osThreadTail.next;
|
||||
mq->validCount = 0;
|
||||
mq->first = 0;
|
||||
mq->msgCount = count;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
#include "global.h"
|
||||
#include "ultra64.h"
|
||||
|
||||
void osCreateThread(OSThread* thread, OSId id, void* entry, void* arg, void* sp, OSPri p) {
|
||||
register u32 saveMask;
|
||||
|
|
@ -13,12 +13,12 @@ void osCreateThread(OSThread* thread, OSId id, void* entry, void* arg, void* sp,
|
|||
thread->context.sp = (u64)(s32)sp - 16;
|
||||
thread->context.ra = __osCleanupThread;
|
||||
|
||||
mask = 0x3FFF01;
|
||||
thread->context.sr = 0xFF03;
|
||||
thread->context.rcp = (mask & 0x3F0000) >> 16;
|
||||
thread->context.fpcsr = 0x01000800;
|
||||
mask = OS_IM_ALL;
|
||||
thread->context.sr = (mask & (SR_IMASK | SR_IE)) | SR_EXL;
|
||||
thread->context.rcp = (mask & RCP_IMASK) >> RCP_IMASKSHIFT;
|
||||
thread->context.fpcsr = (u32)(FPCSR_FS | FPCSR_EV);
|
||||
thread->fp = 0;
|
||||
thread->state = 1;
|
||||
thread->state = OS_STATE_STOPPED;
|
||||
thread->flags = 0;
|
||||
|
||||
saveMask = __osDisableInt();
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
#include "global.h"
|
||||
#include "ultra64.h"
|
||||
|
||||
void osDestroyThread(OSThread* t) {
|
||||
register u32 saveMask;
|
||||
|
|
@ -9,7 +9,7 @@ void osDestroyThread(OSThread* t) {
|
|||
|
||||
if (t == NULL) {
|
||||
t = __osRunningThread;
|
||||
} else if (t->state != 1) {
|
||||
} else if (t->state != OS_STATE_STOPPED) {
|
||||
__osDequeueThread(t->queue, t);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
#include "global.h"
|
||||
#include "ultra64.h"
|
||||
|
||||
OSThread* __osGetActiveQueue(void) {
|
||||
return __osActiveQueue;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
#include "global.h"
|
||||
#include "ultra64.h"
|
||||
|
||||
OSThread* __osGetCurrFaultedThread(void) {
|
||||
return __osFaultedThread;
|
||||
|
|
|
|||
|
|
@ -1,8 +1,7 @@
|
|||
#include "global.h"
|
||||
#include "PR/os_internal.h"
|
||||
#include "PR/osint.h"
|
||||
|
||||
void __osGetHWIntrRoutine(OSHWIntr idx, OSMesgQueue** outQueue, OSMesg* outMsg) {
|
||||
*outQueue = __osHwIntTable[idx].queue;
|
||||
*outMsg = __osHwIntTable[idx].msg;
|
||||
void __osGetHWIntrRoutine(OSHWIntr interrupt, OSMesgQueue** outQueue, OSMesg* outMsg) {
|
||||
*outQueue = __osHwIntTable[interrupt].queue;
|
||||
*outMsg = __osHwIntTable[interrupt].msg;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue