Feng Chen
60df1f9030
Fix dangling kernel objects when exiting
5 years ago
Feng Chen
301d0ac5e0
Revert PR7009
5 years ago
Feng Chen
c13d1e0b0f
Fix memory leak
5 years ago
Fernando Sahmkow
69b1cad803
SVC: Implement svcInfo:IdleTickCount
Used by the Witcher 3
5 years ago
Morph
c7f9f19c64
KPageTable: Perform ranged invalidation when unmapping code memory
Co-Authored-By: Fernando S. <1731197+FernandoS27@users.noreply.github.com>
5 years ago
Morph
6bc7f27655
kernel: hle_ipc: Foward declare KAutoObject
5 years ago
ameerj
f222d1e4ce
common/logging: Move Log::Entry declaration to a separate header
This reduces the load of requiring to include std::chrono in all files which include log.h
5 years ago
Morph
203d8f7f60
style: Remove extra space preceding the :: operator
5 years ago
Feng Chen
38fc397b0f
Fix KShareMemory object leak
5 years ago
Feng Chen
974547f98f
Fix KScopedAutoObject object leak when SendSyncRequest
5 years ago
ameerj
d7977be416
general: Update style to clang-format-12
5 years ago
Morph
3e49eac2de
kernel: Add missing <functional> include
5 years ago
bunnei
5e600cba3a
Revert "kernel: Various improvements to scheduler"
5 years ago
Valeri
190e12a072
Fix check is thread current in GetThreadContext
Misplaced break made it only check for the first core.
5 years ago
BreadFish64
8c4f818e77
kernel: Optimize GetHostThreadID
5 years ago
bunnei
b2f859f47c
core: hle: kernel: Disable dispatch count tracking on single core.
- This would have limited value, and would be a mess to handle properly.
5 years ago
bunnei
8d8a230257
core: hle: kernel: k_thread: Mark KScopedDisableDispatch as nodiscard.
5 years ago
bunnei
1458629fc8
core: hle: kernel: k_auto_object: Add GetName method.
- Useful purely for debugging.
5 years ago
bunnei
0cd7bf70a3
core: hle: kernel: DisableDispatch on suspend threads.
5 years ago
bunnei
19457823ea
core: hle: kernel: k_scheduler: Improve DisableScheduling and EnableScheduling.
5 years ago
bunnei
347e4d6ab8
core: hle: kernel: Use CurrentPhysicalCoreIndex as appropriate.
5 years ago
bunnei
aedc599224
core: hle: kernel: k_scheduler: Remove unnecessary MakeCurrentProcess.
5 years ago
bunnei
edba87b96d
core: hle: kernel: k_scheduler: Improve ScheduleImpl.
5 years ago
bunnei
0d22a55e01
core: hle: kernel: k_scheduler: Improve Unload.
5 years ago
bunnei
cba49de65b
core: hle: kernel: k_process: DisableDispatch on main thread.
5 years ago
bunnei
92ef6e44ee
core: hle: kernel: k_handle_table: Use KScopedDisableDispatch as necessary.
5 years ago
bunnei
9951f24bad
core: hle: kernel: k_thread: Add KScopedDisableDispatch.
5 years ago
bunnei
43fcb97ef3
core: hle: kernel: Ensure idle threads are closed before destroying scheduler.
5 years ago
bunnei
951143ba57
core: hle: kernel: Reflect non-emulated threads as core 3.
5 years ago
bunnei
b9bb5338c0
hle: kernel: svc: Remove part of ExitProcess.
- ExitProcess is not actually implemented either way, and this needs more work before we implement.
5 years ago
bunnei
beeed68944
hle: kernel: Track and release server sessions, and protect methods with locks.
5 years ago
bunnei
179243473b
hle: kernel: KProcess: Change process termination assert to a warning.
- Since we do not implement multiprocess right now, this should not be a crashing assert.
5 years ago
bunnei
81d111fd1b
hle: kernel: Ensure current running process is closed.
5 years ago
bunnei
88350871df
hle: kernel: Ensure global handle table is finalized before closing.
5 years ago
bunnei
43f2f83c30
kernel: svc: ConnectToNamedPort: Close extra reference to port.
5 years ago
bunnei
66da530a81
hle: kernel: k_process: Close the handle table on shutdown.
5 years ago
bunnei
d144950f11
hle: kernel: k_process: Close main thread reference after it is inserted into handle table.
5 years ago
bunnei
2c96cc5343
hle: kernel: Ensure global handle table is initialized.
5 years ago
bunnei
a4b3202b65
hle: kernel: Provide methods for tracking dangling kernel objects.
5 years ago
Wunkolo
722f9c3cb5
common: Replace common_sizes into user-literals
Removes common_sizes.h in favor of having `_KiB`, `_MiB`, `_GiB`, etc
user-literals within literals.h.
To keep the global namespace clean, users will have to use:
```
using namespace Common::Literals;
```
to access these literals.
5 years ago
Morph
3543d65449
kernel: Fix missing peak set in KResourceLimit::SetLimitValue
5 years ago
Morph
006ca28fc8
kernel: Unconditionally set thread state when appropriate
5 years ago
Morph
3509855179
kernel: KLightConditionVariable: Update implementation to 12.x
Updates the implementation of KLightConditionVariable to FW 12.x
5 years ago
bunnei
6c3c99c915
hle: kernel: KClientPort: Add an assert for session count.
- Prevents us from over decrementing num_sessions.
5 years ago
bunnei
73d30a5446
hle: service: sm: Fix GetService setup of session & port.
5 years ago
bunnei
6c84a78d74
hle: kernel: KServerSession: Fix client disconnected.
- Prevents a cloned session's handler from being overwritten by another disconnected session.
- Fixes session handler nullptr asserts with Pokemon Sword & Shield.
5 years ago
bunnei
d06f7d9f6c
kernel: svc: Add missing error check to CancelSynchronization.
- Avoids a potential crash if the handle is invalid, and also makes this code accurate to real kernel behavior.
5 years ago
bunnei
b270cecbab
hle: kernel: KServerSession: Work-around scenario where session is closed too early.
5 years ago
bunnei
4ad8a148ee
hle: kernel: hle_ipc: Ensure SessionRequestHandler is valid.
5 years ago
bunnei
a3de201dcf
hle: kernel: Remove service thread manager and use weak_ptr.
- We no longer need to queue up service threads to be destroyed.
- Fixes a race condition where a thread could be destroyed too early, which caused a crash in Pokemon Sword/Shield.
5 years ago