aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/kernel.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* hle: kernel: k_memory_manager: Rework for latest kernel behavior.bunnei2022-02-271-16/+17
| | | | | | - Updates the KMemoryManager implementation against latest documentation. - Reworks KMemoryLayout to be accessed throughout the kernel. - Fixes an issue with pool sizes being incorrectly reported.
* core: hle: kernel: Remove resource limit hack for PhysicalMemory.bunnei2022-02-211-7/+0
| | | | - With prior changes, we now report the correct amount of physical memory available to the emulated process.
* hle: kernel: Remove redundant tracking of dummy threads.bunnei2022-01-201-9/+3
| | | | - These are already tracked by kernel's registered_objects member.
* Merge pull request #7701 from bunnei/clear-mem-pagesbunnei2022-01-181-1/+1
|\ | | | | Kernel Memory Updates (Part 3): Clear KMemoryManager pages & other fixes
| * hle: kernel: k_memory_manager: Clear pages on allocation & free.bunnei2022-01-141-1/+1
| | | | | | | | | | - Heap pages should be zero'd. - Also explicitly passed along heap allocation option.
* | Merge pull request #7712 from bunnei/fix-thread-exitbunnei2022-01-171-0/+11
|\ \ | | | | | | Accurately implement thread exit
| * | core: hle: kernel: Instantiate a kernel instance of KWorkerTaskManager.bunnei2022-01-141-0/+11
| |/
* / hle: kernel: Fix service_threads access to be thread safe V2.bunnei2022-01-141-12/+11
|/ | | | | | - 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.
* hle: kernel: Fix service_threads access to be thread safe.bunnei2022-01-131-7/+27
| | | | | - 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.
* kernel: Manually destroy the current process during shut downameerj2021-12-191-1/+4
| | | | Avoids a memory leak.
* hle: kernel: fix timing on thread preemptionFernandoS272021-12-061-4/+2
|
* hle: kernel: Add a flag for indicating that the kernel is currently shutting ↵bunnei2021-12-061-0/+18
| | | | down.
* core: hle: kernel: DisableDispatch on suspend threads.bunnei2021-12-061-0/+3
|
* core: hle: kernel: Use CurrentPhysicalCoreIndex as appropriate.bunnei2021-12-061-6/+2
|
* core: hle: kernel: Ensure idle threads are closed before destroying scheduler.bunnei2021-12-061-23/+15
|
* core: hle: kernel: Reflect non-emulated threads as core 3.bunnei2021-12-061-0/+8
|
* Fix crash on exit due to static scoped dummy threadsAdam Heinermann2021-11-171-8/+14
|
* core: Remove unused includesameerj2021-11-031-2/+0
|
* Fix dangling kernel objects when exitingFeng Chen2021-10-271-6/+7
|
* Revert PR7009Feng Chen2021-10-271-2/+2
|
* Fix memory leakFeng Chen2021-10-271-0/+23
|
* Revert "kernel: Various improvements to scheduler"bunnei2021-08-251-28/+29
|
* Merge pull request #6878 from BreadFish64/optimize-GetHostThreadIDAmeer J2021-08-241-10/+13
|\ | | | | kernel: Optimize GetHostThreadID
| * kernel: Optimize GetHostThreadIDBreadFish642021-08-161-10/+13
| |
* | core: hle: kernel: DisableDispatch on suspend threads.bunnei2021-08-071-0/+3
| |
* | core: hle: kernel: Use CurrentPhysicalCoreIndex as appropriate.bunnei2021-08-071-6/+2
| |
* | core: hle: kernel: Ensure idle threads are closed before destroying scheduler.bunnei2021-08-071-23/+15
| |
* | core: hle: kernel: Reflect non-emulated threads as core 3.bunnei2021-08-071-0/+8
|/
* hle: kernel: Track and release server sessions, and protect methods with locks.bunnei2021-07-201-12/+66
|
* hle: kernel: Ensure current running process is closed.bunnei2021-07-201-5/+6
|
* hle: kernel: Ensure global handle table is finalized before closing.bunnei2021-07-201-0/+1
|
* hle: kernel: Ensure global handle table is initialized.bunnei2021-07-201-0/+1
|
* hle: kernel: Provide methods for tracking dangling kernel objects.bunnei2021-07-201-0/+16
|
* common: Replace common_sizes into user-literalsWunkolo2021-06-241-9/+8
| | | | | | | | | | | | | Removes common_sizes.h in favor of having `_KiB`, `_MiB`, `_GiB`, etc user-literals within literals.h. To keep the global namespace clean, users will have to use: ``` using namespace Common::Literals; ``` to access these literals.
* hle: kernel: Remove service thread manager and use weak_ptr.bunnei2021-06-071-14/+4
| | | | | - We no longer need to queue up service threads to be destroyed. - Fixes a race condition where a thread could be destroyed too early, which caused a crash in Pokemon Sword/Shield.
* Merge pull request #6373 from bunnei/use-slabheap-tlsbunnei2021-05-291-1/+2
|\ | | | | hle: kernel: KSlabHeap: Allow host or guest allocations.
| * hle: kernel: KSlabHeap: Allow host or guest allocations.bunnei2021-05-281-1/+2
| | | | | | | | | | - Use host allocations for kernel memory, as this is not properly emulated yet. - Use guest allocations for TLS, as this needs to be backed by DeviceMemory.
* | Fix two GCC 11 warnings: Unneeded copies.Markus Wick2021-05-291-1/+1
|/ | | | | std::move created an unneeded copy. iterating without reference also created copies.
* hle: kernel: Implement named service ports using service interface factory.bunnei2021-05-101-10/+11
| | | | - This allows us to create a new interface each time ConnectToNamedPort is called, removing the assumption that these are static.
* kernel: Eliminate variable shadowingLioncash2021-05-081-8/+8
| | | | | Now that the large kernel refactor is merged, we can eliminate the remaining variable shadowing cases.
* hle: kernel: Move slab resource counts to Kernel.bunnei2021-05-051-1/+11
|
* hle: kernel: Fix un/sign mismatch errors with NUM_CPU_CORES.bunnei2021-05-051-3/+3
|
* hle: kernel: Migrate to KHandleTable.bunnei2021-05-051-10/+10
|
* hle: kernel: Improve MapSharedMemory and implement UnmapSharedMemory.bunnei2021-05-051-12/+12
|
* hle: kernel: Rename Process to KProcess.bunnei2021-05-051-13/+13
|
* hle: kernel: Do not shutdown twice on emulator close.bunnei2021-05-051-3/+1
|
* hle: kernel: Cleanup shutdown of persistent kernel objects.bunnei2021-05-051-14/+12
|
* hle: kernel: Migrate KClientPort to KAutoObject.bunnei2021-05-051-3/+7
|
* hle: kernel: Migrate KResourceLimit to KAutoObject.bunnei2021-05-051-5/+19
|
* hle: kernel: Move slab heaps to their own container.bunnei2021-05-051-0/+1
|