aboutsummaryrefslogtreecommitdiff
path: root/src/core
AgeCommit message (Collapse)Author
2019-05-28core/loader: Remove LoadKernelSystemModeLioncash
This is a hold-over from Citra and doesn't apply to yuzu.
2019-05-28core/telemetry_session: Remove unnecessary web service nulling out in destructorLioncash
This will automatically occur when the backend instance goes out of scope at the end of the destructor's execution.
2019-05-28core/telemetry_session: Remove usages of the global system accessorLioncash
Makes the dependency explicit in the TelemetrySession's interface instead of making it a hidden dependency. This also revealed a hidden issue with the way the telemetry session was being initialized. It was attempting to retrieve the app loader and log out title-specific information. However, this isn't always guaranteed to be possible. During the initialization phase, everything is being constructed. It doesn't mean an actual title has been selected. This is what the Load() function is for. This potentially results in dead code paths involving the app loader. Instead, we explicitly add this information when we know the app loader instance is available.
2019-05-28core/telemetry_session: Explicitly delete copy and move constructorsLioncash
NonCopyable is misleading here. It also makes the class non-moveable as well, so we can be explicit about this.
2019-05-28core/telemetry_session: Remove unused includeLioncash
2019-05-27Merge pull request #2519 from lioncash/signbunnei
loader/nso, core/core_timing_util: Silence sign-comparison warning
2019-05-26ncm: Implement LR OpenAddOnContentLocationResolver (2)Zach Hilman
Returns an object of type IAddOnContentLocationResolver for the provided StorageId.
2019-05-26ncm: Implement LR OpenRegisteredLocationResolver (1)Zach Hilman
Returns an object of type IRegisteredLocationResolver for the StorageId.
2019-05-26ncm: Implement LR OpenLocationResolver (0)Zach Hilman
Returns an object of type ILocationResolver with the provided StorageId.
2019-05-26emu_window: Pass OnMinimalClientAreaChangeRequest argument by copyReinUsesLisp
There's no performance improvement in passing an unsigned pair by reference.
2019-05-25Merge pull request #2509 from lioncash/aocbunnei
service/aoc_u: Minor cleanup
2019-05-25core_timing_util: Silence sign-comparison warningsLioncash
We can just make the conversion explicit instead of implicit here to silence -Wsign-compare warnings.
2019-05-25loader/nso: Silence sign-comparison warningLioncash
This was previously performing a size_t == int comparison. Silences a -Wsign-compare warning.
2019-05-24Merge pull request #2489 from FearlessTobi/port-4716bunnei
Port citra-emu/citra#4716: "HLE/IPC: HLEContext can memorize the client thread and use it for SleepClientThread"
2019-05-23Fix bitmask logic inversionMichael Scire
2019-05-23fix introduced clang-format errorsMichael Scire
2019-05-23Address review commentsMichael Scire
2019-05-23clang-format fixesMichael Scire
2019-05-23Implement IApplicationFunctions::GetDesiredLanguageMichael Scire
2019-05-23service/aoc: Avoid allocating and discarding dataLioncash
Previously, the code was accumulating data into a std::vector and then tossing all of it away if a setting was disabled. Instead, we can just check if it's disabled and do no work at all if possible. If it's enabled, then we can append to the vector and allocate. Unlikely to impact usage much, but it is slightly less sloppy with resources.
2019-05-22service/aoc: Remove unnecessary includesLioncash
Removes two header dependencies related to file handling that aren't actually used within the source file.
2019-05-22service/aoc: Pop all passed values where applicableLioncash
A few of the aoc service stubs/implementations weren't fully popping all of the parameters passed to them. This ensures that all parameters are popped and, at minimum, logged out.
2019-05-19Merge pull request #2410 from lioncash/affinitybunnei
kernel/svc: Reorganize and fix up the initial handling of svcSetThreadCoreMask()
2019-05-19Merge pull request #2439 from lioncash/audrenHexagon12
service/audren_u: Get rid of magic values within GetAudioRendererWorkBufferSize
2019-05-19Merge pull request #2463 from lioncash/setHexagon12
service/set: Correct and simplify behavior related to copying language codes
2019-05-19Merge pull request #2487 from lioncash/service-returnHexagon12
service/am: Add missing return in error case for IStorageAccessor's Read/Write()
2019-05-19Merge pull request #2490 from lioncash/floatHexagon12
ipc_helpers: Amend floating-point type in Pop<double> specialization
2019-05-19Merge pull request #2486 from lioncash/resetnameSebastian Valle
core/kernel/object: Rename ResetType enum members for clarity
2019-05-18ipc_helpers: Amend floating-point type in Pop<double> specializationLioncash
Currently, this overload isn't used, so this wasn't actually hit in any code, only the float overload is used.
2019-05-19Address review commentTobias
Co-Authored-By: Mat M. <mathew1800@gmail.com>
2019-05-18kernel/svc: Mark GetThreadList() and UnmapProcessCodeMemory() as internally ↵Lioncash
linked These are only used from within this translation unit, so they don't need to have external linkage. They were intended to be marked with this anyways to be consistent with the other service functions.
2019-05-18service/am: Add missing return in error case for IStorageAccessor's ↵Lioncash
Read()/Write(). Previously this would fall through and return successfully, despite being an out of bounds read or write.
2019-05-18core/kernel/object: Rename ResetType enum membersLioncash
Renames the members to more accurately indicate what they signify. "OneShot" and "Sticky" are kind of ambiguous identifiers for the reset types, and can be kind of misleading. Automatic and Manual communicate the kind of reset type in a clearer manner. Either the event is automatically reset, or it isn't and must be manually cleared. The "OneShot" and "Sticky" terminology is just a hold-over from Citra where the kernel had a third type of event reset type known as "Pulse". Given the Switch kernel only has two forms of event reset types, we don't need to keep the old terminology around anymore.
2019-05-18HLE/IPC: HLEContext can memorize the client thread and use it for ↵Weiyi Wang
SleepClientThread This reduces the boilerplate that services have to write out the current thread explicitly. Using current thread instead of client thread is also semantically incorrect, and will be a problem when we implement multicore (at which time there will be multiple current threads)
2019-05-09service/set: Correct and simplify behavior related to copying language codesLioncash
This corrects cases where it was possible to write more entries into the write buffer than were requested. Now, we check the size of the buffer before actually writing into them. We were also returning the wrong value for GetAvailableLanguageCodeCount2(). This was previously returning 64, but only 17 should have been returned. 64 entries is the size of the static array used in MakeLanguageCode() within the service binary itself, but isn't the actual total number of language codes present.
2019-05-09Merge pull request #2437 from lioncash/audctlbunnei
service/audctl: Update documentation comments to be relative to 8.0.0
2019-05-09Merge pull request #2445 from FearlessTobi/port-4749bunnei
Port citra-emu/citra#4749: "web_service: Misc fixes"
2019-05-09Merge pull request #2453 from lioncash/enumbunnei
core/memory: Remove unused FlushMode enum
2019-05-07core/memory: Remove unused FlushMode enumLioncash
Recent changes to memory-related code resulted in this being unused, so we can remove it.
2019-05-04core/telemetry_session: Only create the backend when we really need itzhupengfei
The backend is not used until we decide to submit the testcase/telemetry, and creating it early prevents users from updating the credentials properly while the games are running.
2019-05-04core/frontend/emu_window: Make GraphicsContext's destructor virtualLioncash
This class is used in a polymorphic context, so destruction of the context will lead to undefined behavior if the destructor isn't virtual.
2019-04-30service/audren_u: Handle variadic command buffers in GetWorkBufferSize()Lioncash
Also introduced in REV5 was a variable-size audio command buffer. This also affects how the size of the work buffer should be determined, so we can add handling for this as well. Thankfully, no other alterations were made to how the work buffer size is calculated in 7.0.0-8.0.0. There were indeed changes made to to how some of the actual audio commands are generated though (particularly in REV7), however they don't apply here.
2019-04-30service/audren_u: Handle version 2 of performance frame info in ↵Lioncash
GetWorkBufferSize() Introduced in REV5. This is trivial to add support for, now that everything isn't a mess of random magic constant values. All this is, is a change in data type sizes as far as this function cares.
2019-04-30service/audren_u: Clean up work buffer calculationsLioncash
"Unmagics" quite a few magic constants within this code, making it much easier to understand. Particularly given this factors out specific sections into their own self-contained lambda functions.
2019-04-30loader/nso: Remove left-in debug pragmaLioncash
Unintentionally introduced in 552d5071fa171165e4054392d8bb6bf2ecc924e2
2019-04-29kernel/svc: Make svcCreateThread/svcStartThread/svcSleepThread/svcExitThread ↵Lioncash
calls show up in the debug log These are actually quite important indicators of thread lifetimes, so they should be going into the debug log, rather than being treated as misc info and delegated to the trace log.
2019-04-29kernel/svc: Reorganize svcSetThreadCoreMask()Lioncash
Makes the code much nicer to follow in terms of behavior and control flow. It also fixes a few bugs in the implementation. Notably, the thread's owner process shouldn't be accessed in order to retrieve the core mask or ideal core. This should be done through the current running process. The only reason this bug wasn't encountered yet is because we currently only support running one process, and thus every owner process will be the current process. We also weren't checking against the process' CPU core mask to see if an allowed core is specified or not. With this out of the way, it'll be less noisy to implement proper handling of the affinity flags internally within the kernel thread instances.
2019-04-29kernel/thread: Update thread processor ID flagsLioncash
Adds the missing flags to the enum and documents them.
2019-04-28Merge pull request #2412 from lioncash/systembunnei
kernel/vm_manager: Remove usages of global system accessors
2019-04-27service/audctl: Update documentation comments to be relative to 8.0.0Lioncash
The state of these service calls are still the same in version 8.0.0.