aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle
AgeCommit message (Collapse)Author
2022-01-21service/filsystem: Update fsp-srv function tableLioncash
2022-01-21service/btm: Update function tablesLioncash
2022-01-21service/audio: Update audctl unknown function namesLioncash
2022-01-21service/am: Update omm function tablesLioncash
2022-01-21service/acc: Update unknown function namesLioncash
Switchbrew has the function names now.
2022-01-19Merge pull request #7726 from german77/clampMorph
service/hid: Initialize applet_resource on SetNpadAnalogStickUseCenterClamp
2022-01-19service/hid: Initialize applet_resource on SetNpadAnalogStickUseCenterClampgerman77
2022-01-18Merge pull request #7701 from bunnei/clear-mem-pagesbunnei
Kernel Memory Updates (Part 3): Clear KMemoryManager pages & other fixes
2022-01-17Merge pull request #7712 from bunnei/fix-thread-exitbunnei
Accurately implement thread exit
2022-01-17hle: remove no-op codeValeri
Found by static analysis with PVS-Studio. Nobody seems to really know what was it doing there.
2022-01-14Merge pull request #7711 from bunnei/fix-service-thread-race-v2bunnei
hle: kernel: Fix service_threads access to be thread safe V2.
2022-01-14hle: kernel: k_memory_manager: Clear pages on allocation & free.bunnei
- Heap pages should be zero'd. - Also explicitly passed along heap allocation option.
2022-01-14Merge pull request #7707 from german77/slow-updatebunnei
service/hid: Decrease motion update rate
2022-01-14core: hle: kernel: KThread: Integrate with KWorkerTask and implement ↵bunnei
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-14core: hle: kernel: KProcess: Integrate with KWorkerTask and add ↵bunnei
unimplemented DoWorkerTaskImpl.
2022-01-14core: hle: kernel: KThread: Replace Suspend with UpdateState & various updates.bunnei
- This makes our implementations of these more closely match HOS.
2022-01-14core: hle: kernel: Instantiate a kernel instance of KWorkerTaskManager.bunnei
2022-01-14core: hle: kernel: Add KWorkerTask and KWorkerTaskManager.bunnei
- These primitives are used to dispatch asynchronous kernel tasks from KThread and KProcess.
2022-01-14hle: kernel: Fix service_threads access to be thread safe V2.bunnei
- PR #7699 attempted to fix CreateServiceThread and ReleaseServiceThread to be thread safe, but inadvertently introduced a possible dead-lock. - With this PR, we use a worker thread to manage the service thread list, allowing it only to be accessed by a single thread, and guaranteeing threads will not destroy themselves. - Fixes a rare crash in Pokemon Sword/Shield, I've now run this game for ~12 hours non-stop and am quite confident this is a good solution for this issue.
2022-01-14Merge pull request #7699 from bunnei/fix-service-thread-raceMai M
hle: kernel: Fix service_threads access to be thread safe.
2022-01-13hle: kernel: Fix service_threads access to be thread safe.bunnei
- CreateServiceThread and ReleaseServiceThread can be accessed by different threads, uses a lock to make this thread safe. - Fixes a rare crash in Pokemon Sword/Shield that can occur when a new service thread is being created while an old one is being destroyed.
2022-01-12service/hid: Decrease motion update rateNarr the Reg
Motion stops working in Mario Tennis in swing mode if the update rate is too fast even when HW it updates at the same speed. 10ms it's the minimum period that the game needs to start working again.
2022-01-11hle: kernel: k_page_table: Update SetProcessMemoryPermission.bunnei
2022-01-11hle: service: ldr: UnmapCodeMemory BSS only when set.bunnei
2022-01-11hle: kernel: k_page_table: ReadAndWrite -> UserReadWrite.bunnei
2022-01-11hle: kernel: k_page_table: Rename *ProcessCodeMemory -> *CodeMemory.bunnei
2022-01-08core: hle: kernel: svc: Updates to SetMemoryAttribute and SetMemoryPermission.bunnei
2022-01-08core: hle: kernel: k_page_table: Update CheckMemoryState.bunnei
2022-01-04Merge pull request #7636 from vonchenplus/buffer_queue_querybunnei
core:hle:service:nvflinger Implement few type in bufferqueue query method
2022-01-03Revert "Merge pull request #7668 from ameerj/fence-stop-token"ameerj
This reverts commit e7733544779f2706d108682dd027d44e7fa5ff4b, reversing changes made to abbbdc2bc027ed7af236625ae8427a46df63f7e7.
2022-01-03gpu: Use std::stop_token in WaitFence for VSync threadameerj
Fixes a hang that may occur when stopping emulation and the VSync thread is blocked on the syncpoint condition variable.
2021-12-30core: hle: kernel: Implement thread pinning.bunnei
- 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-28Remove invalid assertion statementFeng Chen
2021-12-28Implement few type in bufferqueue query methodFeng Chen
2021-12-28core: hle: kernel: Updated implementation of svcSetHeapSize.bunnei
- 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-27Merge pull request #7621 from bunnei/set-mem-permbunnei
core: hle: kernel: Implement SetMemoryPermission.
2021-12-23core: hle: kernel: Implement SetMemoryPermission.bunnei
- Not seen in any games yet, but validated with kernel tests.
2021-12-23 core: hle: kernel: KThread: X18 should be a cryptographically random number.bunnei
- This was added with firmware 11.0.0 (https://switchbrew.org/wiki/11.0.0). - X18 is OR'd by kernel with 1, to make sure it is odd.
2021-12-21hle: kernel: svc: GetInfo: Fix error checking with IdleTickCount.bunnei
- Enforce tha the supplied handle is invalid, not valid. - This gets Witcher 3 booting.
2021-12-21Merge pull request #7481 from german77/gyro-biasbunnei
service/hid: Improve console motion accuracy
2021-12-20Merge pull request #7597 from bunnei/remove-global-lockbunnei
core: hle: Remove global HLE lock.
2021-12-19kernel: Manually destroy the current process during shut downameerj
Avoids a memory leak.
2021-12-17core: hle: Remove global HLE lock.bunnei
- 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-16core/hid: Cancel any vibration after the testNarr the Reg
2021-12-13Remove erroneous #pragma onceValeri
2021-12-12Merge pull request #7462 from bunnei/kernel-improve-schedulingbunnei
Kernel: Improve threading & scheduling V3
2021-12-12service/hid: Improve console motion accuracyNarr the Reg
2021-12-09Merge pull request #7519 from itsmeft24/masterbunnei
kernel: svc: Implement ProcessMemory and CodeMemory SVCs
2021-12-07Merge pull request #7525 from german77/notifabunnei
service/notif: Add notif:a and stub ListAlarmSettings, Initialize
2021-12-07Merge pull request #7521 from german77/dual_single_joyconsbunnei
service/hid: Implement SetNpadJoyAssignmentMode