yuzu/src/core/hle/kernel
bunnei 3ab82e7582
Merge pull request #7956 from bunnei/improve-mem-manager
Kernel Memory Updates (Part 4): Revamp KMemoryManager & other fixes
2022-03-02 17:55:51 -08: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: board: nx: Add k_memory_layout.h header. 2022-02-27 10:34:02 -08:00
init kernel: svc: Implement Map/UnmapProcessMemory and Create/ControlCodeMemory 2021-12-05 15:04:08 -05:00
code_set.cpp kernel: Move CodeSet structure to its own source files 2019-03-20 13:07:04 -04:00
code_set.h core: Remove unused includes 2021-11-03 21:42:57 -04:00
global_scheduler_context.cpp core: hle: kernel: Implement thread pinning. 2021-12-30 15:50:45 -08:00
global_scheduler_context.h core: Make variable shadowing a compile-time error 2021-05-16 03:43:16 -04:00
hle_ipc.cpp core: Remove unused includes 2021-11-03 21:42:57 -04:00
hle_ipc.h hle: kernel: KServerSession: Simplify CompleteSyncRequest EndWait. 2022-01-20 17:08:00 -08:00
initial_process.h hle: kernel: Add initial_process.h header. 2022-02-27 10:34:02 -08:00
k_address_arbiter.cpp dynarmic: Inline exclusive memory accesses 2022-02-27 19:40:05 +00: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: Replace common_sizes into user-literals 2021-06-24 09:27:40 -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 kernel/k_affinity_mask: Remove duplicated assert 2022-01-24 10:35:22 -05:00
k_auto_object_container.cpp common/logging: Move Log::Entry declaration to a separate header 2021-10-01 20:48:49 -04:00
k_auto_object_container.h general: Move deleted copy/move constructor/assignment operators to public interface 2022-02-02 12:17:08 -05:00
k_auto_object.cpp hle: kernel: Provide methods for tracking dangling kernel objects. 2021-07-20 18:54:55 -07:00
k_auto_object.h general: Move deleted copy/move constructor/assignment operators to public interface 2022-02-02 12:17:08 -05:00
k_class_token.cpp kernel: svc: Implement Map/UnmapProcessMemory and Create/ControlCodeMemory 2021-12-05 15:04:08 -05:00
k_class_token.h core: Remove unused includes 2021-11-03 21:42:57 -04:00
k_client_port.cpp hle: kernel: KClientPort: Add an assert for session count. 2021-06-09 22:36:42 -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 core: Remove unused includes 2021-11-03 21:42:57 -04:00
k_client_session.h core: Remove unused includes 2021-11-03 21:42:57 -04:00
k_code_memory.cpp hle: kernel: KCodeMemory: Remove unused QueryMemory. 2022-02-08 18:49:41 -08:00
k_code_memory.h Update k_code_memory.h 2021-12-07 16:58:23 -05:00
k_condition_variable.cpp hle: kernel: k_condition_variable: Revert unnecessary style changes. 2021-12-06 16:39:18 -08:00
k_condition_variable.h hle: kernel: KConditionVariable: Various updates & simplifications. 2021-12-06 16:39:17 -08:00
k_event.cpp core: hle: kernel: KEvent: Pass in owner KProcess on event creation. 2022-02-21 12:41:06 -08:00
k_event.h core: hle: kernel: KEvent: Pass in owner KProcess on event creation. 2022-02-21 12:41:06 -08:00
k_handle_table.cpp core: hle: kernel: k_handle_table: Use KScopedDisableDispatch as necessary. 2021-12-06 16:39:16 -08:00
k_handle_table.h general: Move deleted copy/move constructor/assignment operators to public interface 2022-02-02 12:17:08 -05:00
k_interrupt_manager.cpp core: hle: kernel: Implement thread pinning. 2021-12-30 15:50:45 -08:00
k_interrupt_manager.h core: hle: kernel: Implement thread pinning. 2021-12-30 15:50:45 -08:00
k_light_condition_variable.cpp hle: kernel: Remove unnecessary virtual specifier on CancelWait. 2021-12-06 16:39:18 -08:00
k_light_condition_variable.h hle: kernel: k_light_condition_variable: Revert unnecessary license comment changes. 2021-12-06 16:39:18 -08:00
k_light_lock.cpp hle: kernel: Remove unnecessary virtual specifier on CancelWait. 2021-12-06 16:39:18 -08:00
k_light_lock.h hle: kernel: KLightLock: Migrate to updated KThreadQueue. 2021-12-06 16:39:17 -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 core: hle: kernel: k_page_table: Update CheckMemoryState. 2022-01-08 03:20:57 -08:00
k_memory_layout.board.nintendo_nx.cpp common: Replace common_sizes into user-literals 2021-06-24 09:27:40 -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: Add GetPhysicalLinearRegion. 2022-02-27 10:34:02 -08:00
k_memory_manager.cpp hle: kernel: k_memory_manager: Rework for latest kernel behavior. 2022-02-27 18:00:09 -08:00
k_memory_manager.h hle: kernel: k_memory_manager: Rework for latest kernel behavior. 2022-02-27 18:00:09 -08:00
k_memory_region_type.h hle: kernel: k_memory_region_types: Update for new regions. 2022-02-27 10:34:02 -08:00
k_memory_region.h general: Replace NonCopyable struct with equivalents 2022-02-02 13:17:12 -05: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: k_page_heap: Various updates and improvements. 2022-02-27 10:34:02 -08:00
k_page_heap.h hle: kernel: k_page_heap: Various updates and improvements. 2022-02-27 10:34:02 -08:00
k_page_linked_list.h kernel: svc: Implement Map/UnmapProcessMemory and Create/ControlCodeMemory 2021-12-05 15:04:08 -05:00
k_page_table.cpp hle: kernel: k_memory_manager: Rework for latest kernel behavior. 2022-02-27 18:00:09 -08:00
k_page_table.h hle: kernel: k_memory_manager: Rework for latest kernel behavior. 2022-02-27 18:00:09 -08:00
k_port.cpp general: Replace RESULT_SUCCESS with ResultSuccess 2021-06-02 00:39:27 -04:00
k_port.h core: Remove unused includes 2021-11-03 21:42:57 -04:00
k_priority_queue.h hle: kernel: KScheduler: Fix deadlock with core waiting for a thread lock that has migrated. 2022-01-27 12:17:14 -08:00
k_process.cpp core: hle: kernel: KProcess: Pass in KResourceLimit on process creation. 2022-02-21 12:41:31 -08:00
k_process.h core: hle: kernel: KProcess: Pass in KResourceLimit on process creation. 2022-02-21 12:41:31 -08:00
k_readable_event.cpp general: Replace RESULT_SUCCESS with ResultSuccess 2021-06-02 00:39:27 -04:00
k_readable_event.h hle: kernel: KAutoObjectWithListContainer: Use boost::instrusive::rbtree. 2021-06-06 15:39:11 -07:00
k_resource_limit.cpp core: hle: kernel: KResourceLimit: Add a helper function for creating a KResourceLimit for a process. 2022-02-21 12:40:09 -08:00
k_resource_limit.h core: hle: kernel: KResourceLimit: Add a helper function for creating a KResourceLimit for a process. 2022-02-21 12:40:09 -08:00
k_scheduler_lock.h hle: kernel: Add a flag for indicating that the kernel is currently shutting down. 2021-12-06 16:39:17 -08:00
k_scheduler.cpp hle: kernel: KScheduler: Fix deadlock with core waiting for a thread lock that has migrated. 2022-01-27 12:17:14 -08:00
k_scheduler.h core: hle: kernel: Ensure idle threads are closed before destroying scheduler. 2021-12-06 16:39:16 -08:00
k_scoped_lock.h core: Fix transitive include build errors 2021-11-03 21:42:58 -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 hle: kernel: Update KThreadQueue and migrate KSynchronizationObject. 2021-12-06 16:39:17 -08:00
k_server_port.cpp core: Remove unused includes 2021-11-03 21:42:57 -04:00
k_server_port.h core: Remove unused includes 2021-11-03 21:42:57 -04:00
k_server_session.cpp hle: kernel: KServerSession: Remove hack for CompleteSyncRequest. 2022-01-20 17:08:00 -08:00
k_server_session.h core: Remove unused includes 2021-11-03 21:42:57 -04:00
k_session.cpp core: Remove unused includes 2021-11-03 21:42:57 -04: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_info.h core: Remove unused includes 2021-11-03 21:42:57 -04:00
k_shared_memory.cpp general: Replace RESULT_SUCCESS with ResultSuccess 2021-06-02 00:39:27 -04:00
k_shared_memory.h core: Remove unused includes 2021-11-03 21:42:57 -04:00
k_slab_heap.h general: Replace NonCopyable struct with equivalents 2022-02-02 13:17:12 -05: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 hle: kernel: Remove unnecessary virtual specifier on NotifyAvailable. 2021-12-06 16:39:18 -08:00
k_synchronization_object.h hle: kernel: KSynchronizationObject: Fix variable shadowing. 2021-12-06 16:39:17 -08: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.cpp Remove erroneous #pragma once 2021-12-13 16:49:01 +03:00
k_thread_queue.h hle: kernel: Remove unnecessary virtual specifier on EndWait. 2021-12-06 16:39:18 -08:00
k_thread.cpp hle: kernel: KThread: Improve Increment/Decrement RunningThreadCount. 2022-01-22 21:09:45 -08:00
k_thread.h hle: kernel: KThread: Ensure host (dummy) threads block on locking. 2022-01-21 17:12:06 -08:00
k_trace.h core: Remove unused includes 2021-11-03 21:42:57 -04:00
k_transfer_memory.cpp general: Replace RESULT_SUCCESS with ResultSuccess 2021-06-02 00:39:27 -04:00
k_transfer_memory.h core: Remove unused includes 2021-11-03 21:42:57 -04:00
k_worker_task_manager.cpp core: hle: kernel: Add KWorkerTask and KWorkerTaskManager. 2022-01-14 16:43:59 -08:00
k_worker_task_manager.h core: hle: kernel: Add KWorkerTask and KWorkerTaskManager. 2022-01-14 16:43:59 -08:00
k_worker_task.h core: hle: kernel: Add KWorkerTask and KWorkerTaskManager. 2022-01-14 16:43:59 -08:00
k_writable_event.cpp hle: kernel: KAutoObjectWithListContainer: Use boost::instrusive::rbtree. 2021-06-06 15:39:11 -07:00
k_writable_event.h kernel: Add missing override specifiers 2021-05-29 02:58:32 -04:00
kernel.cpp hle: kernel: Re-create memory layout at initialization. 2022-02-27 18:00:09 -08:00
kernel.h hle: kernel: k_memory_manager: Rework for latest kernel behavior. 2022-02-27 18:00:09 -08:00
memory_types.h hle: kernel: Migrate to KMemoryBlock, KMemoryBlockManager, and others. 2021-02-18 16:16:25 -08:00
physical_core.cpp hle: kernel: k_page_table: Update SetProcessMemoryPermission. 2022-01-11 16:28:11 -08:00
physical_core.h core: Remove unused includes 2021-11-03 21:42:57 -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: Ensure dummy thread is closed & destroyed on thread exit. 2022-01-20 17:08:00 -08:00
service_thread.h hle: kernel: Migrate KSession, KClientSession, and KServerSession to KAutoObject. 2021-05-05 16:40:51 -07:00
slab_helpers.h core: Remove unused includes 2021-11-03 21:42:57 -04:00
svc_common.h core: hle: kernel: Updated implementation of svcSetHeapSize. 2021-12-28 01:25:20 -08:00
svc_results.h hle: kernel: Migrate KPort, KClientPort, and KServerPort to KAutoObject. 2021-05-05 16:40:52 -07:00
svc_types.h core: hle: kernel: k_page_table: Update CheckMemoryState. 2022-01-08 03:20:57 -08:00
svc_wrap.h kernel: svc: Add OutputDebugString32, CreateCodeMemory32, ControlCodeMemory32 2022-02-15 00:45:19 +01:00
svc.cpp core: hle: kernel: KEvent: Pass in owner KProcess on event creation. 2022-02-21 12:41:06 -08:00
svc.h core: kernel: Move SVC to its own namesapce. 2020-04-17 00:59:28 -04:00
time_manager.cpp hle: kernel: KThread: Migrate to updated KThreadQueue (part 1). 2021-12-06 16:39:17 -08:00
time_manager.h core: Remove unused includes 2021-11-03 21:42:57 -04:00