aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/kernel
AgeCommit message (Collapse)Author
2019-10-15Kernel Thread: Cleanup THREADPROCESSORID_DONT_UPDATE.Fernando Sahmkow
2019-10-15Kernel: Address Feedback 2Fernando Sahmkow
2019-10-15Kernel: Clang FormatFernando Sahmkow
2019-10-15Kernel: Reverse global accessor removal.Fernando Sahmkow
2019-10-15Kernel: Address Feedback.Fernando Sahmkow
2019-10-15Kernel Scheduler: Make sure the global scheduler shutdowns correctly.Fernando Sahmkow
2019-10-15Kernel_Thread: Eliminate most global accessors.Fernando Sahmkow
2019-10-15KernelSVC: Assert that condition variable address is aligned to 4 bytes.Fernando Sahmkow
2019-10-15Kernel: Correct Paused schedulingFernando Sahmkow
2019-10-15Kernel: Corrections to Wait Objects clearing in which a thread could still ↵Fernando Sahmkow
be signalled after a timeout or a cancel.
2019-10-15Kernel: Correct redundant yields to only advance time forward.Fernando Sahmkow
2019-10-15Kernel: Corrections to ModifyByWaitingCountAndSignalToAddressIfEqualFernando Sahmkow
2019-10-15Kernel: Correct Results in Condition Variables and MutexesFernando Sahmkow
2019-10-15Kernel: Clang FormatFernando Sahmkow
2019-10-15Kernel: Remove global system accessor from WaitObjectFernando Sahmkow
2019-10-15Scheduler: Implement Yield Count and Core migration on Thread Preemption.Fernando Sahmkow
2019-10-15Scheduler: Corrections to YieldAndBalanceLoad and Yield bombing protection.Fernando Sahmkow
2019-10-15Kernel: Initial implementation of thread preemption.Fernando Sahmkow
2019-10-15Scheduler: Add protections for Yield bombingFernando Sahmkow
In case of redundant yields, the scheduler will now idle the core for it's timeslice, in order to avoid continuously yielding the same thing over and over.
2019-10-15Kernel: Style and CorrectionsFernando Sahmkow
2019-10-15Correct PrepareRescheduleFernando Sahmkow
2019-10-15Comment and reorganize the schedulerFernando Sahmkow
2019-10-15Add PrepareReschedule where required.Fernando Sahmkow
2019-10-15Correct compiling errors and addapt to the new interface.Fernando Sahmkow
2019-10-15Correct Supervisor Calls to work with the new scheduler,Fernando Sahmkow
2019-10-15Add interfacing to the Global SchedulerFernando Sahmkow
2019-10-15Addapt thread class to the new SchedulerFernando Sahmkow
2019-10-15Implement a new Core SchedulerFernando Sahmkow
2019-10-06core: Remove Core::CurrentProcess()Lioncash
This only encourages the use of the global system instance (which will be phased out long-term). Instead, we use the direct system function call directly to remove the appealing but discouraged short-hand.
2019-09-04kernel/vm_manager: Correct doxygen comment parameter tags for ↵Lioncash
MapPhysicalMemory/UnmapPhysicalMemory Corrects the parameter names within the doxygen comments so that they resolve properly.
2019-09-04kernel/vm_manager: Move variables closer to usage spots in ↵Lioncash
MapPhysicalMemory/UnmapPhysicalMemory Narrows the scope of variables down to where they're only necessary.
2019-08-29kernel/vm_manager: Correct behavior in failure case of UnmapPhysicalMemory()Lioncash
If an unmapping operation fails, we shouldn't be decrementing the amount of memory mapped and returning that the operation was successful. We should actually be returning the error code in this case.
2019-08-29kernel/vm_manager: Reserve memory ahead of time for slow path in ↵Lioncash
MergeAdjacentVMA Avoids potentially expensive (depending on the size of the memory block) allocations by reserving the necessary memory before performing both insertions. This avoids scenarios where the second insert may cause a reallocation to occur.
2019-08-29kernel/vm_manager: std::move shared_ptr instance in MergeAdjacentVMALioncash
Avoids an unnecessary atomic reference count increment and decrement.
2019-08-29kernel/vm_manager: Deduplicate iterator creation in MergeAdjacentVMALioncash
Avoids needing to read the same long sequence of code in both code paths. Also makes it slightly nicer to read and debug, as the locals will be able to be shown in the debugger.
2019-08-29kernel/vm_manager: Simplify some std::vector constructor callsLioncash
Same behavior, one less magic constant to read.
2019-08-29kernel/vm_manager: Simplify some assertion messagesLioncash
Assertions already log out the function name, so there's no need to manually include the function name in the assertion strings.
2019-07-19Kernel: Address FeedbackFernando Sahmkow
2019-07-19VM_Manager: Align allocated memory to 256bytesFernando Sahmkow
This commit ensures that all backing memory allocated for the Guest CPU is aligned to 256 bytes. This due to how gpu memory works and the heavy constraints it has in the alignment of physical memory.
2019-07-18Merge pull request #2687 from lioncash/tls-processbunnei
kernel/process: Allocate the process' TLS region during initialization
2019-07-17Kernel: Downgrade WaitForAddress and SignalToAddress messages to Trace.Fernando Sahmkow
This messages were originally set as warnning since few games used these svcs and it was needed for debugging. This is no longer the case.
2019-07-14Merge pull request #2690 from SciresM/physmem_fixesFernando Sahmkow
Implement MapPhysicalMemory/UnmapPhysicalMemory
2019-07-11Remove unicorn mappings/unmappingsMichael Scire
2019-07-11Merge pull request #2717 from SciresM/unmirror_memorybunnei
Restore memory perms on svcUnmapMemory/UnloadNro
2019-07-11core/arm: Remove obsolete Unicorn memory mappingLioncash
This was initially necessary when AArch64 JIT emulation was in its infancy and all memory-related instructions weren't implemented. Given the JIT now has all of these facilities implemented, we can remove these functions from the CPU interface.
2019-07-11Restore memory perms on svcUnmapMemory/UnloadNroMichael Scire
Prior to PR, Yuzu did not restore memory to RW- on unmap of mirrored memory or unloading of NRO. (In fact, in the NRO case, the memory was unmapped instead of reprotected to --- on Load, so it was actually lost entirely...) This PR addresses that, and restores memory to RW- as it should. This fixes a crash in Super Smash Bros when creating a World of Light save for the first time, and possibly other games/circumstances.
2019-07-08Prevent merging of device mapped memory blocks.Michael Scire
This sets the DeviceMapped attribute for GPU-mapped memory blocks, and prevents merging device mapped blocks. This prevents memory mapped from the gpu from having its backing address changed by block coalesce.
2019-07-07Remove unused member function declarationMichael Scire
2019-07-07physmem: add helpers, cleanup logic.Michael Scire
2019-07-07clang-format fixesMichael Scire