aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle
AgeCommit message (Collapse)Author
2019-06-09Merge pull request #2571 from lioncash/refZach Hilman
kernel/process: Make Create()'s name parameter be taken by value
2019-06-09kernel/process: Make Create()'s name parameter be taken by valueLioncash
Makes the interface more flexible in terms of how Create() may be called, while still allowing the parameter itself to be moved into.
2019-06-09kernel/svc: Implement ↵Lioncash
TotalMemoryUsedWithoutMmHeap/TotalMemoryAvailableWithoutMmHeap Given we don't currently implement the personal heap yet, the existing memory querying functions are essentially doing what the memory querying types introduced in 6.0.0 do. So, we can build the necessary machinery over the top of those and just use them as part of info types.
2019-06-09kernel/svc: Amend naming for TotalMemoryUsage in svcGetInfo()Lioncash
Disambiguates and makes the name a little more consistent with TotalPhysicalMemoryUsed.
2019-06-09kernel/svc: Remove duplicate enum entry in svcGetInfo()Lioncash
2019-06-07constants: Extract backup JPEG used by account servicesZach Hilman
2019-06-06Merge pull request #2549 from lioncash/headerZach Hilman
kernel/process: Remove unused boost header include
2019-06-06Merge pull request #2551 from lioncash/dtorbunnei
service/ns: Add missing override specifiers
2019-06-05Merge pull request #2419 from DarkLordZach/srv-lr-ifacebunnei
lr: Add command handler skeletons for Open*LocationResolver
2019-06-05service/ns: Add missing override specifiersLioncash
2019-06-05Merge pull request #2526 from lioncash/globalZach Hilman
core/telemetry_session: Remove usages of the global system accessor
2019-06-05Merge pull request #2545 from lioncash/timingZach Hilman
core/core_timing_util: Use std::chrono types for specifying time units
2019-06-05Merge pull request #2510 from SciresM/desired_languageZach Hilman
Implement/Fix IApplicationFunctions::GetDesiredLanguage
2019-06-05kernel/process: Remove unused boost header includeLioncash
Boost headers typically include a lot of other headers, so removing this can prevent a bit of unnecessary compiler churn when building.
2019-06-04core/core_timing_util: Amend casing of cyclesTo* functionsLioncash
Makes the casing consistent with all of our general function naming conventions.
2019-06-04core/core_timing_util: Use std::chrono types for specifying time unitsLioncash
Makes the interface more type-safe and consistent in terms of return values.
2019-05-30Merge pull request #1931 from DarkLordZach/mii-database-1bunnei
mii: Implement MiiManager backend and several mii service commands
2019-05-29core/core: Remove unnecessary includesLioncash
The contents of these includes aren't used anywhere in this translation unit.
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-25Merge pull request #2509 from lioncash/aocbunnei
service/aoc_u: Minor cleanup
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-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-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.