summaryrefslogtreecommitdiff
path: root/src/core (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | | | loader: Add accessor for game control dataGravatar Zach Hilman2018-12-275-9/+14
| | | | | |
* | | | | | control_metadata: Update NACP fields with latest Switchbrew dataGravatar Zach Hilman2018-12-272-6/+29
| | | | | |
* | | | | | control_metadata: Use value member instead of unique_ptr to store structGravatar Zach Hilman2018-12-272-10/+13
| | | | | | | | | | | | | | | | | | Serves no actual purpose in this instance besides making NACP's copy assignment deleted, which is not intended behavior.
* | | | | | vfs: Add reinterpret_casts to WriteArray and ObjectGravatar Zach Hilman2018-12-271-2/+2
|/ / / / / | | | | | | | | | | Allows these functions to compile when T is not u8.
* | | | | 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 #1886 from FearlessTobi/port-4164Gravatar bunnei2018-12-232-0/+22
|\ \ \ \ \ | | | | | | | | | | | | Port citra-emu/citra#4164: "citra_qt, video_core: Screenshot functionality"
| * | | | | yuzu, video_core: Screenshot functionalityGravatar zhupengfei2018-12-182-0/+22
| | | | | | | | | | | | | | | | | | | | | | | | Allows capturing screenshot at the current internal resolution (native for software renderer), but a setting is available to capture it in other resolutions. The screenshot is saved to a single PNG in the current layout.
* | | | | | Merge pull request #1781 from DarkLordZach/applet-profile-selectGravatar bunnei2018-12-238-0/+197
|\ \ \ \ \ \ | | | | | | | | | | | | | | 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.
| * | | | | | qt: Implement GUI dialog frontend for ProfileSelectorGravatar Zach Hilman2018-12-031-0/+2
| | | | | | | | | | | | | | | | | | | | | Presents profiles in a list, similar to switch.
| * | | | | | 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.
| * | | | | | core: Add getter/setter for ProfileSelector in SystemGravatar Zach Hilman2018-12-032-0/+16
| | | | | | |
| * | | | | | frontend: Add frontend applet for ProfileSelectGravatar Zach Hilman2018-12-033-0/+48
| | | | | | | | | | | | | | | | | | | | | Responsible for selecting a profile and firing callback upon completion.
| * | | | | | 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-213-0/+3
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Fixed uninitialized memory due to missing returns in canary
| * | | | | | | Fixed uninitialized memory due to missing returns in canaryGravatar David Marcec2018-12-193-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-217-28/+59
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | 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-184-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | | | | vm_manager: Add member function for setting memory attributes across an ↵Gravatar Lioncash2018-12-192-0/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | address range This puts the backing functionality for svcSetMemoryAttribute in place, which will be utilized in a following change.
| * | | | | | vm_manager: Add member function for checking a memory range adheres to ↵Gravatar Lioncash2018-12-192-0/+100
| | | | | | | | | | | | | | | | | | | | | | | | | | | | certain attributes, permissions and states
| * | | | | | vm_manager: Rename meminfo_state to stateGravatar Lioncash2018-12-152-10/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is shorter and more concise. This also removes the now-innaccurate comment, as it's not returned wholesale to svcQueryMemory anymore.
| * | | | | | vm_manager: Add backing functionality for memory attributesGravatar Lioncash2018-12-152-1/+85
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds the barebones enumeration constants and functions in place to handle memory attributes, while also essentially leaving the attribute itself non-functional.
* | | | | | | Merge pull request #1913 from MerryMage/default-fpcrGravatar bunnei2018-12-181-0/+3
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | kernel/thread: Set default fpcr
| * | | | | | | kernel/thread: Set default fpcrGravatar MerryMage2018-12-181-0/+3
| | |/ / / / / | |/| | | | |
* | | | | | | Merge pull request #1918 from MerryMage/cntfrqGravatar bunnei2018-12-181-0/+1
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | arm_dynarmic: Set CNTFRQ value
| * | | | | | | arm_dynarmic: Set CNTFRQ valueGravatar MerryMage2018-12-181-0/+1
| |/ / / / / /
* | | | | | | Merge pull request #1889 from DarkLordZach/swkbd-state-changedGravatar bunnei2018-12-183-6/+4
|\ \ \ \ \ \ \ | |/ / / / / / |/| | | | | | applets: Correct usage of SignalStateChanged event
| * | | | | | applets: Correct usage of SignalStateChanged eventGravatar Zach Hilman2018-12-093-6/+4
| | |_|/ / / | |/| | | | | | | | | | | | | | | | This was causing some games (most notably Pokemon Quest) to softlock due to an event being fired when not supposed to. This also removes a hack wherein we were firing the state changed event when the game retrieves it, which is incorrect.
* | | | | | Merge pull request #1905 from bunnei/ignore-empty-gpu-listsGravatar bunnei2018-12-151-0/+4
|\ \ \ \ \ \ | | | | | | | | | | | | | | nvhost_gpu: Skip empty GPU command lists.
| * | | | | | nvhost_gpu: Skip empty GPU command lists.Gravatar bunnei2018-12-151-0/+4
| | | | | | |
* | | | | | | Merge pull request #1901 from jschmer/ServiceLeakGravatar bunnei2018-12-152-10/+12
|\ \ \ \ \ \ \ | |_|_|/ / / / |/| | | | | | Fix Service object leak on emulation stop
| * | | | | | Fix Service object leak on emulation stopGravatar Jens Schmer2018-12-132-10/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Services created with the ServiceFramework base class install themselves as HleHandlers with an owning shared_ptr in the ServerPort ServiceFrameworkBase::port member variable, creating a cyclic ownership between ServiceFrameworkBase and the ServerPort, preventing deletion of the service objects. Fix that by removing the ServiceFrameworkBase::port member because that was only used to detect multiple attempts at installing a port. Instead store a flag if the port was already installed to achieve the same functionality.
* | | | | | | Merge pull request #1732 from DarkLordZach/yield-typesGravatar bunnei2018-12-154-9/+165
|\ \ \ \ \ \ \ | |_|/ / / / / |/| | | | | | svc: Implement yield types 0 and -1
| * | | | | | svc: Avoid incorrect fast yield conditionGravatar Zach Hilman2018-12-041-6/+1
| | | | | | |
| * | | | | | scheduler: Avoid manual Reschedule callGravatar Zach Hilman2018-12-032-11/+11
| | | | | | | | | | | | | | | | | | | | | This will automatically occur anyway when PrepareReschedule is called