summaryrefslogtreecommitdiff
path: root/src/core (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | service/vi: Document unknown DisplayInfo struct membersGravatar Lioncash2019-01-021-2/+13
| | | | | | | | | | | | | | | | | | | | | | | | 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).
* | | | Fixed botw deadlock(and possibly 30 fps games rendering too fast? needs ↵Gravatar David Marcec2019-01-031-1/+1
| |/ / |/| | | | | | | | | | | | | | 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.
* | | Merge pull request #1976 from lioncash/displayGravatar bunnei2019-01-021-4/+17
|\ \ \ | | | | | | | | service/vi: Implement OpenDefaultDisplay in terms of OpenDisplay
| * | | service/vi: Implement OpenDefaultDisplay in terms of OpenDisplayGravatar Lioncash2019-01-021-4/+17
| |/ / | | | | | | | | | | | | | | | 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.
* | | service/vi: Implement SetDisplayEnabled()Gravatar Lioncash2019-01-021-1/+10
| | | | | | | | | | | | | | | | | | | | | 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.
* | | Merge pull request #1977 from lioncash/vi-logGravatar bunnei2019-01-021-63/+74
|\ \ \ | | | | | | | | service/vi: Log more information where applicable
| * | | service/vi: Log more information where applicableGravatar Lioncash2019-01-021-63/+74
| |/ / | | | | | | | | | | | | | | | 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.
* / / core/kernel: Remove unnecessary inclusionsGravatar Lioncash2018-12-3116-16/+22
|/ / | | | | | | Gets rid of a few unnecessary header dependencies in some source files.
* | Merge pull request #1966 from lioncash/backtraceGravatar bunnei2018-12-312-7/+8
|\ \ | | | | | | arm_interface: Minor cleanup
| * | arm_interface: Make include path relative for arm_interface.hGravatar Lioncash2018-12-301-1/+1
| | | | | | | | | | | | Makes it consistent with the rest of the includes.
| * | arm_interface: Make LogBacktrace() a const member functionGravatar Lioncash2018-12-302-2/+2
| | | | | | | | | | | | This function doesn't modify instance state, so it can be made const.
| * | arm_interface: Mark variables as const where applicable in LogBacktrace()Gravatar Lioncash2018-12-301-3/+4
| | | | | | | | | | | | | | | Two of these variables have fixed values, so we can make that immediately obvious from the get-go.
| * | arm_interface: Remove unnecessary semicolonGravatar Lioncash2018-12-301-1/+1
| | | | | | | | | | | | | | | Namespaces don't require the use of a semicolon. Silences a -Wextra-semi warning.
* | | kernel/svc: Correct misleading error message within CreateThread()Gravatar Lioncash2018-12-301-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | kernel/svc: Sanitize core number and thread priorities in CreateThread()Gravatar Lioncash2018-12-301-6/+17
| | | | | | | | | | | | | | | | | | 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.
* | | kernel/process: Rename GetAllowedProcessorMask() and ↵Gravatar Lioncash2018-12-302-11/+11
| | | | | | | | | | | | | | | | | | GetAllowedThreadPriorityMask() Makes them consistent with their kernel capability counterparts.
* | | kernel/svc: Simplify thread core ID sanitizing in CreateThreadGravatar Lioncash2018-12-301-7/+1
|/ / | | | | | | | | Rather than use a switch here, this can be collapsed into a simple range check, which is a little easier on the eyes.
* | Merge pull request #1956 from lioncash/process-threadGravatar Sebastian Valle2018-12-305-57/+51
|\ \ | | | | | | kernel/process: Start the main thread using the specified ideal core
| * | kernel/process: Start the main thread using the specified ideal coreGravatar Lioncash2018-12-271-2/+2
| | | | | | | | | | | | | | | This matches kernel behavior in that processes are started using their specified ideal core, rather than always starting on core 0.
| * | kernel: Rename 'default' CPU core to 'ideal' coreGravatar Lioncash2018-12-274-21/+21
| | | | | | | | | | | | | | | | | | 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.
| * | kernel/thread: Move process thread initialization into process.cppGravatar Lioncash2018-12-273-36/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | Merge pull request #1847 from ogniK5377/backtrace-breakGravatar bunnei2018-12-296-1/+41
|\ \ \ | | | | | | | | Print backtrace on svcBreak
| * | | Moved log backtrace to arm_interface.cpp. Added printing of error code to fatalGravatar David Marcec2018-12-294-18/+36
| | | |
| * | | Moved backtrace to ArmInterfaceGravatar David Marcec2018-12-198-47/+20
| | | |
| * | | Moved backtrace to ArmInterfaceGravatar David Marcec2018-12-036-14/+39
| | | | | | | | | | | | | | | | 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
| |_|/ |/| |
* | | Merge pull request #1954 from lioncash/npdmGravatar bunnei2018-12-271-3/+7
|\ \ \ | | | | | | | | file_sys/program_metadata: Print out more descriptive address space descriptions
| * | | file_sys/program_metadata: Print out more descriptive address space descriptionsGravatar Lioncash2018-12-271-3/+7
| | |/ | |/| | | | | | | | | | | | | | | | Provides extra information that makes it easier to tell if an executable being run is using a 36-bit address space or a 39-bit address space. While we don't support AArch32 executables yet, this also puts in distinguishing information for the 32-bit address space types as well.
* / | 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-2712-125/+670
|\ \ | | | | | | kernel: Handle kernel capability descriptors
| * | kernel/process: Hook up the process capability parser to the process itselfGravatar Lioncash2018-12-217-122/+44
| | | | | | | | | | | | | | | 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-215-3/+468
| | | | | | | | | | | | | | | | | | | | | 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-275-5/+50
| | | | | | | | | | | | | | | | | | 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
| | | | | |
* | | | | | savedata_factory: Partially implement IVFC save sizes using filesGravatar Zach Hilman2018-12-272-0/+38
| | | | | | | | | | | | | | | | | | This stores a file in the save directory called '.yuzu_save_size' which stores the two save sizes (normal area and journaled area) sequentially as u64s.