aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle
AgeCommit message (Collapse)Author
2018-10-14Merge pull request #1491 from lioncash/referencebunnei
filesystem: Make CreateFactories() and InstallInterface() take a VfsFilesystem by reference
2018-10-14Merge pull request #1492 from lioncash/procbunnei
svc: Implement svcGetProcessInfo
2018-10-14Stop all threads on svcBreakDavid Marcec
This should help diagnose crashes easier and prevent many users thinking that a game is still running when in fact it's just an audio thread still running(this is typically not killed when svcBreak is hit since the game expects us to do this)
2018-10-13aoc: Return size in ListAddOnContentZach Hilman
2018-10-13svc: Implement svcGetProcessInfoLioncash
A fairly basic service function, which only appears to currently support retrieving the process state. This also alters the ProcessStatus enum to contain all of the values that a kernel process seems to be able of reporting with regards to state.
2018-10-13filesystem: Make CreateFactories() and InstallInterface() take a ↵Lioncash
VfsFilesystem instance by reference Neither of these functions alter the ownership of the provided pointer, so we can simply make the parameters a reference rather than a direct shared pointer alias. This way we also disallow passing incorrect memory values like nullptr.
2018-10-12Merge pull request #1483 from lioncash/codesetbunnei
kernel/process: Make CodeSet a regular non-inherited object
2018-10-12Merge pull request #1481 from lioncash/typobunnei
svc: Fix typos in sanitizing checks for MapMemory/UnmapMemory
2018-10-12Merge pull request #1467 from ogniK5377/svcbreak-type-fixbunnei
Fixed incorrect types for svcBreak
2018-10-12kernel/process: Make CodeSet a regular non-inherited objectLioncash
These only exist to ferry data into a Process instance and end up going out of scope quite early. Because of this, we can just make it a plain struct for holding things and just std::move it into the relevant function. There's no need to make this inherit from the kernel's Object type.
2018-10-12Merge pull request #1478 from ogniK5377/remap-invalidhandle-remapbunnei
Passing an invalid nmap handle to Remap should throw an error
2018-10-12Merge pull request #1482 from lioncash/initbunnei
thread: Remove unnecessary memset from ResetThreadContext()
2018-10-12Merge pull request #1479 from ogniK5377/nmap-revampedbunnei
Added error codes for nvmap
2018-10-12thread: Remove unnecessary memset from ResetThreadContext()Lioncash
Regular value initialization is adequate here for zeroing out data. It also has the benefit of not invoking undefined behavior if a non-trivial type is ever added to the struct for whatever reason.
2018-10-12Returned an error before processing other remapsDavid Marcec
2018-10-12Made the minimum alignment more clearDavid Marcec
2018-10-12svc: Fix typos in sanitizing checks for MapMemory/UnmapMemoryLioncash
2018-10-12WipDavid Marcec
2018-10-11Merge pull request #1474 from ogniK5377/hwopus-decodeinterleavedwithperformancebunnei
HwOpus, Implemented DecodeInterleavedWithPerformance
2018-10-11Merge pull request #1472 from lioncash/sanbunnei
svc: Add missing address range sanitizing checks to MapMemory/UnmapMemory
2018-10-12Dynamically decide handheld variant based on supported npad id priorityDavid Marcec
Kirby input still doesn't work, should fix a lot of other games
2018-10-11Added error codes for nvmapDavid Marcec
2018-10-11Passing an invalid nmap handle to Remap should throw an errorDavid Marcec
Added error for invalid nmap handles
2018-10-11nvhost_as_gpu: Flush CPU VAddr on UnmapBuffer.bunnei
2018-10-11HwOpus, Implemented DecodeInterleavedWithPerformanceDavid Marcec
Used by sonic ages
2018-10-10svc: Add missing address range sanitizing checks to MapMemory/UnmapMemoryLioncash
This adds the missing address range checking that the service functions do before attempting to map or unmap memory. Given that both service functions perform the same set of checks in the same order, we can wrap these into a function and just call it from both functions, which deduplicates a little bit of code.
2018-10-11Added BeginPermitVibrationSession and EndPermitVibrationSessionDavid Marcec
Used by Mario Party
2018-10-10Added GetLedPattern and HandheldVariantDavid Marcec
HandheldVariant is for specific games which expect handheld controllers to be at position 8(kirby), however this doesn't fix all games as some games require handhelds to be at position 0(snipperclips)
2018-10-10kernel/thread: Use a regular pointer for the owner/current processLioncash
There's no real need to use a shared pointer in these cases, and only makes object management more fragile in terms of how easy it would be to introduce cycles. Instead, just do the simple thing of using a regular pointer. Much of this is just a hold-over from citra anyways. It also doesn't make sense from a behavioral point of view for a process' thread to prolong the lifetime of the process itself (the process is supposed to own the thread, not the other way around).
2018-10-10Kirby expects handheld controllers to be at position 8David Marcec
2018-10-10Added the ability to "disconnect" individual npadsDavid Marcec
Fixes arms
2018-10-10Removed unneeded forward declarationsDavid Marcec
2018-10-10Addressed changes for better hidDavid Marcec
2018-10-10"Better Hid" rework part 1David Marcec
2018-10-10Changed all casts in svc_wrap.h to be static_cast insteadDavid Marcec
2018-10-10Use a better name than "dont_kill_application"David Marcec
signal_debugger seems like a more fitting name
2018-10-10Fixed incorrect types for svcBreakDavid Marcec
svcBreak reason should be a u32, not a u64.
2018-10-09Added bitfield instead of manually checking if the bit is setDavid Marcec
2018-10-09Actual kill execution when the bit isn't set, not the other way aroundDavid Marcec
2018-10-09svcBreak, Signalling to the debugger should not kill executionDavid Marcec
When loading NROs, svcBreak is called to signal to the debugger that a new "module" is loaded. As no debugger is technically attached we shouldn't be killing the programs execution.
2018-10-08Merge pull request #1456 from ogniK5377/aoc-u-fixupsbunnei
Fixed assertion due to CountAddOnContent & Casting warnings
2018-10-08Unmapping an unmapped buffer should succeedDavid Marcec
Hardware tests show that trying to unmap an unmapped buffer already should always succeed. Hardware test was tested up to 32 iterations of attempting to unmap
2018-10-08Fixed assertion due to CountAddOnContentDavid Marcec
Word count should be 3 since we're pushing a result code and a u32. Also fixed up compiler warnings due to casting
2018-10-06Merge pull request #1396 from DarkLordZach/packed-updatesbunnei
loader: Add support for packed updates
2018-10-06Added forward define for ServerPortDavid Marcec
2018-10-06Ported #4296 from citraDavid Marcec
This will allow us to easily remove the use of "NFC" in "System"
2018-10-06kernel/mutex: Amend behavior of TransferMutexOwnership()Lioncash
This was the result of a typo accidentally introduced in e51d715700a35a8f14e5b804b6f7553c9a40888b. This restores the previous correct behavior. The behavior with the reference was incorrect and would cause some games to fail to boot.
2018-10-05thread: Make the scheduler pointer a regular pointerbalika011
Conceptually, it doesn't make sense for a thread to be able to persist the lifetime of a scheduler. A scheduler should be taking care of the threads; the threads should not be taking care of the scheduler. If the threads outlive the scheduler (or we simply don't actually terminate/shutdown the threads), then it should be considered a bug that we need to fix. Attributing this to balika011, as they opened #1317 to attempt to fix this in a similar way, but my refactoring of the kernel code caused quite a few conflicts.
2018-10-05Merge pull request #1439 from lioncash/threadbunnei
kernel/thread: Make all instance variables private
2018-10-05romfs_factory: Extract packed update setter to new functionZach Hilman