c3242abe95
kernel: svc: Add OutputDebugString32, CreateCodeMemory32, ControlCodeMemory32
...
Very straightforward, they are just wrappers to the 64-bit version of
the SVC.
2022-02-15 00:45:19 +01:00
d0c7c3f64f
svc: Set unique names for function tables
2022-02-08 21:03:31 -06:00
16bf50e610
service: pm: Implement AtmosphereGetProcessInfo
2022-02-04 01:41:36 +01:00
1ed22b4613
svc: Add 32 bit SynchronizePreemptionState
...
Used by Espgaluda II
2022-01-31 19:02:41 -06:00
b8b1b58f36
core: hle: kernel: Rename Un/Map to Un/MapMeory.
2022-01-22 01:33:26 -08:00
49a0e4330e
hle: kernel: k_page_table: Update SetProcessMemoryPermission.
2022-01-11 16:28:11 -08:00
081669c334
hle: kernel: k_page_table: Rename *ProcessCodeMemory -> *CodeMemory.
2022-01-11 16:28:11 -08:00
af4696657c
core: hle: kernel: svc: Updates to SetMemoryAttribute and SetMemoryPermission.
2022-01-08 12:18: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
091463a429
core: hle: kernel: Updated implementation of svcSetHeapSize.
...
- Updates our svcSetHeapSize with latest HOS, furthermore allowing heap size to properly be extended/shrunk.
- Validated with tests https://github.com/Atmosphere-NX/Atmosphere/blob/master/tests/TestSvc/source/test_set_heap_size.cpp .
2021-12-28 01:25:20 -08:00
4e7a6639d2
core: hle: kernel: Implement SetMemoryPermission.
...
- Not seen in any games yet, but validated with kernel tests.
2021-12-23 01:10:36 -08:00
49e3c073a5
hle: kernel: svc: GetInfo: Fix error checking with IdleTickCount.
...
- Enforce tha the supplied handle is invalid, not valid.
- This gets Witcher 3 booting.
2021-12-21 22:41:23 -08:00
c73841500a
core: hle: Remove global HLE lock.
...
- This was added early on as a hack to protect against some concurrency issues.
- It's not clear that this serves any purpose anymore, and if it does, individual components should be fixed rather than using a global recursive mutex.
2021-12-17 16:05:51 -08:00
280c779898
Merge pull request #7462 from bunnei/kernel-improve-scheduling
...
Kernel: Improve threading & scheduling V3
2021-12-12 22:43:25 -08:00
e3d156ab0e
hle: kernel: svc: Fix deadlock that can occur with single core.
2021-12-06 16:39:18 -08:00
e942d97540
hle: kernel: KServerSession: Migrate to updated KThreadQueue.
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
669a2d2c67
core: hle: kernel: Reflect non-emulated threads as core 3.
2021-12-06 16:39:16 -08:00
8aef8f39d8
kernel: svc: Implement Map/UnmapProcessMemory and Create/ControlCodeMemory
...
Used by Skyline modding framework
2021-12-05 15:04:08 -05:00
5cf93c1346
kernel: svc: Move all IsValid functions to an anonymous namespace
2021-11-20 22:49:13 -05:00
2726d705f8
kernel: svc: Implement SetProcessMemoryPermission
...
- Used by Skyline modding framework
2021-11-20 22:18:56 -05:00
64275dfbf4
general: Rename GetTitleID to GetProgramID
2021-11-04 16:57:16 -04:00
7c4b6aab2e
core: Remove unused includes
2021-11-03 21:42:57 -04:00
b871388a31
svc: Correct WaitSynchronization num_handles param type
...
num_handles is a s32
2021-11-02 22:31:04 -04:00
b118fa8698
Merge pull request #7227 from vonchenplus/fix_memory_leak_v2
...
Fix memory leak v2
2021-11-01 20:11:30 -07:00
a8b0104923
Fix memory leak
2021-10-27 09:06:22 +08:00
da6673e79a
SVC: Implement svcInfo:IdleTickCount
...
Used by the Witcher 3
2021-10-16 20:33:44 +02:00
7cd43b139a
Fix KScopedAutoObject object leak when SendSyncRequest
2021-09-25 22:16:21 +08:00
0c8594b225
Revert "kernel: Various improvements to scheduler"
2021-08-25 20:59:28 -07:00
0b3d12be40
Fix check is thread current in GetThreadContext
...
Misplaced break made it only check for the first core.
2021-08-19 16:46:30 +03:00
68eee94875
core: hle: kernel: Reflect non-emulated threads as core 3.
2021-08-07 12:18:47 -07:00
f3db3dcc8d
hle: kernel: svc: Remove part of ExitProcess.
...
- ExitProcess is not actually implemented either way, and this needs more work before we implement.
2021-07-20 18:54:56 -07:00
24540e0ad9
kernel: svc: ConnectToNamedPort: Close extra reference to port.
2021-07-20 18:54:56 -07:00
c63ea608aa
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.
2021-06-09 15:24:46 -07:00
12c1766997
general: Replace RESULT_SUCCESS with ResultSuccess
...
Transition to PascalCase for result names.
2021-06-02 00:39:27 -04:00
9a07ed53eb
core: Make variable shadowing a compile-time error
...
Now that we have most of core free of shadowing, we can enable the
warning as an error to catch anything that may be remaining and also
eliminate this class of logic bug entirely.
2021-05-16 03:43:16 -04:00
f54ea749a4
hle: kernel: svc: Update ConnectToNamedPort to use new CreateNamedServicePort interface.
2021-05-10 20:34:38 -07:00
eae107d0e9
kernel: svc: Remove unused RetrieveResourceLimitValue function.
2021-05-05 16:40:54 -07:00
7866eb03bb
hle: kernel: svc: ConnectToNamedPort: Use KHandleTable::Reserve.
2021-05-05 16:40:53 -07:00
4b03e6e776
hle: kernel: Migrate to KHandleTable.
2021-05-05 16:40:53 -07:00
0b27c721c9
hle: kernel: Improve MapSharedMemory and implement UnmapSharedMemory.
2021-05-05 16:40:52 -07:00
2a7eff57a8
hle: kernel: Rename Process to KProcess.
2021-05-05 16:40:52 -07:00
626f746971
hle: kernel: Migrate KPort, KClientPort, and KServerPort to KAutoObject.
2021-05-05 16:40:52 -07:00
0297448fbc
hle: kernel: Migrate KClientPort to KAutoObject.
2021-05-05 16:40:52 -07:00
aa2844bcf9
hle: kernel: HandleTable: Remove deprecated APIs.
2021-05-05 16:40:52 -07:00
b57c5a9b54
hle: kernel: Migrate KResourceLimit to KAutoObject.
2021-05-05 16:40:52 -07:00
674122038a
hle: kernel: svc: Migrate WaitSynchronization.
2021-05-05 16:40:51 -07:00
126aaeb6d3
hle: kernel: svc: Use new handle table API for Process.
2021-05-05 16:40:51 -07:00
c7d8b7421c
hle: kernel: Migrate KTransferMemory to KAutoObject.
2021-05-05 16:40:51 -07:00
7444963bbb
hle: kernel: Migrate KSession, KClientSession, and KServerSession to KAutoObject.
2021-05-05 16:40:51 -07:00