summaryrefslogtreecommitdiff
path: root/src/core (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | Kernel/Semaphore: Fixed a regression in semaphore waits.Gravatar Subv2017-01-051-1/+2
| |/ / / | | | | | | | | | | | | | | | | | | | | The regression was caused by a missing check in #2260. The new behavior is consistent with the real kernel.
* | | | Kernel: Fix SharedMemory objects always returning error when addr = 0 (#2404)Gravatar Hyper2017-01-061-1/+5
| | | | | | | | | | | | Closes #2400
* | | | Merge pull request #2408 from Subv/priority_boostingGravatar bunnei2017-01-061-27/+0
|\ \ \ \ | | | | | | | | | | Kernel: Removed the priority boost code for starved threads.
| * | | | Kernel: Removed the priority boost code for starved threads.Gravatar Subv2017-01-051-27/+0
| |/ / / | | | | | | | | | | | | | | | | | | | | After hwtesting and reverse engineering the kernel, it was found that the CTROS scheduler performs no priority boosting for threads like this, although some other forms of scheduling priority-starved threads might take place. For example, it was found that hardware interrupts might cause low-priority threads to run if the CPU is preempted in the middle of an SVC handler that deschedules the current (high priority) thread before scheduling it again.
* / / / Kernel: Remove some unused functions.Gravatar Subv2017-01-052-32/+0
|/ / /
* | | Merge pull request #2393 from Subv/synchGravatar Sebastian Valle2017-01-0517-159/+221
|\ \ \ | | | | | | | | Kernel: Mutex priority inheritance and synchronization improvements.
| * | | Kernel: Add some asserts to enforce the invariants in the scheduler.Gravatar Subv2017-01-052-2/+13
| | | |
| * | | Kernel: Remove a thread from all of its waiting objects' waiting_threads ↵Gravatar Subv2017-01-051-18/+4
| | | | | | | | | | | | | | | | | | | | | | | | list when it is awoken. This fixes a potential bug where threads would not get removed from said list if they awoke after waiting with WaitSynchronizationN with wait_all = false
| * | | Kernel: Remove Thread::wait_objects_index and use wait_objects to hold all ↵Gravatar Subv2017-01-054-21/+22
| | | | | | | | | | | | | | | | the objects that a thread is waiting on.
| * | | Kernel: Use different thread statuses when a thread calls ↵Gravatar Subv2017-01-043-16/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | WaitSynchronization1 and WaitSynchronizationN with wait_all = true. This commit removes the overly general THREADSTATUS_WAIT_SYNCH and replaces it with two more granular statuses: THREADSTATUS_WAIT_SYNCH_ANY when a thread waits on objects via WaitSynchronization1 or WaitSynchronizationN with wait_all = false. THREADSTATUS_WAIT_SYNCH_ALL when a thread waits on objects via WaitSynchronizationN with wait_all = true.
| * | | Kernel/Mutex: Propagate thread priority changes to other threads inheriting ↵Gravatar Subv2017-01-045-42/+60
| | | | | | | | | | | | | | | | the priority via mutexes
| * | | Kernel/Mutex: Update a mutex priority when a thread stops waiting on it.Gravatar Subv2017-01-045-24/+42
| | | |
| * | | Kernel/Mutex: Implemented priority inheritance.Gravatar Subv2017-01-045-31/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The implementation is based on reverse engineering of the 3DS's kernel. A mutex holder's priority will be temporarily boosted to the best priority among any threads that want to acquire any of its held mutexes. When the holder releases the mutex, it's priority will be boosted to the best priority among the threads that want to acquire any of its remaining held mutexes.
| * | | Kernel: Object ShouldWait and Acquire calls now take a thread as a parameter.Gravatar Subv2017-01-0417-68/+56
| | | | | | | | | | | | | | | | This will be useful when implementing mutex priority inheritance.
| * | | Kernel/Synch: Do not attempt a reschedule on every syscall.Gravatar Subv2017-01-042-2/+18
| | |/ | |/| | | | | | | Not all syscalls should cause reschedules, this commit attempts to remedy that, however, it still does not cover all cases.
* | | Fix some warnings (#2399)Gravatar Jonathan Hao2017-01-047-15/+8
| | |
* | | Service/NFC: stub GetTagInRangeEventGravatar mailwl2016-12-305-0/+42
|/ / | | | | | | Fix Fatal Error in Mini-Mario & Friends - amiibo Challenge
* | Merge pull request #2240 from wwylele/auto-regionGravatar bunnei2016-12-295-2/+91
|\ \ | | | | | | Config: auto-select region and language
| * | Config: auto-select region and languageGravatar wwylele2016-12-075-2/+91
| | |
* | | Core: remove unused hle.cppGravatar wwylele2016-12-271-58/+0
| | |
* | | Core: reset cpu_core in Shutdown to make IsPoweredOn work properlyGravatar wwylele2016-12-241-0/+1
| |/ |/|
* | core: Move emu_window and key_map into coreGravatar MerryMage2016-12-237-2/+648
| | | | | | | | * Removes circular dependences (common should not depend on core)
* | Service/NWM: add nwm servicesGravatar mailwl2016-12-2218-10/+317
| |
* | Merge pull request #2366 from MerryMage/MemoryReadCodeGravatar bunnei2016-12-221-0/+1
|\ \ | | | | | | arm_dynarmic: Provide MemoryReadCode callback
| * | arm_dynarmic: Provide MemoryReadCode callbackGravatar MerryMage2016-12-221-0/+1
| | | | | | | | | | | | Change of interface in dynarmic 36082087ded632079b16d24137fdd0c450ce82ea
* | | Merge pull request #2343 from bunnei/core-cleanupGravatar bunnei2016-12-2232-407/+377
|\ \ \ | |/ / |/| | Core: Top-level consolidate & misc cleanup
| * | ThreadContext: Move from "core" to "arm_interface".Gravatar bunnei2016-12-228-37/+26
| | |
| * | core: Replace "AppCore" nomenclature with just "CPU".Gravatar bunnei2016-12-228-93/+91
| | |
| * | Address clang-format issues.Gravatar bunnei2016-12-216-32/+33
| | |
| * | core: Remove HLE module, consolidate code & various cleanups.Gravatar bunnei2016-12-2119-107/+94
| | |
| * | core: Consolidate core and system state, remove system module & cleanups.Gravatar bunnei2016-12-2112-311/+264
| | |
| * | core: Consolidate top-level system state into a singleton.Gravatar bunnei2016-12-212-23/+120
| | |
| * | loader: Remove duplicate docstrings.Gravatar bunnei2016-12-213-56/+0
| | |
* | | Merge pull request #2285 from mailwl/csnd-formatGravatar bunnei2016-12-222-49/+92
|\ \ \ | |/ / |/| | csnd:SND: Reformat source code
| * | csnd:SND reformat source codeGravatar mailwl2016-12-122-49/+92
| | |
* | | Revert "Memory: Always flush whole pages from surface cache"Gravatar bunnei2016-12-171-10/+0
| | |
* | | Thread: remove the thread from the thread list when exitingGravatar wwylele2016-12-173-3/+15
| | |
* | | Merge pull request #2337 from lioncash/gdbGravatar bunnei2016-12-161-9/+8
|\ \ \ | | | | | | | | gdbstub: const correctness changes
| * | | gdbstub: const correctness changesGravatar Lioncash2016-12-161-9/+8
| | | | | | | | | | | | | | | | Also uses size_t as the length indicator type, as is common with buffers.
* | | | Merge pull request #2322 from MerryMage/ctx-mnuGravatar Merry2016-12-165-0/+35
|\ \ \ \ | | | | | | | | | | game_list: Add a context menu with "Open Save Location" option
| * | | | loader: Implement ReadProgramIdGravatar MerryMage2016-12-153-0/+28
| | | | |
| * | | | archive_source_sd_savedata: Add static method to get a specific save data pathGravatar MerryMage2016-12-152-0/+7
| | | | |
* | | | | Kernel: remove object's waiting thread if it is deadGravatar wwylele2016-12-161-1/+2
| |/ / / |/| | |
* | | | Merge pull request #2260 from Subv/schedulingGravatar bunnei2016-12-167-195/+209
|\ \ \ \ | | | | | | | | | | Threading: Reworked the way our scheduler works.
| * | | | Fixed the codestyle to match our clang-format rules.Gravatar Subv2016-12-143-27/+39
| | | | |
| * | | | Properly remove a thread from its wait_objects' waitlist when it is awoken ↵Gravatar Subv2016-12-103-2/+11
| | | | | | | | | | | | | | | | | | | | by a timeout.
| * | | | WaitSynch: Removed unused variables and reduced SharedPtr copies.Gravatar Subv2016-12-094-73/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Define a variable with the value of the sync timeout error code. Use a boost::flat_map instead of an unordered_map to hold the equivalence of objects and wait indices in a WaitSynchN call.
| * | | | Use boost remove_erase_if instead of the erase-remove idiomGravatar Subv2016-12-061-2/+3
| | | | |
| * | | | Improved the algorithm for GetHighestPriorityReadyThread.Gravatar Subv2016-12-061-14/+13
| | | | |
| * | | | Threading: Added some utility functions and const correctness.Gravatar Subv2016-12-043-15/+35
| | | | |