diff options
| author | Tharo <17233964+Thar0@users.noreply.github.com> | 2021-02-14 00:49:40 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-02-13 19:49:40 -0500 |
| commit | f9d96d9f73ac090245a518ec04f3fa0e50655d1e (patch) | |
| tree | 9dc905fce276cbfb07a05fc2bf0883bcedddcf23 /src/libultra_code_O2/sptask.c | |
| parent | d615ec4f31563b939f8c0dce1c20c79e137c2043 (diff) | |
Fix most compiler warnings in the boot and code segments (#674)
* Less warnings in boot & code segments
* few more warnings gone
* Ran formatter
* z_view warning gone
* -> 1
* f31 -> 31
* Remove function casts
* Few more small improvements
* Separate declaration and assignment in func_80091738 and Item_Give
Co-authored-by: Thar0 <maximilianc64@gmail.com>
Diffstat (limited to 'src/libultra_code_O2/sptask.c')
| -rw-r--r-- | src/libultra_code_O2/sptask.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/src/libultra_code_O2/sptask.c b/src/libultra_code_O2/sptask.c index aecb41d22..84a9624fb 100644 --- a/src/libultra_code_O2/sptask.c +++ b/src/libultra_code_O2/sptask.c @@ -19,6 +19,7 @@ OSTask* _VirtualToPhysicalTask(OSTask* intp) { _osVirtualToPhysical(tp->t.output_buff_size); _osVirtualToPhysical(tp->t.data_ptr); _osVirtualToPhysical(tp->t.yield_data_ptr); + return tp; } @@ -29,34 +30,31 @@ void osSpTaskLoad(OSTask* intp) { 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); } |
