- Dec 31, 2018
-
-
Lioncash authored
This function doesn't modify instance state, so it can be made const.
-
Lioncash authored
Two of these variables have fixed values, so we can make that immediately obvious from the get-go.
-
Lioncash authored
Namespaces don't require the use of a semicolon. Silences a -Wextra-semi warning.
-
- Dec 30, 2018
-
-
Lioncash authored
Moves some variables closer to their actual usage sites.
-
- Dec 29, 2018
-
-
Lioncash authored
-
David Marcec authored
-
- Dec 28, 2018
-
-
Lioncash authored
This matches kernel behavior in that processes are started using their specified ideal core, rather than always starting on core 0.
-
Lioncash authored
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.
-
Lioncash authored
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.
-
Lioncash authored
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.
-
Lioncash authored
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.
-
- Dec 27, 2018
-
-
Zach Hilman authored
These functions come in a pair and are needed by Smash Ultimate, Minecraft, and Skyrim, amongst others.
-
Zach Hilman authored
-
Zach Hilman authored
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.
-
Zach Hilman authored
-
Zach Hilman authored
-
Zach Hilman authored
Serves no actual purpose in this instance besides making NACP's copy assignment deleted, which is not intended behavior.
-
Zach Hilman authored
Allows these functions to compile when T is not u8.
-
Lioncash authored
Like the other members related to memory regions, the attributes need to be reset back to their defaults as well.
-
- Dec 26, 2018
-
-
bunnei authored
- This was incorrect, the game appears to handle this for us. - Fixes horizontal mode with Puyo Puyo Tetris and Super Mario Odyssey.
-
- Dec 21, 2018
-
-
bunnei authored
-
Lioncash authored
While we're at it, we can also toss out the leftover capability parsing from Citra.
-
Lioncash authored
-
Lioncash authored
This just specifies the handle table size. There's also a section of reserved bits that are checked against.
-
Lioncash authored
-
Lioncash authored
-
Lioncash authored
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.
-
Lioncash authored
-
Lioncash authored
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.
-
Lioncash authored
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.
-
- Dec 19, 2018
-
-
Lioncash authored
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.
-
Lioncash authored
With all the basic backing functionality implemented, we can now unstub svcSetMemoryAttribute.
-
Lioncash authored
This puts the backing functionality for svcSetMemoryAttribute in place, which will be utilized in a following change.
-
Lioncash authored
vm_manager: Add member function for checking a memory range adheres to certain attributes, permissions and states
-
Lioncash authored
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.
-
Lioncash authored
The service call uses a 64-bit value, just like svcGetProcessId. This amends the function signature accordingly.
-
Lioncash authored
The kernel uses a 64-bit value for the thread ID, so we shouldn't be using a 32-bit value.
-
Lioncash authored
svcGetProcessId's out parameter is a pointer to a 64-bit value, not a 32-bit one.
-
Lioncash authored
In the actual kernel, this is a 64-bit value, so we shouldn't be using a 32-bit type to handle it.
-
David Marcec authored
Found during hardware testing
-