yuzu/src/core/hle/kernel
bunnei 27ce97fd42 hle: kernel: Refactor to allocate a ServiceThread per service handler.
- Previously, we would allocate a thread per session, which adds new threads on CloneCurrentObject.
- This results in race conditions with N sessions queuing requests to the same service interface.
- Fixes Pokken Tournament DX crashes/softlocks, which were regressed by #6347.
2021-06-04 19:26:48 -07:00
..
arch/arm64 hle: kernel: Add architecture and board specific memory regions. 2021-03-21 14:45:02 -07:00
board/nintendo/nx hle: kernel: k_system_control: Remove unnecessary inline. 2021-03-23 18:33:29 -07:00
init hle: kernel: Use host memory allocations for KSlabMemory. 2021-05-20 21:41:52 -07:00
code_set.cpp kernel: Move CodeSet structure to its own source files 2019-03-20 13:07:04 -04:00
code_set.h VM_Manager: Align allocated memory to 256bytes 2019-07-19 10:06:08 -04:00
global_scheduler_context.cpp core: Make variable shadowing a compile-time error 2021-05-16 03:43:16 -04:00
global_scheduler_context.h core: Make variable shadowing a compile-time error 2021-05-16 03:43:16 -04:00
hle_ipc.cpp hle: kernel: Refactor to allocate a ServiceThread per service handler. 2021-06-04 19:26:48 -07:00
hle_ipc.h hle: kernel: Refactor to allocate a ServiceThread per service handler. 2021-06-04 19:26:48 -07:00
k_address_arbiter.cpp general: Replace RESULT_SUCCESS with ResultSuccess 2021-06-02 00:39:27 -04:00
k_address_arbiter.h general: Replace RESULT_UNKNOWN with ResultUnknown 2021-06-02 00:39:27 -04:00
k_address_space_info.cpp common: common_sizes: Move sizes to the Common namespace. 2021-03-23 18:31:46 -07:00
k_address_space_info.h hle: kernel: Migrate AddressSpaceInfo to KAddressSpaceInfo. 2021-02-18 16:16:25 -08:00
k_affinity_mask.h k_affinity_mask: Avoid implicit truncation to bool 2021-02-04 15:35:46 -05:00
k_auto_object_container.cpp fixup! hle: kernel: Add initial impl. of KAutoObjectWithListContainer. 2021-05-05 16:40:53 -07:00
k_auto_object_container.h fixup! hle: kernel: Add initial impl. of KAutoObjectWithListContainer. 2021-05-05 16:40:53 -07:00
k_auto_object.cpp hle: kernel: Add initial impl. of KAutoObject. 2021-05-05 16:40:49 -07:00
k_auto_object.h kernel: Eliminate variable shadowing 2021-05-08 12:33:26 -04:00
k_class_token.cpp k_class_token: Use variable templates where applicable 2021-05-29 05:25:34 -04:00
k_class_token.h fixup! hle: kernel: Migrate more of KThread to KAutoObject. 2021-05-05 16:40:54 -07:00
k_client_port.cpp hle: kernel: Refactor to allocate a ServiceThread per service handler. 2021-06-04 19:26:48 -07:00
k_client_port.h hle: kernel: Refactor to allocate a ServiceThread per service handler. 2021-06-04 19:26:48 -07:00
k_client_session.cpp kernel: Eliminate variable shadowing 2021-05-08 12:33:26 -04:00
k_client_session.h kernel: Add missing override specifiers 2021-05-29 02:58:32 -04:00
k_condition_variable.cpp general: Replace RESULT_SUCCESS with ResultSuccess 2021-06-02 00:39:27 -04:00
k_condition_variable.h core: hle: kernel: Rename Thread to KThread. 2021-01-28 21:42:25 -08:00
k_event.cpp kernel: Eliminate variable shadowing 2021-05-08 12:33:26 -04:00
k_event.h kernel: Add missing override specifiers 2021-05-29 02:58:32 -04:00
k_handle_table.cpp general: Replace RESULT_SUCCESS with ResultSuccess 2021-06-02 00:39:27 -04:00
k_handle_table.h general: Replace RESULT_SUCCESS with ResultSuccess 2021-06-02 00:39:27 -04:00
k_light_condition_variable.h core: Make variable shadowing a compile-time error 2021-05-16 03:43:16 -04:00
k_light_lock.cpp hle: kernel: KLightLock: Fix several bugs. 2021-01-28 21:53:21 -08:00
k_light_lock.h core: hle: kernel: Implement KLightLock. 2021-01-28 21:42:26 -08:00
k_linked_list.h core: Make variable shadowing a compile-time error 2021-05-16 03:43:16 -04:00
k_memory_block_manager.cpp core: Make variable shadowing a compile-time error 2021-05-16 03:43:16 -04:00
k_memory_block_manager.h core: Make variable shadowing a compile-time error 2021-05-16 03:43:16 -04:00
k_memory_block.h hle: kernel: Improve MapSharedMemory and implement UnmapSharedMemory. 2021-05-05 16:40:52 -07:00
k_memory_layout.board.nintendo_nx.cpp hle: kernel: k_memory_layout: Derive memory regions based on board layout. 2021-03-21 14:45:13 -07:00
k_memory_layout.cpp hle: kernel: k_memory_layout: Move KMemoryRegionAllocator out of global. 2021-03-21 14:45:13 -07:00
k_memory_layout.h hle: kernel: k_memory_layout: Use pair instead of tuple. 2021-03-23 18:35:01 -07:00
k_memory_manager.cpp general: Replace RESULT_SUCCESS with ResultSuccess 2021-06-02 00:39:27 -04:00
k_memory_manager.h hle: kernel: KMemoryManager: Add CalculateManagementOverheadSize. 2021-03-21 14:45:02 -07:00
k_memory_region_type.h hle: kernel: k_memory_region_type: Minor code cleanup. 2021-03-23 18:42:04 -07:00
k_memory_region.h kernel: Eliminate variable shadowing 2021-05-08 12:33:26 -04:00
k_page_bitmap.h hle: kernel: KSystemControl does not belong in Memory namespace. 2021-02-18 16:16:24 -08:00
k_page_heap.cpp hle: kernel: Migrate PageHeap/PageTable to KPageHeap/KPageTable. 2021-02-18 16:16:25 -08:00
k_page_heap.h hle: kernel: Migrate PageHeap/PageTable to KPageHeap/KPageTable. 2021-02-18 16:16:25 -08:00
k_page_linked_list.h general: Replace RESULT_SUCCESS with ResultSuccess 2021-06-02 00:39:27 -04:00
k_page_table.cpp general: Replace RESULT_SUCCESS with ResultSuccess 2021-06-02 00:39:27 -04:00
k_page_table.h core: Make variable shadowing a compile-time error 2021-05-16 03:43:16 -04:00
k_port.cpp general: Replace RESULT_SUCCESS with ResultSuccess 2021-06-02 00:39:27 -04:00
k_port.h kernel: Add missing override specifiers 2021-05-29 02:58:32 -04:00
k_priority_queue.h k_priority_queue: Unfold several declval usages 2021-02-04 15:18:58 -05:00
k_process.cpp general: Replace RESULT_SUCCESS with ResultSuccess 2021-06-02 00:39:27 -04:00
k_process.h general: Replace RESULT_SUCCESS with ResultSuccess 2021-06-02 00:39:27 -04:00
k_readable_event.cpp general: Replace RESULT_SUCCESS with ResultSuccess 2021-06-02 00:39:27 -04:00
k_readable_event.h kernel: Add missing override specifiers 2021-05-29 02:58:32 -04:00
k_resource_limit.cpp general: Replace RESULT_SUCCESS with ResultSuccess 2021-06-02 00:39:27 -04:00
k_resource_limit.h kernel: Add missing override specifiers 2021-05-29 02:58:32 -04:00
k_scheduler_lock.h hle: kernel: Migrate some code from Common::SpinLock to KSpinLock. 2021-03-21 14:45:02 -07:00
k_scheduler.cpp core/arm_interface: Call SVC after end of dynarmic block. 2021-05-27 23:23:23 +02:00
k_scheduler.h core: Make variable shadowing a compile-time error 2021-05-16 03:43:16 -04:00
k_scoped_lock.h Amend bizarre clang-format suggestions 2021-04-07 01:52:08 -04:00
k_scoped_resource_reservation.h hle: kernel: Rename Process to KProcess. 2021-05-05 16:40:52 -07:00
k_scoped_scheduler_lock_and_sleep.h core: Make variable shadowing a compile-time error 2021-05-16 03:43:16 -04:00
k_server_port.cpp kernel: Eliminate variable shadowing 2021-05-08 12:33:26 -04:00
k_server_port.h kernel: Add missing override specifiers 2021-05-29 02:58:32 -04:00
k_server_session.cpp hle: kernel: Refactor to allocate a ServiceThread per service handler. 2021-06-04 19:26:48 -07:00
k_server_session.h hle: kernel: Refactor to allocate a ServiceThread per service handler. 2021-06-04 19:26:48 -07:00
k_session.cpp hle: kernel: Refactor to allocate a ServiceThread per service handler. 2021-06-04 19:26:48 -07:00
k_session.h hle: kernel: Refactor to allocate a ServiceThread per service handler. 2021-06-04 19:26:48 -07:00
k_shared_memory.cpp general: Replace RESULT_SUCCESS with ResultSuccess 2021-06-02 00:39:27 -04:00
k_shared_memory.h kernel: Add missing override specifiers 2021-05-29 02:58:32 -04:00
k_slab_heap.h hle: kernel: KSlabHeap: Allow host or guest allocations. 2021-05-28 17:42:41 -07:00
k_spin_lock.cpp hle: kernel: Add KSpinLock implementation. 2021-02-18 16:16:24 -08:00
k_spin_lock.h hle: kernel: Migrate some code from Common::SpinLock to KSpinLock. 2021-03-21 14:45:02 -07:00
k_synchronization_object.cpp general: Replace RESULT_SUCCESS with ResultSuccess 2021-06-02 00:39:27 -04:00
k_synchronization_object.h general: Replace RESULT_SUCCESS with ResultSuccess 2021-06-02 00:39:27 -04:00
k_system_control.h hle: kernel: KSystemControl: Update to reflect board-specific behavior. 2021-03-21 14:45:02 -07:00
k_thread_queue.h core: Make variable shadowing a compile-time error 2021-05-16 03:43:16 -04:00
k_thread.cpp general: Replace RESULT_SUCCESS with ResultSuccess 2021-06-02 00:39:27 -04:00
k_thread.h general: Replace RESULT_SUCCESS with ResultSuccess 2021-06-02 00:39:27 -04:00
k_trace.h hle: kernel: Add k_trace module. 2021-03-21 14:45:02 -07:00
k_transfer_memory.cpp general: Replace RESULT_SUCCESS with ResultSuccess 2021-06-02 00:39:27 -04:00
k_transfer_memory.h kernel: Add missing override specifiers 2021-05-29 02:58:32 -04:00
k_writable_event.cpp kernel: Eliminate variable shadowing 2021-05-08 12:33:26 -04:00
k_writable_event.h kernel: Add missing override specifiers 2021-05-29 02:58:32 -04:00
kernel.cpp Merge pull request #6373 from bunnei/use-slabheap-tls 2021-05-29 00:17:24 -07:00
kernel.h hle: kernel: Implement named service ports using service interface factory. 2021-05-10 20:34:38 -07:00
memory_types.h hle: kernel: Migrate to KMemoryBlock, KMemoryBlockManager, and others. 2021-02-18 16:16:25 -08:00
physical_core.cpp core: Make variable shadowing a compile-time error 2021-05-16 03:43:16 -04:00
physical_core.h core: Make variable shadowing a compile-time error 2021-05-16 03:43:16 -04:00
physical_memory.h physical_memory: Add missing include for <vector>. 2020-04-17 00:59:30 -04:00
process_capability.cpp general: Replace RESULT_SUCCESS with ResultSuccess 2021-06-02 00:39:27 -04:00
process_capability.h general: Replace RESULT_SUCCESS with ResultSuccess 2021-06-02 00:39:27 -04:00
service_thread.cpp hle: kernel: service_thread: Take reference to KServerSession on service request. 2021-05-20 22:39:44 -07:00
service_thread.h hle: kernel: Migrate KSession, KClientSession, and KServerSession to KAutoObject. 2021-05-05 16:40:51 -07:00
slab_helpers.h Revert "WORKAROUND: Do not use slab heap while we track down issues with resource management." 2021-05-20 21:41:52 -07:00
svc_common.h fixup! hle: kernel: Migrate to KHandleTable. 2021-05-05 16:40:54 -07:00
svc_results.h hle: kernel: Migrate KPort, KClientPort, and KServerPort to KAutoObject. 2021-05-05 16:40:52 -07:00
svc_types.h hle: kernel: Recode implementation of KThread to be more accurate. 2021-01-28 21:42:26 -08:00
svc_wrap.h fixup! hle: kernel: Improve MapSharedMemory and implement UnmapSharedMemory. 2021-05-05 16:40:53 -07:00
svc.cpp general: Replace RESULT_SUCCESS with ResultSuccess 2021-06-02 00:39:27 -04:00
svc.h core: kernel: Move SVC to its own namesapce. 2020-04-17 00:59:28 -04:00
time_manager.cpp hle: kernel: Migrate to KHandleTable. 2021-05-05 16:40:53 -07:00
time_manager.h hle: kernel: Remove deprecated Object class. 2021-05-05 16:40:52 -07:00