Commit graph

57 commits

Author SHA1 Message Date
wheremyfoodat
8dd5b990be Thread bonk part 1: Better rescheduling maybe 2023-07-28 19:49:11 +03:00
Wunkolo
37b75f0928 Fix C4267/C4244 warnings
Address warnings involving lossy conversions from larger integer-types into smaller integer-types
2023-07-10 12:33:37 -07:00
Sky
e9b3b7c2a2 Add workaround helper for bit_cast and missing #include <bit>
Allows compilation on native macOS build system.
2023-06-18 12:33:34 -07:00
wheremyfoodat
d0ae5f0546
Merge pull request #37 from marysaka/feat/proper-hle-result
hle: Add proper type for result code
2023-06-17 18:39:36 +03:00
Mary
122b1b2727 hle: Add proper type for result code
This should clean up all HLE errorcode in the codebase.

I didn't removed Rust::Result as this should be a cleanup for another
iteration.
2023-06-16 20:09:37 +02:00
Wunkolo
fde93381a5 Use std::span for CPU register-state
Following the trend of #33: `std::span` provides some useful utility
functions like `size_bytes()` and `as_bytes()` and serves as a better
non-owning "chunk of data"-type over just passing around an
`std::array&`.
2023-06-16 07:24:37 -07:00
wheremyfoodat
09ba66ae60 [Kernel] Fully implement semaphores 2023-05-07 18:02:51 +03:00
wheremyfoodat
de537fedfb [Kernel] Add proper WakeUpAllThreads 2023-05-06 00:06:31 +03:00
wheremyfoodat
71676a79e2 [Kernel] Spam some more RescheduleThreads calls 2023-05-01 00:27:49 +03:00
wheremyfoodat
74b06da6b2 [Kernel] Handle timeout errors properly 2023-04-30 14:41:57 +03:00
wheremyfoodat
dac77cdc1d [Kernel Add WakeupOneThread 2023-04-29 01:45:30 +03:00
wheremyfoodat
0eeff3535f Derp 2023-04-24 23:25:56 +03:00
wheremyfoodat
1cf8af98c2 Another one 2023-04-24 23:13:37 +03:00
wheremyfoodat
9532e694b3 [Kernel] Acquiring threads 2023-04-23 01:07:21 +03:00
wheremyfoodat
908e1fc4fd [DSP] Add event stubs to fix games locking up 2023-04-22 20:59:34 +03:00
wheremyfoodat
2ebbb08766 [Mutex] Make less dumb 2023-04-21 21:48:07 +03:00
wheremyfoodat
91e008ad1d [Kernel] New event signalling, better Mootex 2023-04-21 21:39:59 +03:00
wheremyfoodat
33158c7908 [Kernel] Make WaitSyncN better 2023-04-21 01:08:13 +03:00
wheremyfoodat
f575d4db82 Fix derp 2023-04-20 22:52:32 +03:00
wheremyfoodat
7f2715d06c [Kernel] Fix release mutex 2023-04-20 22:24:36 +03:00
wheremyfoodat
134d63c515 [Kernel] Moar threads 2023-04-20 22:00:51 +03:00
wheremyfoodat
fecf038982 [APT/Kernel] More fixing hacks 2023-04-19 23:11:29 +03:00
wheremyfoodat
c6c45408fe Starting on sync object rewrite #3 2023-04-18 03:14:25 +03:00
wheremyfoodat
4e64f722e5 [Kernel] ExitThread [FS] Start implement archive 0x2345678A 2023-01-26 17:49:17 +02:00
wheremyfoodat
f68ddebf90 Fix SleepThread SVC (Fixes nullptr access in SM3DL and Pokemon Rumble Blast) 2023-01-25 01:44:14 +02:00
wheremyfoodat
1730ab9734 Stub AM::GetDLCTitleInfo got PMD: Gates to Infinity 2023-01-13 23:41:20 +02:00
wheremyfoodat
9f792c2cf5 Add thread logger, split renderer from PICA 2023-01-01 21:04:34 +02:00
wheremyfoodat
6b69010628 [Kernel] Forgot a sortThreads call, oops. 2022-12-31 15:57:24 +02:00
wheremyfoodat
ca4726aba1 More thread work 2022-12-07 02:08:18 +02:00
wheremyfoodat
70a492fa03 [Kernel] Add log to CreateMutex 2022-11-18 00:01:20 +02:00
wheremyfoodat
7b8cac8d43 Semaphores v0.1 2022-11-17 22:14:56 +02:00
wheremyfoodat
3c55d88fab [Kernel & APT] Mutexes v0.1 2022-11-17 00:29:02 +02:00
wheremyfoodat
41e01bbdd4 Sync objects 0.1 2022-11-16 22:02:52 +02:00
wheremyfoodat
1147824709 [Kernel] Implement SetThreadPriority 2022-10-16 01:21:33 +03:00
wheremyfoodat
bb9a50ab31 [Kernel] Implement getThreadPriority 2022-10-16 01:01:09 +03:00
wheremyfoodat
41aecae58a [Kernel] Fix threading bug I think 2022-10-15 23:37:22 +03:00
wheremyfoodat
72132cd97e [Kernel] Register CreateMutex in the SVC table 2022-10-15 23:19:28 +03:00
wheremyfoodat
b6a1da21a9 [FS] Cleanup, stub SDMC, start implementing SaveData 2022-10-12 17:29:36 +03:00
wheremyfoodat
8cf55162d0 [Kernel] Fix yet another threading oopsie (BOOTS OCARINA OF TIME!!!!!) 2022-10-12 00:57:41 +03:00
wheremyfoodat
e1ce698600 [Kernel] Make SleepThread actually sleep. 2022-10-12 00:42:42 +03:00
wheremyfoodat
64f397f865 [Kernel] Return success for SleepThread 2022-10-12 00:36:49 +03:00
wheremyfoodat
2a4709dcfa [Kernel] Implement thread sleeping 2022-10-11 22:45:25 +03:00
wheremyfoodat
156a89ba75 Cleanup, fix RomFS reads (todo: revisit), add CFG::GetConfigInfoBlk2 2022-10-11 22:04:26 +03:00
wheremyfoodat
81b0f3dde0 [Kernel] Much better arbiter & thread scheduling impl 2022-10-10 16:41:08 +03:00
wheremyfoodat
cd13ba6271 [Kernel/APT] Stub some APT and threading stuff to make OoT go further 2022-10-09 18:59:54 +03:00
wheremyfoodat
be4fae5104 Trongle 2022-09-24 02:45:57 +03:00
wheremyfoodat
aef1520f17 [Kernel] Implement GetThreadID, stub DuplicateHandle 2022-09-22 00:02:50 +03:00
wheremyfoodat
d3a2591d19 [Kernel] Implement ClearEvent, stub WaitSynchronization1 2022-09-20 19:02:52 +03:00
wheremyfoodat
6bfe321777 [Kernel] Allocate TLS for other threads, fix CreateThread svc 2022-09-20 17:51:24 +03:00
wheremyfoodat
77078f73b3 [Kernel] Fix ArbitrateAddress 2022-09-20 16:50:20 +03:00