aboutsummaryrefslogtreecommitdiff
path: root/src/core
AgeCommit message (Collapse)Author
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-14core/hid: Increment shake forceNarr the Reg
With the current settings 2p mode in pokemon let's go wasn't showing up. By making the shake more violent we can make it appear without any effort using the keyboard
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-14Merge pull request #7698 from bunnei/mem-code-memory-updatesMai M
Kernel Memory Updates (Part 2): SetProcessMemoryPermission, update permissions, and other minor changes.
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-13Merge pull request #7700 from german77/no-gyrobunnei
core/hid: Reduce gyro threshold even more
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-11core/hid: Reduce gyro threshold even moreNarr the Reg
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-11Merge pull request #7684 from bunnei/set-mem-perm-attrbunnei
Kernel Memory Updates (Part 1): SetMemoryAttribute, and other minor changes.
2022-01-11Merge pull request #7633 from german77/hotkeysbunnei
yuzu: Add controller hotkeys
2022-01-08Merge pull request #7682 from german77/udp_fixbunnei
input_common: Fix UDP controller mappings
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-07yuzu: Use pad parameter to choose the correct controllergerman77
2022-01-06yuzu: Add controller hotkeysgerman77
2022-01-06core/hid: Add home and screenshot button supportgerman77
2022-01-06core/hid: Set minimum gyro thresholdgerman77
2022-01-04Merge pull request #7636 from vonchenplus/buffer_queue_querybunnei
core:hle:service:nvflinger Implement few type in bufferqueue query method
2022-01-03gpu: Add shut down method to synchronize threads before destructionameerj
2022-01-03Revert "Merge pull request #7668 from ameerj/fence-stop-token"ameerj
This reverts commit e7733544779f2706d108682dd027d44e7fa5ff4b, reversing changes made to abbbdc2bc027ed7af236625ae8427a46df63f7e7.
2022-01-03Merge pull request #7668 from ameerj/fence-stop-tokenbunnei
gpu: Use std::stop_token in WaitFence for VSync thread
2022-01-03Merge pull request #7664 from german77/fallbackbunnei
core/hid: Add fallback to fullkey controllers
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.
2022-01-03Merge pull request #7648 from bunnei/thread-pinningFernando S
core: hle: kernel: Implement thread pinning.
2022-01-01core/hid: Add fallback to fullkey controllersgerman77
2021-12-30Merge pull request #7647 from german77/toadbunnei
core/hid: Fix controller type validation
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-29core/hid: Fix controller type validationgerman77
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-18Merge pull request #7593 from german77/brrr_testMorph
core/hid: Cancel any vibration after the test
2021-12-17core: loader: kip: Minimal changes to fix KIP loading.bunnei
- Allows us to boot KIP (kernal apps), useful for testing the kernel.
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-14core/hid: Fix faulty analog triggersNarr the Reg
2021-12-13common/input: Avoid numerous large copies of CallbackStatusLioncash
CallbackStatus instances aren't the cheapest things to copy around (relative to everything else), given that they're currently 520 bytes in size and are currently copied numerous times when callbacks are invoked. Instead, we can pass the status by const reference to avoid all the copying.
2021-12-13Remove erroneous #pragma onceValeri