summaryrefslogtreecommitdiff
path: root/src/core (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | | | | sm/controller: Correct return value of QueryPointerBufferSizeGravatar Lioncash2018-08-151-1/+1
| | |/ / / / / | |/| | | | | | | | | | | | | | | | | | | This should be returning a u16 according to Switch Brew.
* / | | | | | kernel/server_session: Add IsSession() member functionGravatar Lioncash2018-08-153-3/+8
|/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Allows querying the inverse of IsDomain() to make things more readable. This will likely also be usable in the event of implementing ConvertDomainToSession().
* | | | | | Merge pull request #1067 from lioncash/initGravatar bunnei2018-08-141-3/+3
|\ \ \ \ \ \ | | | | | | | | | | | | | | emu_window: Ensure WindowConfig members are always initialized
| * | | | | | emu_window: Ensure WindowConfig members are always initializedGravatar Lioncash2018-08-141-3/+3
| | |_|/ / / | |/| | | | | | | | | | | | | | | | | | | | | | Previously we weren't always initializing all members of the struct. Prevents potentially wonky behavior from occurring.
* | | | | | Merge pull request #1073 from lioncash/3dsGravatar bunnei2018-08-146-17/+0
|\ \ \ \ \ \ | | | | | | | | | | | | | | loader: Remove address mapping remnants from citra
| * | | | | | loader: Remove address mapping remnants from citraGravatar Lioncash2018-08-146-17/+0
| |/ / / / / | | | | | | | | | | | | | | | | | | These mappings are leftovers from citra and don't apply to the Switch.
* | | | | | Merge pull request #1072 from lioncash/svcGravatar bunnei2018-08-141-2/+5
|\ \ \ \ \ \ | | | | | | | | | | | | | | kernel/svc: Log svcBreak parameters
| * | | | | | kernel/svc: Log svcBreak parametersGravatar Lioncash2018-08-141-2/+5
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Given if we hit here all is lost, we should probably be logging the break reason code and associated information to distinguish between the causes.
* | | | | | Merge pull request #1056 from lioncash/mmGravatar bunnei2018-08-142-46/+52
|\ \ \ \ \ \ | |/ / / / / |/| | | | | mm_u: Move interface class into the cpp file
| * | | | | mm_u: Forward all old variants of functions to the new onesGravatar Lioncash2018-08-131-5/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ensures both variants go through the same interface, and while we're at it, add Finalize to provide the inverse of Initialize for consistency.
| * | | | | mm_u: Move implementation class into the cpp fileGravatar Lioncash2018-08-132-46/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now if changes are ever made to the behavior of the class, it doesn't involve rebuilding everything that includes the mm_u header.
* | | | | | Merge pull request #1055 from lioncash/initGravatar bunnei2018-08-141-1/+1
|\ \ \ \ \ \ | | | | | | | | | | | | | | audout_u: Correct IAudioOut initializer list order
| * | | | | | audout_u: Correct IAudioOut initializer list orderGravatar Lioncash2018-08-131-1/+1
| |/ / / / / | | | | | | | | | | | | | | | | | | Orders elements in the precise order they'll be initialized.
* | | | | | Merge pull request #1046 from ogniK5377/missing-channelsGravatar Mat M2018-08-136-0/+148
|\ \ \ \ \ \ | |/ / / / / |/| | | | | Added missing channel devices
| * | | | | Registered missing channel devicesGravatar David Marcec2018-08-131-0/+4
| | | | | |
| * | | | | Added missing channel devicesGravatar David Marcec2018-08-135-0/+144
| | | | | |
* | | | | | arm_dynarmic: Remove IsExecuting check from PrepareRescheduleGravatar MerryMage2018-08-131-3/+1
| |/ / / / |/| | | | | | | | | | | | | | No longer required. HaltExecution is a no-op if it is not currently executing.
* | | | | Merge pull request #1032 from lioncash/sanitizeGravatar bunnei2018-08-131-10/+10
|\ \ \ \ \ | | | | | | | | | | | | vfs: Use sanitized paths within MoveFile() and MoveDirectory()
| * | | | | vfs: Use sanitized paths within MoveFile() and MoveDirectory()Gravatar Lioncash2018-08-121-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously these were being unused (or partially unused). While we're at it, use better naming to make it visibly obvious which variant of the path is being used.
* | | | | | Merge pull request #1031 from lioncash/verbosityGravatar bunnei2018-08-132-7/+7
|\ \ \ \ \ \ | | | | | | | | | | | | | | card_image: Simplify return statement of GetSubdirectories()
| * | | | | | card_image: Use type aliases to shorten definitionsGravatar Lioncash2018-08-122-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | We have the aliases, so we may as well use 'em.
| * | | | | | card_image: Simplify return statement of GetSubdirectories()Gravatar Lioncash2018-08-121-1/+1
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | We don't need to write out the construction long-form, we can just let the language itself work it out off the return type.
* | / / / / kernel/object: Tighten object against data racesGravatar Lioncash2018-08-132-8/+9
| |/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Despite being covered by a global mutex, we should still ensure that the class handles its reference counts properly. This avoids potential shenanigans when it comes to data races. Given this is the root object that drives quite a bit of the kernel object hierarchy, ensuring we always have the correct behavior (and no races) is a good thing.
* | | | | Merge pull request #1043 from Subv/timingGravatar bunnei2018-08-123-2/+11
|\ \ \ \ \ | | | | | | | | | | | | Use an approximated amortized amount of ticks when advancing timing.
| * | | | | CPU/Timing: Use an approximated amortized amount of ticks when advancing timing.Gravatar Subv2018-08-122-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We divide the number of ticks to add by the number of cores (4) to obtain a more or less rough estimate of the actual number of ticks added. This assumes that all 4 cores are doing similar work. Previously we were adding ~4 times the number of ticks, thus making the games think that time was going way too fast. This lets us bypass certain hangs in some games like Breath of the Wild. We should modify our CoreTiming to support multiple cores (both running in a single thread, and in multiple host threads).
| * | | | | Kernel/SVC: Don't reschedule the current core when creating a new thread.Gravatar Subv2018-08-121-1/+0
| |/ / / / | | | | | | | | | | | | | | | The current core may have nothing to do with the core where the new thread was scheduled to run. In case it's the same core, then the following PrepareReshedule call will take care of that.
* | | | | Merge pull request #1036 from lioncash/threadGravatar bunnei2018-08-122-2/+2
|\ \ \ \ \ | | | | | | | | | | | | scheduler: Make HaveReadyThreads() a const member function
| * | | | | scheduler: Make HaveReadyThreads() a const member functionGravatar Lioncash2018-08-122-2/+2
| |/ / / / | | | | | | | | | | | | | | | | | | | | This function doesn't modify instance state, so the const qualifier can be added to it.
* | | | | Merge pull request #1042 from Subv/racesGravatar bunnei2018-08-124-5/+13
|\ \ \ \ \ | | | | | | | | | | | | Fixed a bunch of race conditions when running in multicore mode.
| * | | | | Core/HLE: Make the 'reschedule_pending' flag atomic.Gravatar Subv2018-08-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Another thread may write to this variable while the core in question is in the middle of checking for a reschedule request.
| * | | | | CPU/HLE: Lock the HLE mutex before performing a reschedule.Gravatar Subv2018-08-121-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | Another thread might be in the middle of an SVC, thus altering the state of the schedulers.
| * | | | | Kernel/Threads: Lock the HLE mutex when executing the wakeup callback.Gravatar Subv2018-08-121-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | Another thread might be in the middle of a reschedule, thus altering the state of the schedulers.
| * | | | | Kernel/Thread: Always use the threadsafe option when scheduling wakeups.Gravatar Subv2018-08-122-4/+4
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | WakeAfterDelay might be called from any host thread, so err on the side of caution and use the thread-safe CoreTiming::ScheduleEventThreadsafe. Note that CoreTiming is still far from thread-safe, there may be more things we have to work on for it to be up to par with what we want.
* | | | | Merge pull request #1041 from Subv/duplicated_mutexGravatar bunnei2018-08-122-2/+22
|\ \ \ \ \ | | | | | | | | | | | | Kernel/Mutex: Don't duplicate threads in the mutex waiter list.
| * | | | | Kernel/Mutex: Don't duplicate threads in the mutex waiter list.Gravatar Subv2018-08-122-2/+22
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Exit from AddMutexWaiter early if the thread is already waiting for a mutex owned by the owner thread. This accounts for the possibility of a thread that is waiting on a condition variable being awakened twice in a row. Also added more validation asserts. This should fix one of the random crashes in Breath Of The Wild.
* | | | | vfs: Make VfsFilesystem constructor explicitGravatar Lioncash2018-08-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | Makes it consistent with the other VFS interfaces and prevents implicit construction.
* | | | | vfs: Make type hierarchy objects classes instead of structsGravatar Lioncash2018-08-124-10/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | struct should be used when the data type is very simple or otherwise has no invariants associated with it. Given these are used to form a hierarchy, class should be used instead.
* | | | | Merge pull request #1025 from ogniK5377/bad-castGravatar bunnei2018-08-124-4/+4
|\ \ \ \ \ | | | | | | | | | | | | Fixed invalid cast in loader
| * | | | | made ResultStatus a u16Gravatar David Marcec2018-08-123-3/+3
| | | | | |
| * | | | | Fixed invalid cast in loaderGravatar David Marcec2018-08-121-1/+1
| | |/ / / | |/| | | | | | | | | | | | | GetMessageForResultStatus takes a u16, not a size_t.
* | | | | Merge pull request #1035 from ogniK5377/audio-dev-revision-infoGravatar bunnei2018-08-122-1/+13
|\ \ \ \ \ | | | | | | | | | | | | GetAudioDeviceServiceWithRevisionInfo (Used by Bloodstained: Curse of the Moon)
| * | | | | GetAudioDeviceServiceWithRevisionInfoGravatar David Marcec2018-08-122-1/+13
| | |/ / / | |/| | | | | | | | | | | | | As we're not handling any anything about the revision data for GetAudioDeviceServiceWithRevisionInfo, it's currently marked as stubbed. However for games this shouldn't affect the result. Proper revision info would be more for homebrew.
* | | | | Merge pull request #1028 from ogniK5377/aoaGravatar bunnei2018-08-121-5/+26
|\ \ \ \ \ | | | | | | | | | | | | Added GetAudioRendererSampleRate, GetAudioRendererSampleCount & GetAudioRendererMixBufferCount
| * | | | | Pushed the requested sample rate instead of our fixed sample rateGravatar David Marcec2018-08-121-4/+2
| | | | | |
| * | | | | Added GetAudioRendererSampleRate, GetAudioRendererSampleCount & ↵Gravatar David Marcec2018-08-121-5/+28
| | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | GetAudioRendererMixBufferCount GetAudioRendererSampleRate is set as a "STUB" as a game could check if the sample rate it sent and the sample rate it wants don't match. Just a thought of something which could happen so keeping it as stub for the mean time
* | | | | hid: disable clang-format around tablesGravatar Lioncash2018-08-121-4/+5
| | | | | | | | | | | | | | | | | | | | Prevents clang-format from butchering them.
* | | | | hid: Stub DisconnectNpad()Gravatar Lioncash2018-08-121-1/+7
| |/ / / |/| | | | | | | | | | | This is required by ARMS.
* | | | Stub UpdateUserPresenceGravatar David Marcec2018-08-121-1/+8
|/ / / | | | | | | | | | Needed for Retro City Rampage to go in game
* | | Merge pull request #1022 from bunnei/fix-splatGravatar bunnei2018-08-112-2/+103
|\ \ \ | | | | | | | | Several Friend service fixes
| * | | friend: Stub DeclareCloseOnlinePlaySession.Gravatar bunnei2018-08-111-1/+10
| | | | | | | | | | | | | | | | - Used by Splatoon 2.