summaryrefslogtreecommitdiff
path: root/src/libultra_code_O2/sptask.c
diff options
context:
space:
mode:
authorTharo <17233964+Thar0@users.noreply.github.com>2021-12-01 00:08:57 +0000
committerGitHub <noreply@github.com>2021-11-30 19:08:57 -0500
commitf1d183d6feac23275306bfa2dee939d123702765 (patch)
treec20585c17dea94561f7c4cfcff572e39bc033a3e /src/libultra_code_O2/sptask.c
parenteabc91881761a82856cca3fab9a4749c60ea1fe7 (diff)
libultra files and directories restructure (#1038)
* Restructure files, begin header restructure * Format * us2dex * Fix parallel spelling Co-authored-by: JoshDuMan <40190173+JoshDuMan@users.noreply.github.com> * Use OS_K0_TO_PHYSICAL in place of VIRTUAL_TO_PHYSICAL in osAiSetNextBuffer * Uppercase hex, exception vector address defines * Interrupt flags 1 Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com> * Interrupt flags 2 Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com> Co-authored-by: JoshDuMan <40190173+JoshDuMan@users.noreply.github.com> Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
Diffstat (limited to 'src/libultra_code_O2/sptask.c')
-rw-r--r--src/libultra_code_O2/sptask.c60
1 files changed, 0 insertions, 60 deletions
diff --git a/src/libultra_code_O2/sptask.c b/src/libultra_code_O2/sptask.c
deleted file mode 100644
index 84a9624fb..000000000
--- a/src/libultra_code_O2/sptask.c
+++ /dev/null
@@ -1,60 +0,0 @@
-#include "global.h"
-
-#define _osVirtualToPhysical(ptr) \
- if (ptr != NULL) { \
- ptr = (void*)osVirtualToPhysical(ptr); \
- }
-
-static OSTask sTmpTask;
-
-OSTask* _VirtualToPhysicalTask(OSTask* intp) {
- OSTask* tp = &sTmpTask;
-
- bcopy(intp, tp, sizeof(OSTask));
-
- _osVirtualToPhysical(tp->t.ucode);
- _osVirtualToPhysical(tp->t.ucode_data);
- _osVirtualToPhysical(tp->t.dram_stack);
- _osVirtualToPhysical(tp->t.output_buff);
- _osVirtualToPhysical(tp->t.output_buff_size);
- _osVirtualToPhysical(tp->t.data_ptr);
- _osVirtualToPhysical(tp->t.yield_data_ptr);
-
- return tp;
-}
-
-void osSpTaskLoad(OSTask* intp) {
- OSTask* tp = _VirtualToPhysicalTask(intp);
-
- if (tp->t.flags & OS_TASK_YIELDED) {
- tp->t.ucode_data = tp->t.yield_data_ptr;
- tp->t.ucode_data_size = tp->t.yield_data_size;
- intp->t.flags &= ~OS_TASK_YIELDED;
-
- if (tp->t.flags & OS_TASK_LOADABLE) {
- tp->t.ucode = HW_REG((u32)intp->t.yield_data_ptr + OS_YIELD_DATA_SIZE - 4, u32);
- }
- }
- osWritebackDCache(tp, sizeof(OSTask));
- __osSpSetStatus(SP_CLR_SIG0 | SP_CLR_SIG1 | SP_CLR_SIG2 | SP_SET_INTR_BREAK);
-
- while (__osSpSetPc((void*)SP_IMEM_START) == -1) {
- ;
- }
- while (__osSpRawStartDma(1, (void*)(SP_IMEM_START - sizeof(*tp)), tp, sizeof(OSTask)) == -1) {
- ;
- }
- while (__osSpDeviceBusy()) {
- ;
- }
- while (__osSpRawStartDma(1, (void*)SP_IMEM_START, tp->t.ucode_boot, tp->t.ucode_boot_size) == -1) {
- ;
- }
-}
-
-void osSpTaskStartGo(OSTask* tp) {
- while (__osSpDeviceBusy()) {
- ;
- }
- __osSpSetStatus(SP_SET_INTR_BREAK | SP_CLR_SSTEP | SP_CLR_BROKE | SP_CLR_HALT);
-}