aboutsummaryrefslogtreecommitdiff
path: root/src/core
AgeCommit message (Collapse)Author
2018-12-28am: Add size parameter to am:IStorage loggingZach Hilman
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-27Merge pull request #1954 from lioncash/npdmbunnei
file_sys/program_metadata: Print out more descriptive address space descriptions
2018-12-27file_sys/program_metadata: Print out more descriptive address space descriptionsLioncash
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.
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-27savedata_factory: Partially implement IVFC save sizes using filesZach Hilman
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.
2018-12-27loader: Add accessor for game control dataZach Hilman
2018-12-27control_metadata: Update NACP fields with latest Switchbrew dataZach Hilman
2018-12-27control_metadata: Use value member instead of unique_ptr to store structZach Hilman
Serves no actual purpose in this instance besides making NACP's copy assignment deleted, which is not intended behavior.
2018-12-27vfs: Add reinterpret_casts to WriteArray and ObjectZach Hilman
Allows these functions to compile when T is not u8.
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 #1886 from FearlessTobi/port-4164bunnei
Port citra-emu/citra#4164: "citra_qt, video_core: Screenshot functionality"
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.
2018-12-21kernel/process_capability: Handle syscall capability flagsLioncash
2018-12-21kernel/process_capability: Handle the priority mask and core mask flagsLioncash
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.
2018-12-21kernel/process: Introduce process capability parsing skeletonLioncash
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.
2018-12-19Merge pull request #1923 from ogniK5377/nfp-device-listbunnei
Device handle should not be a random id, instead it's the current npad id
2018-12-19Merge pull request #1915 from lioncash/smbunnei
service/sm: Improve debug log for RegisterService
2018-12-19kernel/svc: Handle thread handles within GetProcessIdLioncash
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.
2018-12-19Merge pull request #1907 from lioncash/attributebunnei
kernel/svc: Implement svcSetMemoryAttribute
2018-12-19svc: Implement svcSetMemoryAttributeLioncash
With all the basic backing functionality implemented, we can now unstub svcSetMemoryAttribute.
2018-12-19vm_manager: Add member function for setting memory attributes across an ↵Lioncash
address range This puts the backing functionality for svcSetMemoryAttribute in place, which will be utilized in a following change.
2018-12-19vm_manager: Add member function for checking a memory range adheres to ↵Lioncash
certain attributes, permissions and states
2018-12-18kernel/kernel: Use correct initial PID for userland Process instancesLioncash
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.
2018-12-18kernel/svc: Correct output parameter for svcGetThreadIdLioncash
The service call uses a 64-bit value, just like svcGetProcessId. This amends the function signature accordingly.
2018-12-18kernel/thread: Make thread_id a 64-bit valueLioncash
The kernel uses a 64-bit value for the thread ID, so we shouldn't be using a 32-bit value.
2018-12-18kernel/svc: Correct output parameter for svcGetProcessIdLioncash
svcGetProcessId's out parameter is a pointer to a 64-bit value, not a 32-bit one.
2018-12-18kernel/process: Make process_id a 64-bit valueLioncash
In the actual kernel, this is a 64-bit value, so we shouldn't be using a 32-bit type to handle it.
2018-12-19Device handle should not be a random id, instead it's the current npad idDavid Marcec
Found during hardware testing
2018-12-19Moved backtrace to ArmInterfaceDavid Marcec