aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle
AgeCommit message (Collapse)Author
2019-01-05Merge pull request #1988 from lioncash/resbunnei
service/vi: Correct reported dimensions from IApplicationDisplayService's GetDisplayResolution()
2019-01-04Merge pull request #1981 from ogniK5377/open-app-area-createbunnei
Return no application area when games try to open an application area
2019-01-04Merge pull request #1980 from ogniK5377/applet-msg-updatebunnei
Proper no message handling for AM::PopMessage
2019-01-04service/vi: Correct reported dimensions from IApplicationDisplayService's ↵Lioncash
GetDisplayResolution() Within the actual service, it makes no distinguishing between docked and undocked modes. This will always return the constants values reporting 1280x720 as the dimensions.
2019-01-04Removed pulse event typeDavid Marcec
Pulse is considered a hack and nothing should be using it. We should completely remove it
2019-01-03Merge pull request #1975 from lioncash/vibunnei
service/vi: Minor updates and corrections to the DisplayInfo struct
2019-01-04Return no application area when games try to open an application areaDavid Marcec
This will prompt CreateApplicationArea
2019-01-04Proper no message handling for AM::PopMessageDavid Marcec
When we have no messages, we should be returning an error code.
2019-01-03 Fixed botw deadlock(and possibly 30 fps games rendering too fast? needs ↵David Marcec
testing to confirm) Upon investigating the issue with #1878, I found that games are the ones who handle the vsync event resetting and not us.
2019-01-02Merge pull request #1976 from lioncash/displaybunnei
service/vi: Implement OpenDefaultDisplay in terms of OpenDisplay
2019-01-02service/vi: Implement SetDisplayEnabled()Lioncash
This IPC command is simply a stub inside the actual service itself, and just returns a successful error code regardless of input. This is likely only retained in the service interface to not break older code that relied upon it succeeding in some way.
2019-01-02Merge pull request #1977 from lioncash/vi-logbunnei
service/vi: Log more information where applicable
2019-01-02service/vi: Log more information where applicableLioncash
In many cases, we didn't bother to log out any of the popped data members. This logs them out to the console within the logging call to provide more contextual information.
2019-01-02service/vi: Implement OpenDefaultDisplay in terms of OpenDisplayLioncash
Internally within the vi services, this is essentially all that OpenDefaultDisplay does, so it's trivial to just do the same, and forward the default display string into the function.
2019-01-02service/vi: Correct initial width and height valuesLioncash
Based off RE, it appears that almost all display types seem to use 1920x1080 except for a few (null display, edid display).
2019-01-02service/vi: Document unknown DisplayInfo struct membersLioncash
It appears that the two members indicate whether a display has a bounded number of layers (and if set, the second member indicates the total number of layers).
2018-12-31core/kernel: Remove unnecessary inclusionsLioncash
Gets rid of a few unnecessary header dependencies in some source files.
2018-12-30kernel/svc: Correct misleading error message within CreateThread()Lioncash
This is a bounds check to ensure that the thread priority is within the valid range of 0-64. If it exceeds 64, that doesn't necessarily mean that an actual priority of 64 was expected (it actually means whoever called the function screwed up their math). Instead clarify the message to indicate the allowed range of thread priorities.
2018-12-30kernel/svc: Sanitize core number and thread priorities in CreateThread()Lioncash
Now that we handle the kernel capability descriptors we can correct CreateThread to properly check against the core and priority masks like the actual kernel does.
2018-12-30kernel/process: Rename GetAllowedProcessorMask() and ↵Lioncash
GetAllowedThreadPriorityMask() Makes them consistent with their kernel capability counterparts.
2018-12-30kernel/svc: Simplify thread core ID sanitizing in CreateThreadLioncash
Rather than use a switch here, this can be collapsed into a simple range check, which is a little easier on the eyes.
2018-12-30Merge pull request #1956 from lioncash/process-threadSebastian Valle
kernel/process: Start the main thread using the specified ideal core
2018-12-29Merge pull request #1847 from ogniK5377/backtrace-breakbunnei
Print backtrace on svcBreak
2018-12-29service/time: Minor cleanup to GetClockSnapshot()Lioncash
Moves some variables closer to their actual usage sites.
2018-12-29service/time: Fill in some structures and remove padding where not necessaryLioncash
2018-12-29Moved log backtrace to arm_interface.cpp. Added printing of error code to fatalDavid Marcec
2018-12-27kernel/process: Start the main thread using the specified ideal coreLioncash
This matches kernel behavior in that processes are started using their specified ideal core, rather than always starting on core 0.
2018-12-27kernel: Rename 'default' CPU core to 'ideal' coreLioncash
This makes the naming more closely match its meaning. It's just a preferred core, not a required default core. This also makes the usages of this term consistent across the thread and process implementations.
2018-12-27kernel/thread: Move process thread initialization into process.cppLioncash
This function isn't a general purpose function that should be exposed to everything, given it's specific to initializing the main thread for a Process instance. Given that, it's a tad bit more sensible to place this within process.cpp, which keeps it visible only to the code that actually needs it.
2018-12-27kernel/process: Remove most allocation functions from Process' interfaceLioncash
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.
2018-12-27Merge pull request #1928 from lioncash/capsbunnei
kernel: Handle kernel capability descriptors
2018-12-27Merge pull request #1929 from bunnei/fix-hidbunnei
hid: Fix SetNpadJoyHoldType and improve logging.
2018-12-27Merge pull request #1945 from bunnei/fix-hid-horizbunnei
npad: Remove code to invert input in horizontal mode.
2018-12-27Merge pull request #1949 from lioncash/unmapbunnei
kernel/vm_manager: Reset region attributes when unmapping a VMA
2018-12-27am: Implement GetSaveDataSize and ExtendSaveDataZach Hilman
These functions come in a pair and are needed by Smash Ultimate, Minecraft, and Skyrim, amongst others.
2018-12-27filesystem: Populate save data sizes from control dataZach Hilman
2018-12-26kernel/vm_manager: Reset region attributes when unmapping a VMALioncash
Like the other members related to memory regions, the attributes need to be reset back to their defaults as well.
2018-12-26Merge pull request #1849 from encounter/svcSetThreadActivitybunnei
svc: Implement SetThreadActivity (thread suspension)
2018-12-26npad: Remove code to invert input in horizontal mode.bunnei
- This was incorrect, the game appears to handle this for us. - Fixes horizontal mode with Puyo Puyo Tetris and Super Mario Odyssey.
2018-12-23Merge pull request #1781 from DarkLordZach/applet-profile-selectbunnei
am: Implement HLE profile selector applet
2018-12-21Merge pull request #1921 from ogniK5377/no-unitbunnei
Fixed uninitialized memory due to missing returns in canary
2018-12-21Merge pull request #1925 from lioncash/pidbunnei
kernel/{process, thread}: Amend behavior related to IDs
2018-12-21Merge pull request #1914 from lioncash/idbunnei
service/am: Unstub GetAppletResourceUserId
2018-12-21hid: Fix SetNpadJoyHoldType and improve logging.bunnei
2018-12-21kernel/process: Hook up the process capability parser to the process itselfLioncash
While we're at it, we can also toss out the leftover capability parsing from Citra.
2018-12-21kernel/process_capability: Handle debug capability flagsLioncash
2018-12-21kernel/process_capability: Handle handle table capability flagsLioncash
This just specifies the handle table size. There's also a section of reserved bits that are checked against.
2018-12-21kernel/process_capability: Handle kernel version capability flagsLioncash
2018-12-21kernel/process_capability: Handle program capability flagsLioncash
2018-12-21kernel/process_capability: Handle interrupt capability flagsLioncash
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.