| Age | Commit message (Collapse) | Author |
|
"Unmagics" quite a few magic constants within this code, making it much
easier to understand. Particularly given this factors out specific
sections into their own self-contained lambda functions.
|
|
Unintentionally introduced in 552d5071fa171165e4054392d8bb6bf2ecc924e2
|
|
calls show up in the debug log
These are actually quite important indicators of thread lifetimes, so
they should be going into the debug log, rather than being treated as
misc info and delegated to the trace log.
|
|
Makes the code much nicer to follow in terms of behavior and control
flow. It also fixes a few bugs in the implementation.
Notably, the thread's owner process shouldn't be accessed in order to
retrieve the core mask or ideal core. This should be done through the
current running process. The only reason this bug wasn't encountered yet
is because we currently only support running one process, and thus every
owner process will be the current process.
We also weren't checking against the process' CPU core mask to see if an
allowed core is specified or not.
With this out of the way, it'll be less noisy to implement proper
handling of the affinity flags internally within the kernel thread
instances.
|
|
Adds the missing flags to the enum and documents them.
|
|
kernel/vm_manager: Remove usages of global system accessors
|
|
The state of these service calls are still the same in version 8.0.0.
|
|
|
|
|
|
|
|
|
|
|
|
Since the MiiManager was designed around the IPC interface, this is quite easy. Only functions that were clearly defined were implemented.
|
|
Provides serialization/deserialization to the database in system save files, accessors for database state and proper handling of both major Mii formats (MiiInfo and MiiStoreData)
|
|
Since the Mii database uses UUIDs very similar to the Accounts database, it makes no sense to not share code between them.
|
|
kernel/svc: Clean up wait synchronization related functionality
|
|
Allow picking a Compatibility Profile for OpenGL.
|
|
applets: Add AppletManager and implement PhotoViewer and Error applets
|
|
service/audctl: Implement GetTargetVolumeMin() and GetTargetVolumeMax()
|
|
This option allows picking the compatibility profile since a lot of bugs
are fixed in it. We devs will use this option to easierly debug current
problems in our Core implementation.:wq
|
|
kernel/wait_object: Make GetHighestPriorityReadyThread() a const member function
|
|
kernel/svc: Name supervisor call 0x36
|
|
core: Reorganize boot order
|
|
This call was added to the SVC handlers in the 8.0.0 kernel, so we can
finally give it a name.
|
|
These two service functions are literally hardcoded to always return
these values without any other error checking.
|
|
kernel/thread: Remove unused guest_handle member variable
|
|
|
|
|
|
|
|
|
|
|
|
Responsible for displaying error codes and messages
|
|
As opposed to using Core::System::GetInstance()
|
|
|
|
|
|
|
|
|
|
This is a holdover from Citra, where the 3DS has both
WaitSynchronization1 and WaitSynchronizationN. The switch only has one
form of wait synchronizing (literally WaitSynchonization). This allows
us to throw out code that doesn't apply at all to the Switch kernel.
Because of this unnecessary dichotomy within the wait synchronization
utilities, we were also neglecting to properly handle waiting on
multiple objects.
While we're at it, we can also scrub out any lingering references to
WaitSynchronization1/WaitSynchronizationN in comments, and change them
to WaitSynchronization (or remove them if the mention no longer
applies).
|
|
The actual behavior of this function is slightly more complex than what
we're currently doing within the supervisor call. To avoid dumping most
of this behavior in the supervisor call itself, we can migrate this to
another function.
|
|
This doesn't actually modify internal state of a wait object, so it can
be const qualified.
|
|
Makes the dependency on the system instance explicit within VMManager's
interface.
|
|
service: Update service function tables
|
|
kernel/svc: Implement svcMapProcessCodeMemory/svcUnmapProcessCodeMemory
|
|
Allows the handle to be seen alongside the entry point.
|
|
This is a holdover from Citra that currently remains unused, so it can
be removed from the Thread interface.
|
|
This member variable is entirely unused. It was only set but never
actually utilized. Given that, we can remove it to get rid of noise in
the thread interface.
|
|
ldr: Minor amendments to IPC-related parameters
|
|
Add a toggle to force 30FPS mode
|
|
fsp_srv: Minor cleanup related changes
|
|
Frontend: Migrate to QOpenGLWindow and support shared contexts
|