aboutsummaryrefslogtreecommitdiff
path: root/src/core
AgeCommit message (Collapse)Author
2022-01-25Merge pull request #7771 from lioncash/assertMorph
kernel/k_affinity_mask: Remove duplicated assert
2022-01-24kernel/k_affinity_mask: Remove duplicated assertLioncash
This is already checked inside GetCoreBit()
2022-01-22hle: kernel: KThread: Improve Increment/Decrement RunningThreadCount.bunnei
- Previously implementation was incorrect, and would occasionally underflow.
2022-01-21Merge pull request #7737 from bunnei/fix-dummy-thread-leakbunnei
Various fixes to HLE service thread management
2022-01-21Merge pull request #7752 from Morph1984/SetCpuOverclockEnabledbunnei
service: apm: Stub ISession SetCpuOverclockEnabled
2022-01-21hle: kernel: KThread: Ensure host (dummy) threads block on locking.bunnei
- But do not enter the priority queue, as otherwise they will be scheduled. - Allows dummy threads to use guest synchronization primitives.
2022-01-21service/wlan: Update function tablesLioncash
2022-01-21service/usb: Update function tablesLioncash
2022-01-21service/set: Update function tablesLioncash
2022-01-21service/ns: Update function tablesLioncash
2022-01-21service/nim: Update unknown function table entriesLioncash
2022-01-21service/friend: Update unknown function table entriesLioncash
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-20service: apm: Stub ISession SetCpuOverclockEnabledMorph
Since we don't currently support CPU overclocking within the emulated system, this can be stubbed for now, like APM IsCpuOverclockEnabled. - Used by Gravity Rider Zero
2022-01-20hle: kernel: Remove redundant tracking of dummy threads.bunnei
- These are already tracked by kernel's registered_objects member.
2022-01-20hle: kernel: KThread: DummyThread can be waited, ensure wait_queue is not ↵bunnei
nullptr.
2022-01-20hle: kernel: KThread: Decrease DummyThread priority to ensure it is never ↵bunnei
scheduled.
2022-01-20hle: kernel: service_thread: Ensure dummy thread is closed & destroyed on ↵bunnei
thread exit.
2022-01-20hle: kernel: KServerSession: Remove hack for CompleteSyncRequest.bunnei
- This does not appear to be necessary anymore.
2022-01-20hle: kernel: KServerSession: Simplify CompleteSyncRequest EndWait.bunnei
- Considering is_thread_waiting is never set, so we can remove IsThreadWaiting. - KThread::EndWait will take the scheduler lock, so we can remove the redundant lock.
2022-01-20hle: kernel: KThread: Ensure dummy threads never call EndWait.bunnei
- These are only used by host threads for locking and will never have a wait_queue.
2022-01-20hle: kernel: KScheduler: Ensure dummy threads are never scheduled.bunnei
- These are only used by host threads for locking.
2022-01-20hle: kernel: KThread: Rename thread_type_for_debugging -> thread_type.bunnei
- This will be used to ensure that we do not schedule dummy threads.
2022-01-20Merge pull request #7710 from german77/just-shake-itbunnei
core/hid: Increment shake force
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-17Merge pull request #7732 from v1993/patch-7bunnei
kernel: remove no-op code
2022-01-17Merge pull request #7728 from v1993/patch-4Mai M
hid: fix std::transform call
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-17hid: fix std::transform callValeri
Found by static analysis with PVS-Studio.
2022-01-17Correct assignment source for rotationsValeri
Found by static analysis with PVS-Studio
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-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.