aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/kernel.cpp
AgeCommit message (Collapse)Author
2021-04-10Merge pull request #6099 from bunnei/derive-membunnei
Kernel Rework: Derive memory regions from board layout.
2021-04-07kernel: Increase event and session countsameerj
12.x increased the number of available sessions and event resource counts
2021-03-27hle: kernel: Initialize preemption task after schedulers.bunnei
- Fixes a startup crash that occurs if CoreTiming tries to preempt before kernel initialization completes.
2021-03-23hle: kernel: Breakup InitializeMemoryLayout.bunnei
2021-03-23common: common_sizes: Move sizes to the Common namespace.bunnei
2021-03-21hle: kernel: Remove unused variable.bunnei
2021-03-21hle: kernel: k_memory_layout: Derive memory regions based on board layout.bunnei
2021-03-21hle: kernel: Move KMemoryRegion to its own module and update.bunnei
2021-03-05hle: kernel: KThread: Rework dummy threads & fix memory leak.bunnei
- Dummy threads are created on thread local storage for all host threads. - Fixes a leak by removing creation of fibers, which are not applicable here.
2021-02-27Merge pull request #5953 from bunnei/memory-refactor-1bunnei
Kernel Rework: Memory updates and refactoring (Part 1)
2021-02-20kernel: Fix resource release exception on exitameerj
After rewriting the resource limit, objects releasing reserved resources require a live kernel instance. This commit fixes exceptions that occur due to the kernel being destroyed before some objects released their resources, allowing for a graceful exit.
2021-02-18hle: kernel: Migrate MemoryManager to KMemoryManager.bunnei
2021-02-18hle: kernel: Migrate to KMemoryBlock, KMemoryBlockManager, and others.bunnei
2021-02-18hle: kernel: Migrate SlabHeap to KSlabHeap.bunnei
2021-02-18hle: kernel: Migrate MemoryLayout to KMemoryLayout.bunnei
2021-02-18hle: kernel: Rename SharedMemory to KSharedMemory.bunnei
2021-02-12kernel: More accurately reserve and release resourcesameerj
2021-02-12kernel: Unify result codes (#5890)Chloe
* kernel: Unify result codes Drop the usage of ERR_NAME convention in kernel for ResultName. Removed seperation between svc_results.h & errors.h as we mainly include both most of the time anyways. * oops * rename errors to svc_results
2021-02-03Simplify limitableresource namesChloe Marcec
2021-01-30kernel: Rewrite resource limit to be more accurateChloe Marcec
Matches closer to hardware
2021-01-28hle: kernel: threading: Fix bug with host thread naming.bunnei
2021-01-28hle: kernel: Allocate a dummy KThread for each host thread, and use it for ↵bunnei
scheduling.
2021-01-28kernel: Fix build errors.bunnei
2021-01-28hle: kernel: Recode implementation of KThread to be more accurate.bunnei
2021-01-28kernel: k_light_lock: Simplify EmuThreadHandle implementation.bunnei
2021-01-28hle: kernel: KThread: Fix ThreadType definition.bunnei
2021-01-28hle: kernel: Move single core "phantom mode" out of KThread.bunnei
- This is a workaround that does not belong in a kernel primitive.
2021-01-28hle: kernel: KThread: Remove thread types that do not exist.bunnei
2021-01-28core: hle: kernel: Rename Thread to KThread.bunnei
2021-01-11hle: kernel: thread: Preserve thread wait reason for debugging only.bunnei
- This is decoupled from core functionality and used for debugging only.
2021-01-11hle: kernel: Rename thread "status" to "state".bunnei
2021-01-11hle: kernel: thread: Replace ThreadStatus/ThreadSchedStatus with a single ↵bunnei
ThreadState. - This is how the real kernel works, and is more accurate and simpler.
2021-01-11core: hle: kernel: Update KSynchronizationObject.bunnei
2020-12-29hle: kernel: Manage service threads on another thread.bunnei
- This is to allow service threads to defer destruction of themselves.
2020-12-29hle: kernel: Manage host thread IDs using TLS.bunnei
- Avoids the need to have a large map of host to guest thread IDs.
2020-12-29hle: kernel: Move ServiceThread ownership to KernelCore.bunnei
- Fixes a circular dependency which prevented threads from being released on shutdown.
2020-12-28core: hle: kernel: Clear process list on boot.bunnei
2020-12-28core: kernel: Clear process list earlier.bunnei
2020-12-28core: hle: server_session: Use separate threads for each service connection.bunnei
2020-12-06hle: kernel: Migrate to KScopedSchedulerLock.bunnei
2020-12-06hle: kernel: Rewrite scheduler implementation based on Mesopshere.bunnei
2020-11-29core: arm: Implement InvalidateCacheRange for CPU cache invalidation.bunnei
2020-11-29common: fiber: Use boost::context instead of native fibers on Windows.bunnei
2020-11-29hle: kernel: multicore: Replace n-JITs impl. with 4 JITs.bunnei
2020-10-27hle/kernel: Remove unused registered_core_threads to fix data racesReinUsesLisp
This member was only used on asserts and it triggered data races. Remove it to fix them.
2020-10-20Revert "core: Fix clang build"bunnei
2020-10-20kernel: Fix build with recent compiler flag changesLioncash
This slipped through the cracks due to another change being merged before the compiler flag changes.
2020-10-20Merge pull request #4796 from lioncash/clangLC
core: Fix clang build
2020-10-17core: Fix clang buildLioncash
Recent changes to the build system that made more warnings be flagged as errors caused building via clang to break. Fixes #4795
2020-10-13kernel: Implement host thread register methods without lockingReinUsesLisp
Locks on GetCurrentHostThreadID were causing performance issues according to Visual Studio's profiler. It was consuming twice the time as arm_interface.Run(). The cost was not in the function itself but in the lockinig it required. Reimplement these functions using atomics and static storage instead of an unordered_map. This is a side effect to avoid locking and using linked lists for reads. Replace unordered_map with a linear search.