Commit Graph

2352 Commits

Author SHA1 Message Date
a5693afa03 Revert "Revert "k_page_group: synchronize"" 2023-01-07 15:32:10 -08:00
10eaf31af3 Revert "k_page_group: synchronize" 2022-12-29 17:39:42 +09:00
b0722591c9 hle_ipc: Use thread_local ReadBuffer 2022-12-28 18:46:54 -05:00
a1490d77ac hle_ipc: Rename ReadBufferSpan to ReadBuffer 2022-12-28 18:46:54 -05:00
59c0f85407 hle_ipc: Rename ReadBuffer to ReadBufferCopy
Indicates explicitly that a copy is occurring
2022-12-28 18:46:54 -05:00
7ffd624248 service: Use ReadBufferSpan where it is trivial to do so 2022-12-25 17:04:02 -05:00
28d9c30861 k_page_table: remove HACK_OpenPages/ClosePages 2022-12-25 13:43:49 -05:00
9349f06963 hle_ipc: Add ReadBufferSpan function
Returns a std::span to the buffer address, rather than create a copy of the memory into a std::vector
2022-12-25 13:20:59 -05:00
3392fdac9b k_page_group: synchronize 2022-12-25 12:55:21 -05:00
99eccf581e kernel: workaround static shared memory initialization 2022-12-23 13:40:30 -05:00
c770f25ccb kernel: remove TimeManager 2022-12-18 20:21:24 -05:00
67c0d714c5 kernel: add KHardwareTimer 2022-12-18 16:37:19 -05:00
4faea2bbf4 Merge pull request #9452 from ameerj/hle-read-buffer-resreve
hle_ipc: Refactor ReadBuffer to set buffer size upon initialization
2022-12-17 10:21:30 -05:00
789da737af Merge pull request #9450 from ameerj/hle-ipc-vector-reserve
hle_ipc: Reserve vectors before populating
2022-12-16 11:57:48 -05:00
b1d633532f hle_ipc: Refactor ReadBuffer to set buffer size upon initialization
Initializing the vector size during initialization is more efficient than a later call to resize()
2022-12-15 23:22:11 -05:00
12c0f682e6 hle_ipc: Reserve vectors before populating 2022-12-15 22:30:42 -05:00
20cbf6f3db kernel: svc: Fix duplicated InfoType enum 2022-12-15 14:18:30 -06:00
dca4f0687a kernel: process: Implement GetFreeThreadCount
Used by Just Dance® 2023 Edition
2022-12-15 13:44:21 -06:00
339a37f8cb Merge pull request #9398 from liamwhite/fail
general: improve handling of system startup failure
2022-12-12 14:37:42 -08:00
c586ac9be2 Remove the lock entirely as per PR discussion
Correctly unlock mutex before its destruction

As per https://en.cppreference.com/w/cpp/thread/mutex/~mutex destroying a locked mutex is undefined behavior and MSVC++ decides to throw in this case

Swap out unique for scoped lock and readd comment
2022-12-09 16:39:59 +01:00
9704acb982 general: improve handling of system startup failure 2022-12-06 16:13:42 -05:00
efa8711bf3 kernel/k_shared_memory: Ensure device_memory is always initialized 2022-12-05 15:27:57 -05:00
c3fd211b43 kernel/k_memory_block: Ensure members are always initialized 2022-12-05 15:27:47 -05:00
dcca650599 kernel/physical_core: Ensure is_interrupted is always initialized 2022-12-05 15:19:37 -05:00
dddc9bb8f1 kernel/thread: Ensure stack_top and argument are always initialized 2022-12-05 15:19:36 -05:00
4769d798f9 kernel/kernel: Ensure shutdown threads are always initialized 2022-12-05 15:19:36 -05:00
cec3a3cd5a service_thread: fix uninitialized memory usage 2022-12-04 16:02:24 -05:00
22aff09b33 Merge pull request #9289 from liamwhite/fruit-company
general: fix compile for Apple Clang
2022-12-03 12:09:21 -05:00
59335f6796 hle_ipc: Add helper functions for getting number of buffer elements 2022-11-23 13:15:19 -05:00
c31f19b6d1 hle_ipc: Mark relevant member functions as [[nodiscard]]
Will allow the compiler to complain about cases where ignoring the
return value would be a bug.
2022-11-23 13:08:52 -05:00
9737615948 general: fix compile for Apple Clang 2022-11-22 22:22:28 -05:00
8d99aae45b k_handle_table: Remove cast to void* in GetObjectForIpc
This was used to get around the KProcess class being incomplete. We can
just move this to the cpp file and eliminate the cast entirely, letting
the compiler do its work.
2022-11-22 13:58:42 -05:00
1fb33bd1e1 Merge pull request #9234 from liamwhite/data-cash-money
kernel: implement data cache management operations
2022-11-18 13:18:36 -08:00
e5a446a0df Merge pull request #9229 from Docteh/achy_breaky_heart
Add break for default cases
2022-11-17 19:20:18 -05:00
6fa3faec65 Add break for default cases
Visual Studio has an option to search all files in a solution, so I
did a search in there for "default:" looking for any missing break
statements.

I've left out default statements that return something, and that throw
something, even if via ThrowInvalidType. UNREACHABLE leads towards throw

R_THROW macro leads towards a return
2022-11-13 16:30:55 -08:00
040a01a5dd Merge pull request #9225 from liamwhite/debugger-instance
Debugger improvements
2022-11-12 21:04:00 -05:00
651f6598ac kernel: implement FlushProcessDataCache 2022-11-12 11:27:04 -05:00
b51c1544b9 Merge pull request #9224 from liamwhite/services-arent-processes
service_thread: remove explicit KProcess
2022-11-11 22:37:04 -08:00
d05b183f21 Merge pull request #9198 from liamwhite/arm64
Initial ARM64 support
2022-11-10 17:11:27 -08:00
18123ff958 gdbstub: add ams monitor commands 2022-11-10 19:20:57 -05:00
b34d3d5882 service_thread: remove explicit KProcess 2022-11-10 16:14:03 -05:00
4eece4d35d kernel/svc_types: refresh 2022-11-09 19:05:08 -05:00
770f23db34 Merge pull request #9182 from liamwhite/services-are-processes
kernel: assign KProcess to service threads
2022-11-09 15:52:23 -08:00
cbaf642ffe Initial ARM64 support 2022-11-09 16:58:49 -05:00
3161b34ff6 Merge pull request #9215 from liamwhite/swordfight
Ensure correctness of atomic store ordering
2022-11-09 14:50:49 +01:00
71c0e20f95 Ensure correctness of atomic store ordering 2022-11-09 08:09:50 -05:00
6a0d8b2aa1 service_thread: fix deletion 2022-11-06 19:50:51 -05:00
4c198bbf06 Merge pull request #9173 from bunnei/kern-update-15
Kernel: Various updates for FW 15.0.x
2022-11-05 13:25:29 -04:00
cf0f821565 core: hle: kernel: Address review comments. 2022-11-05 12:23:47 -04:00
e6fe40428c service_thread: register service threads to the logical owner process 2022-11-04 09:18:57 -04:00