| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |\ \ \
| | | |
| | | | |
Print backtrace on svcBreak
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | | |
Added to both dynarmic and unicorn
|
| | | | |
| | | |
| | | |
| | | | |
When we get an svcBreak we get a backtrace now
|
| | | | |
| | | |
| | | |
| | | | |
Moves some variables closer to their actual usage sites.
|
| | |_|/
|/| | |
|
| | |/
|/|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |\ \
| | |
| | | |
kernel: Handle kernel capability descriptors
|
| | | |
| | |
| | |
| | |
| | | |
While we're at it, we can also toss out the leftover capability parsing
from Citra.
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | | |
This just specifies the handle table size. There's also a section of
reserved bits that are checked against.
|
| | | | |
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| |\ \ \
| | | |
| | | | |
hid: Fix SetNpadJoyHoldType and improve logging.
|
| | | | | |
|
| |\ \ \ \
| | | | |
| | | | | |
npad: Remove code to invert input in horizontal mode.
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
- This was incorrect, the game appears to handle this for us.
- Fixes horizontal mode with Puyo Puyo Tetris and Super Mario Odyssey.
|
| |\ \ \ \ \
| | | | | |
| | | | | | |
kernel/vm_manager: Reset region attributes when unmapping a VMA
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Like the other members related to memory regions, the attributes need to
be reset back to their defaults as well.
|
| | | | | | |
| | | | | |
| | | | | | |
These functions come in a pair and are needed by Smash Ultimate, Minecraft, and Skyrim, amongst others.
|
| |/ / / / / |
|
| |\ \ \ \ \
| |/ / / /
|/| | | | |
svc: Implement SetThreadActivity (thread suspension)
|
| | | | | | |
|
| |\ \ \ \ \
| | | | | |
| | | | | | |
am: Implement HLE profile selector applet
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | | |
Fixes bugs relating to signalling in software keyboard.
|
| | | | | | | |
|
| | | | | | |
| | | | | |
| | | | | | |
Allows the player to select an emulated profile.
|
| | | | | | |
| | | | | |
| | | | | | |
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.
|
| |\ \ \ \ \ \
| | | | | | |
| | | | | | | |
Fixed uninitialized memory due to missing returns in canary
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Functions which are suppose to crash on non canary builds usually don't return anything which lead to uninitialized memory being used.
|
| |\ \ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
kernel/{process, thread}: Amend behavior related to IDs
|
| | | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
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.
|
| | | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
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.
|
| | | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
The service call uses a 64-bit value, just like svcGetProcessId. This
amends the function signature accordingly.
|
| | | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
The kernel uses a 64-bit value for the thread ID, so we shouldn't be
using a 32-bit value.
|
| | | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
svcGetProcessId's out parameter is a pointer to a 64-bit value, not a
32-bit one.
|
| | | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
In the actual kernel, this is a 64-bit value, so we shouldn't be using a
32-bit type to handle it.
|
| |\ \ \ \ \ \ \ \
| |_|_|_|_|/ / /
|/| | | | | | | |
service/am: Unstub GetAppletResourceUserId
|
| | |/ / / / / /
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
This is supposed to return the current process' ID. (0 indicates an
invalid ID for both process IDs and ARU IDs).
|
| |\ \ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
Device handle should not be a random id, instead it's the current npad id
|
| | | |/ / / / /
| |/| | | | |
| | | | | | |
| | | | | | | |
Found during hardware testing
|
| |\ \ \ \ \ \ \
| |_|_|_|_|/ /
|/| | | | | | |
service/sm: Improve debug log for RegisterService
|
| | | |/ / / /
| |/| | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
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.
|
| |\ \ \ \ \ \
| |_|/ / / /
|/| | | | | |
kernel/svc: Implement svcSetMemoryAttribute
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
With all the basic backing functionality implemented, we can now unstub
svcSetMemoryAttribute.
|