d5fc56db4b
Move to Clang Format 15
...
Depends on https://github.com/yuzu-emu/build-environments/pull/69
clang-15 primary run
2023-01-29 17:49:42 -07:00
693cad8e9b
kernel: split SetAddressKey into user and kernel variants
2023-01-23 20:31:03 -05:00
5086380a63
kernel: fix incorrect locking order in suspension
2023-01-23 17:14:41 -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
dddc9bb8f1
kernel/thread: Ensure stack_top and argument are always initialized
2022-12-05 15:19:36 -05:00
e6fe40428c
service_thread: register service threads to the logical owner process
2022-11-04 09:18:57 -04:00
1a378a7769
kernel: refactor dummy thread wakeups
2022-10-24 19:52:01 -04:00
57a77e9ff4
core: hle: kernel: k_thread: Implement thread termination DPC.
2022-10-18 19:13:34 -07:00
da07e13e07
kernel: fix single-core preemption points
2022-07-14 22:47:18 -04:00
21945ae127
kernel: fix issues with single core mode
2022-07-14 22:47:18 -04:00
0624c880bd
kernel: use KScheduler from mesosphere
2022-07-14 22:47:18 -04:00
ed0319cfed
common/fiber: make fibers easier to use
2022-07-02 12:33:49 -04:00
a7d9be1384
core: Replace all instances of ResultCode with Result
2022-06-26 20:21:37 -05:00
2c56e94702
kernel: make current thread pointer thread local
2022-06-23 00:28:00 -04:00
24d7aaf43c
kernel: wait for threads to stop on pause
2022-06-18 16:54:33 -04:00
07922abffc
core/debugger: Support reading guest thread names
2022-06-01 21:25:32 -04:00
989d4a7a41
core/debugger: Improved stepping mechanism and misc fixes
2022-06-01 02:15:15 -04:00
99ceb03a1c
general: Convert source file copyright comments over to SPDX
...
This formats all copyright comments according to SPDX formatting guidelines.
Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
2022-04-23 05:55:32 -04:00
3f0b93925f
core: hle: kernel: k_thread: Rework dummy thread waiting.
2022-04-11 21:15:38 -07:00
8deaac8bd1
hle: kernel: Use std::mutex instead of spin locks for most kernel locking.
2022-04-11 21:13:40 -07:00
6bcbbb29e7
k_thread: Fix data race
...
TSan reports a data race between writing at cpp:1162 and reading at
h:262. Make the thread_state atomic to prevent this.
2022-04-03 21:47:58 -04:00
25c0acc388
core: hle: kernel: k_thread: Update to reflect tree changes.
2022-03-14 18:14:53 -07:00
615fb40416
hle: kernel: KThread: Ensure host (dummy) threads block on locking.
...
- But do not enter the priority queue, as otherwise they will be scheduled.
- Allows dummy threads to use guest synchronization primitives.
2022-01-21 17:12:06 -08:00
46a620f9d7
hle: kernel: KThread: Decrease DummyThread priority to ensure it is never scheduled.
2022-01-20 17:08:00 -08:00
f6cbb14dce
hle: kernel: KThread: Rename thread_type_for_debugging -> thread_type.
...
- This will be used to ensure that we do not schedule dummy threads.
2022-01-20 17:08:00 -08:00
f499c8177e
core: hle: kernel: KThread: Integrate with KWorkerTask and implement DoWorkerTaskImpl.
...
- This is used to terminate a thread asynchronously after it has been exited.
- This fixes a crash that can occur in Pokemon Sword/Shield because a thread is incorrectly closed on svcExitThread, then, the thread is destroyed on svcCloseHandle while it is still scheduled.
- Instead, we now wait for the thread to no longer be scheduled on all cores before destroying it from KWorkerTaskManager, which is accurate to HOS behavior.
2022-01-14 16:44:14 -08:00
03884b7ea6
core: hle: kernel: KThread: Replace Suspend with UpdateState & various updates.
...
- This makes our implementations of these more closely match HOS.
2022-01-14 16:44:14 -08:00
3a89723d97
core: hle: kernel: Implement thread pinning.
...
- We largely had the mechanics in place for thread pinning, this change hooks these up.
- Validated with tests https://github.com/Atmosphere-NX/Atmosphere/blob/master/tests/TestSvc/source/test_thread_pinning.cpp .
2021-12-30 15:50:45 -08:00
42697527ba
hle: kernel: k_thread: Rename sleeping_queue -> wait_queue.
2021-12-06 16:39:18 -08:00
0d9afdedc4
hle: kernel: k_thread: Treat dummy threads as a special type.
2021-12-06 16:39:18 -08:00
abbea575cf
hle: kernel: Add a flag for indicating that the kernel is currently shutting down.
2021-12-06 16:39:17 -08:00
8f4ff06c4c
hle: kernel: Cleanup to match coding style.
2021-12-06 16:39:17 -08:00
b0671c7cfa
hle: kernel: KThread: Migrate to updated KThreadQueue (part 1).
2021-12-06 16:39:17 -08:00
2f89456041
hle: kernel: KThread: Remove tracking of sync object from threads.
2021-12-06 16:39:17 -08:00
bc1399204b
hle: kernel: Update KThreadQueue and migrate KSynchronizationObject.
2021-12-06 16:39:17 -08:00
3dc803a430
core: hle: kernel: Disable dispatch count tracking on single core.
...
- This would have limited value, and would be a mess to handle properly.
2021-12-06 16:39:17 -08:00
d14b8fc747
core: hle: kernel: k_thread: Mark KScopedDisableDispatch as nodiscard.
2021-12-06 16:39:17 -08:00
04daefa488
core: hle: kernel: k_thread: Add KScopedDisableDispatch.
2021-12-06 16:39:16 -08:00
0c8594b225
Revert "kernel: Various improvements to scheduler"
2021-08-25 20:59:28 -07:00
aef0ca6f0d
core: hle: kernel: Disable dispatch count tracking on single core.
...
- This would have limited value, and would be a mess to handle properly.
2021-08-14 02:14:19 -07:00
5060a97210
core: hle: kernel: k_thread: Mark KScopedDisableDispatch as nodiscard.
2021-08-07 12:33:31 -07:00
01af2f4162
core: hle: kernel: k_thread: Add KScopedDisableDispatch.
2021-08-07 12:18:47 -07:00
12c1766997
general: Replace RESULT_SUCCESS with ResultSuccess
...
Transition to PascalCase for result names.
2021-06-02 00:39:27 -04:00
7b2917b4e1
kernel: Add missing override specifiers
...
Over the course of the kernel refactoring a tiny bit of missing
overrides slipped through review, so we can add these.
While we're at it, we can remove redundant virtual keywords where
applicable as well.
2021-05-29 02:58:32 -04:00
2f62bae9e3
kernel: Eliminate variable shadowing
...
Now that the large kernel refactor is merged, we can eliminate the
remaining variable shadowing cases.
2021-05-08 12:33:26 -04:00
2a7eff57a8
hle: kernel: Rename Process to KProcess.
2021-05-05 16:40:52 -07:00
bf380b8584
hle: kernel: Remove deprecated Object class.
2021-05-05 16:40:52 -07:00
479bd50b96
hle: kernel: Migrate KThread to KAutoObject.
2021-05-05 16:40:50 -07:00
0fb3773924
k_thread: Remove [[nodiscard]] attribute from ClearWaitCancelled()
...
This function has a void return value, so this attribute doesn't apply
to it.
2021-04-12 10:17:38 -04:00