Liam
3d5c6a73cb
core: refactor emulated cpu core activation
2023-12-04 10:37:16 -05:00
Liam
19619b1b14
arm: Implement native code execution backend
2023-11-25 00:46:47 -05:00
Liam
62e106dbe8
kernel: update KProcess
2023-10-21 20:03:41 -04:00
Morph
abe7f7c0a0
kernel: Synchronize
2023-07-01 16:21:22 -04:00
Kelebek1
c7430e51e3
Remove memory allocations in some hot paths
2023-06-22 08:05:10 +01:00
lat9nq
59236a458c
k_thread: Use a mutex and cond_var to sync bool
...
std::atomic<bool> is broken on MinGW and causes deadlocks there.
Use a normal cond var in its stead.
2023-06-17 15:25:36 -04:00
Liam
370a0526a5
kernel: remove general boost lists
2023-04-29 22:11:32 -04:00
Liam
6eaef51cf2
memory: rename global memory references to application memory
2023-03-23 20:28:47 -04:00
Liam
156516e399
kernel: use KTypedAddress for addresses
2023-03-22 09:35:16 -04:00
Liam
46d09ae364
kernel: convert KThread to new style
2023-03-12 22:09:09 -04:00
Liam
cf0b407daa
kernel: remove kernel_
2023-03-12 22:09:09 -04:00
Liam
3c93638acf
kernel: convert KPort, KSession
2023-03-12 22:06:53 -04:00
Liam
1484a6536d
kernel: clone fpu status on CreateThread
2023-03-07 19:18:06 -05:00
Liam
63414faea4
kernel: be more careful about kernel address keys
2023-03-01 10:42:45 -05:00
Liam
f4e795193b
kernel: refactor priority inheritance to represent locks as C++ objects
2023-03-01 10:42:45 -05:00
Liam
1c3a93e7c4
service: refactor server architecture
...
Converts services to have their own processes
2023-02-21 12:19:25 -05:00
Liam
832e1e2ca4
kernel: use GetCurrentProcess
2023-02-13 11:05:14 -05:00
Levi Behunin
2ff6c44168
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
Liam
b85a155abd
kernel: split SetAddressKey into user and kernel variants
2023-01-23 20:31:03 -05:00
Liam
31945a6e8b
kernel: fix incorrect locking order in suspension
2023-01-23 17:14:41 -05:00
Liam
8df44232e8
kernel: remove TimeManager
2022-12-18 20:21:24 -05:00
Liam
49d1cf6477
kernel: add KHardwareTimer
2022-12-18 16:37:19 -05:00
Lioncash
6fea145402
kernel/thread: Ensure stack_top and argument are always initialized
2022-12-05 15:19:36 -05:00
Liam
c835c254a3
service_thread: register service threads to the logical owner process
2022-11-04 09:18:57 -04:00
Liam
3980952ab8
kernel: refactor dummy thread wakeups
2022-10-24 19:52:01 -04:00
bunnei
97e4cd1c8f
core: hle: kernel: k_thread: Implement thread termination DPC.
2022-10-18 19:13:34 -07:00
Liam
21e2063d7d
kernel: fix single-core preemption points
2022-07-14 22:47:18 -04:00
Liam
61b26b386d
kernel: fix issues with single core mode
2022-07-14 22:47:18 -04:00
Liam
e47bced65d
kernel: use KScheduler from mesosphere
2022-07-14 22:47:18 -04:00
Liam
e551960935
common/fiber: make fibers easier to use
2022-07-02 12:33:49 -04:00
german77
c7890ebccc
core: Replace all instances of ResultCode with Result
2022-06-26 20:21:37 -05:00
Liam
83f1ecb73b
kernel: make current thread pointer thread local
2022-06-23 00:28:00 -04:00
Liam
808ad9eb9f
kernel: wait for threads to stop on pause
2022-06-18 16:54:33 -04:00
Liam
b3dce90004
core/debugger: Support reading guest thread names
2022-06-01 21:25:32 -04:00
Liam
da50e98e3a
core/debugger: Improved stepping mechanism and misc fixes
2022-06-01 02:15:15 -04:00
Morph
2b87305d31
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
bunnei
03f8a16869
core: hle: kernel: k_thread: Rework dummy thread waiting.
2022-04-11 21:15:38 -07:00
bunnei
e1b3368c18
hle: kernel: Use std::mutex instead of spin locks for most kernel locking.
2022-04-11 21:13:40 -07:00
lat9nq
831f022536
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
bunnei
c5516b1800
core: hle: kernel: k_thread: Update to reflect tree changes.
2022-03-14 18:14:53 -07:00
bunnei
b3f8d2491d
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
bunnei
668af26696
hle: kernel: KThread: Decrease DummyThread priority to ensure it is never scheduled.
2022-01-20 17:08:00 -08:00
bunnei
cc4cbff1ca
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
bunnei
b52516263d
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
bunnei
914431487b
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
bunnei
b12695ddc4
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
bunnei
6d2bf18df9
hle: kernel: k_thread: Rename sleeping_queue -> wait_queue.
2021-12-06 16:39:18 -08:00
bunnei
826b07162a
hle: kernel: k_thread: Treat dummy threads as a special type.
2021-12-06 16:39:18 -08:00
bunnei
58da4d5a6e
hle: kernel: Add a flag for indicating that the kernel is currently shutting down.
2021-12-06 16:39:17 -08:00
bunnei
eb34276885
hle: kernel: Cleanup to match coding style.
2021-12-06 16:39:17 -08:00