aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/kernel
AgeCommit message (Collapse)Author
2019-11-23Merge pull request #3114 from FernandoS27/cond-varbunnei
Kernel: Correct behavior of Condition Variables to be more similar to real hardware.
2019-11-23Merge pull request #3130 from FernandoS27/cancel-syncbunnei
Kernel: Correct Cancel Synchronization.
2019-11-21Kernel: Optimize condition variable threads management.Fernando Sahmkow
2019-11-21Kernel: Correct SignalProcessWideKeyFernando Sahmkow
When the target is 0, all threads must be processed.
2019-11-21Kernel: Correct behavior of Condition Variables to be more similar to real ↵Fernando Sahmkow
hardware. This commit ensures cond var threads act exactly as they do in the real console. The original implementation uses an RBTree and the behavior of cond var threads is that at the same priority level they act like a FIFO.
2019-11-16Kernel: Correct Cancel Synchronization.Fernando Sahmkow
This commit corrects the behavior of cancel synchronization when the thread is running/ready and ensures the next wait is cancelled as it's suppose to.
2019-11-12kernel: Resolve sign conversion warningsLioncash
Uncovered a bug within Thread's SetCoreAndAffinityMask() where an unsigned variable (ideal_core) was being compared against "< 0", which would always be a false condition. We can also get rid of an unused function (GetNextProcessorId) which contained a sign mismatch warning.
2019-11-03kernel: readable_event: Signal only once.bunnei
2019-11-03kernel: events: Remove ResetType::Automatic.bunnei
- This does not actually seem to exist in the real kernel - games reset these automatically. # Conflicts: # src/core/hle/service/am/applets/applets.cpp # src/core/hle/service/filesystem/fsp_srv.cpp
2019-11-03kernel: readable_event: Initialize members.bunnei
2019-10-27scheduler: Mark parameter of AskForReselectionOrMarkRedundant() as constLioncash
This is only compared against, so it can be made const.
2019-10-27scheduler: Silence sign conversion warningsLioncash
2019-10-27scheduler: Initialize class members directly where applicableLioncash
Reduces the overall amount of code.
2019-10-27scheduler: Amend documentation commentsLioncash
Adjusts the formatting of a few of the comments an ensures they get recognized as proper Doxygen comments.
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.