summaryrefslogtreecommitdiff
path: root/src/core/hle (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* | | Merge pull request #1847 from ogniK5377/backtrace-breakGravatar bunnei2018-12-292-1/+5
|\ \ \ | | | | | | | | Print backtrace on svcBreak
| * | | Moved log backtrace to arm_interface.cpp. Added printing of error code to fatalGravatar David Marcec2018-12-291-1/+2
| | | |
| * | | Moved backtrace to ArmInterfaceGravatar David Marcec2018-12-193-11/+3
| | | |
| * | | Moved backtrace to ArmInterfaceGravatar David Marcec2018-12-031-14/+1
| | | | | | | | | | | | | | | | Added to both dynarmic and unicorn
| * | | Print backtrace on svcBreakGravatar David Marcec2018-12-033-0/+24
| | | | | | | | | | | | | | | | When we get an svcBreak we get a backtrace now
* | | | service/time: Minor cleanup to GetClockSnapshot()Gravatar Lioncash2018-12-291-7/+9
| | | | | | | | | | | | | | | | Moves some variables closer to their actual usage sites.
* | | | service/time: Fill in some structures and remove padding where not necessaryGravatar Lioncash2018-12-292-7/+9
| |_|/ |/| |
* | | kernel/process: Remove most allocation functions from Process' interfaceGravatar Lioncash2018-12-274-49/+35
| |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | In all cases that these functions are needed, the VMManager can just be retrieved and used instead of providing the same functions in Process' interface. This also makes it a little nicer dependency-wise, since it gets rid of cases where the VMManager interface was being used, and then switched over to using the interface for a Process instance. Instead, it makes all accesses uniform and uses the VMManager instance for all necessary tasks. All the basic memory mapping functions did was forward to the Process' VMManager instance anyways.
* | Merge pull request #1928 from lioncash/capsGravatar bunnei2018-12-276-123/+642
|\ \ | | | | | | kernel: Handle kernel capability descriptors
| * | kernel/process: Hook up the process capability parser to the process itselfGravatar Lioncash2018-12-212-120/+18
| | | | | | | | | | | | | | | While we're at it, we can also toss out the leftover capability parsing from Citra.
| * | kernel/process_capability: Handle debug capability flagsGravatar Lioncash2018-12-212-1/+18
| | |
| * | kernel/process_capability: Handle handle table capability flagsGravatar Lioncash2018-12-212-1/+11
| | | | | | | | | | | | | | | This just specifies the handle table size. There's also a section of reserved bits that are checked against.
| * | kernel/process_capability: Handle kernel version capability flagsGravatar Lioncash2018-12-212-1/+18
| | |
| * | kernel/process_capability: Handle program capability flagsGravatar Lioncash2018-12-213-2/+29
| | |
| * | kernel/process_capability: Handle interrupt capability flagsGravatar Lioncash2018-12-211-1/+21
| | | | | | | | | | | | | | | | | | Similar to the service capability flags, however, we currently don't emulate the GIC, so this currently handles all interrupts as being valid for the time being.
| * | kernel/process_capability: Handle syscall capability flagsGravatar Lioncash2018-12-212-1/+29
| | |
| * | kernel/process_capability: Handle the priority mask and core mask flagsGravatar Lioncash2018-12-212-1/+40
| | | | | | | | | | | | | | | | | | Handles the priority mask and core mask flags to allow building up the masks to determine the usable thread priorities and cores for a kernel process instance.
| * | kernel/process: Introduce process capability parsing skeletonGravatar Lioncash2018-12-214-3/+466
| | | | | | | | | | | | | | | | | | | | | We've had the old kernel capability parser from Citra, however, this is unused code and doesn't actually map to how the kernel on the Switch does it. This introduces the basic functional skeleton for parsing process capabilities.
* | | Merge pull request #1929 from bunnei/fix-hidGravatar bunnei2018-12-271-44/+163
|\ \ \ | | | | | | | | hid: Fix SetNpadJoyHoldType and improve logging.
| * | | hid: Fix SetNpadJoyHoldType and improve logging.Gravatar bunnei2018-12-211-44/+163
| | | |
* | | | Merge pull request #1945 from bunnei/fix-hid-horizGravatar bunnei2018-12-271-46/+0
|\ \ \ \ | | | | | | | | | | npad: Remove code to invert input in horizontal mode.
| * | | | npad: Remove code to invert input in horizontal mode.Gravatar bunnei2018-12-261-46/+0
| | | | | | | | | | | | | | | | | | | | | | | | | - This was incorrect, the game appears to handle this for us. - Fixes horizontal mode with Puyo Puyo Tetris and Super Mario Odyssey.
* | | | | Merge pull request #1949 from lioncash/unmapGravatar bunnei2018-12-271-0/+1
|\ \ \ \ \ | | | | | | | | | | | | kernel/vm_manager: Reset region attributes when unmapping a VMA
| * | | | | kernel/vm_manager: Reset region attributes when unmapping a VMAGravatar Lioncash2018-12-261-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Like the other members related to memory regions, the attributes need to be reset back to their defaults as well.
* | | | | | am: Implement GetSaveDataSize and ExtendSaveDataGravatar Zach Hilman2018-12-272-2/+47
| | | | | | | | | | | | | | | | | | These functions come in a pair and are needed by Smash Ultimate, Minecraft, and Skyrim, amongst others.
* | | | | | filesystem: Populate save data sizes from control dataGravatar Zach Hilman2018-12-272-0/+53
|/ / / / /
* | | | | Merge pull request #1849 from encounter/svcSetThreadActivityGravatar bunnei2018-12-264-6/+72
|\ \ \ \ \ | |/ / / / |/| | | | svc: Implement SetThreadActivity (thread suspension)
| * | | | svc: Implement SetThreadActivity (thread suspension)Gravatar Luke Street2018-12-044-6/+72
| | | | |
* | | | | Merge pull request #1781 from DarkLordZach/applet-profile-selectGravatar bunnei2018-12-233-0/+131
|\ \ \ \ \ | | | | | | | | | | | | am: Implement HLE profile selector applet
| * | | | | applets: Correct event ResetTypes from OneShot to StickyGravatar Zach Hilman2018-12-034-13/+5
| | | | | | | | | | | | | | | | | | | | | | | | Fixes bugs relating to signalling in software keyboard.
| * | | | | am: Use ProfileSelect appletGravatar Zach Hilman2018-12-031-0/+4
| | | | | |
| * | | | | applets: Implement ProfileSelect appletGravatar Zach Hilman2018-12-032-0/+130
| | | | | | | | | | | | | | | | | | Allows the player to select an emulated profile.
| * | | | | software_keyboard: Signal state changed event upon constructionGravatar Zach Hilman2018-12-031-1/+6
| | | | | | | | | | | | | | | | | | Previously, ILibraryAppletAccessor would signal upon creation of any applet, but this is incorrect. A flag inside of the applet code determines whether or not creation should signal state change and swkbd happens to be one of these applets.
* | | | | | Merge pull request #1921 from ogniK5377/no-unitGravatar bunnei2018-12-211-0/+1
|\ \ \ \ \ \ | | | | | | | | | | | | | | Fixed uninitialized memory due to missing returns in canary
| * | | | | | Fixed uninitialized memory due to missing returns in canaryGravatar David Marcec2018-12-191-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Functions which are suppose to crash on non canary builds usually don't return anything which lead to uninitialized memory being used.
* | | | | | | Merge pull request #1925 from lioncash/pidGravatar bunnei2018-12-216-26/+57
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | kernel/{process, thread}: Amend behavior related to IDs
| * | | | | | | kernel/svc: Handle thread handles within GetProcessIdGravatar Lioncash2018-12-191-10/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a thread handle is passed to svcGetProcessId, the kernel attempts to access the process ID via the thread's instance's owning process. Technically, this function should also be handling the kernel debug objects as well, however we currently don't handle those kernel objects yet, so I've left a note via a comment about it to remind myself when implementing it in the future.
| * | | | | | | kernel/kernel: Use correct initial PID for userland Process instancesGravatar Lioncash2018-12-182-4/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Starts the process ID counter off at 81, which is what the kernel itself checks against internally when creating processes. It's actually supposed to panic if the PID is less than 81 for a userland process.
| * | | | | | | kernel/svc: Correct output parameter for svcGetThreadIdGravatar Lioncash2018-12-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The service call uses a 64-bit value, just like svcGetProcessId. This amends the function signature accordingly.
| * | | | | | | kernel/thread: Make thread_id a 64-bit valueGravatar Lioncash2018-12-183-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The kernel uses a 64-bit value for the thread ID, so we shouldn't be using a 32-bit value.
| * | | | | | | kernel/svc: Correct output parameter for svcGetProcessIdGravatar Lioncash2018-12-182-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | svcGetProcessId's out parameter is a pointer to a 64-bit value, not a 32-bit one.
| * | | | | | | kernel/process: Make process_id a 64-bit valueGravatar Lioncash2018-12-183-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the actual kernel, this is a 64-bit value, so we shouldn't be using a 32-bit type to handle it.
* | | | | | | | Merge pull request #1914 from lioncash/idGravatar bunnei2018-12-211-2/+5
|\ \ \ \ \ \ \ \ | |_|_|_|_|/ / / |/| | | | | | | service/am: Unstub GetAppletResourceUserId
| * | | | | | | service/am: Unstub GetAppletResourceUserIdGravatar Lioncash2018-12-171-2/+5
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is supposed to return the current process' ID. (0 indicates an invalid ID for both process IDs and ARU IDs).
* | | | | | | Merge pull request #1923 from ogniK5377/nfp-device-listGravatar bunnei2018-12-191-2/+2
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Device handle should not be a random id, instead it's the current npad id
| * | | | | | | Device handle should not be a random id, instead it's the current npad idGravatar David Marcec2018-12-191-2/+2
| | |/ / / / / | |/| | | | | | | | | | | | | | | | | | | Found during hardware testing
* | | | | | | Merge pull request #1915 from lioncash/smGravatar bunnei2018-12-191-4/+5
|\ \ \ \ \ \ \ | |_|_|_|_|/ / |/| | | | | | service/sm: Improve debug log for RegisterService
| * | | | | | service/sm: Improve debug log for RegisterServiceGravatar Lioncash2018-12-181-4/+5
| | |/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now it also indicates the name and max session count. This also gives a name to the unknown bool. This indicates if the created port is supposed to be using light handles or regular handles internally. This is passed to the respective svcCreatePort parameter internally.
* | | | | | Merge pull request #1907 from lioncash/attributeGravatar bunnei2018-12-193-14/+279
|\ \ \ \ \ \ | |_|/ / / / |/| | | | | kernel/svc: Implement svcSetMemoryAttribute
| * | | | | svc: Implement svcSetMemoryAttributeGravatar Lioncash2018-12-191-5/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With all the basic backing functionality implemented, we can now unstub svcSetMemoryAttribute.