| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |\ \ \ \ \
| |_|_|/ /
|/| | | | |
loader/nso, core/core_timing_util: Silence sign-comparison warning
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
We can just make the conversion explicit instead of implicit here to
silence -Wsign-compare warnings.
|
| | | |_|/
| |/| |
| | | |
| | | |
| | | | |
This was previously performing a size_t == int comparison. Silences a
-Wsign-compare warning.
|
| |\ \ \ \
| |/ / /
|/| | | |
service/aoc_u: Minor cleanup
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Previously, the code was accumulating data into a std::vector and then
tossing all of it away if a setting was disabled.
Instead, we can just check if it's disabled and do no work at all if
possible. If it's enabled, then we can append to the vector and
allocate.
Unlikely to impact usage much, but it is slightly less sloppy with
resources.
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
Removes two header dependencies related to file handling that aren't
actually used within the source file.
|
| | |/ /
| | |
| | |
| | |
| | |
| | | |
A few of the aoc service stubs/implementations weren't fully popping all
of the parameters passed to them. This ensures that all parameters are
popped and, at minimum, logged out.
|
| |\ \ \
| |/ /
|/| | |
Port citra-emu/citra#4716: "HLE/IPC: HLEContext can memorize the client thread and use it for SleepClientThread"
|
| | | |
| | |
| | | |
Co-Authored-By: Mat M. <mathew1800@gmail.com>
|
| | | |
| | |
| | |
| | |
| | |
| | | |
SleepClientThread
This reduces the boilerplate that services have to write out the current thread explicitly. Using current thread instead of client thread is also semantically incorrect, and will be a problem when we implement multicore (at which time there will be multiple current threads)
|
| |\ \ \
| | | |
| | | | |
kernel/svc: Reorganize and fix up the initial handling of svcSetThreadCoreMask()
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
| |\ \ \ \
| | | | |
| | | | | |
service/audren_u: Get rid of magic values within GetAudioRendererWorkBufferSize
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Also introduced in REV5 was a variable-size audio command buffer. This
also affects how the size of the work buffer should be determined, so we
can add handling for this as well.
Thankfully, no other alterations were made to how the work buffer size
is calculated in 7.0.0-8.0.0. There were indeed changes made to to how
some of the actual audio commands are generated though (particularly in
REV7), however they don't apply here.
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
GetWorkBufferSize()
Introduced in REV5. This is trivial to add support for, now that
everything isn't a mess of random magic constant values.
All this is, is a change in data type sizes as far as this function
cares.
|
| | | |_|/
| |/| |
| | | |
| | | |
| | | |
| | | | |
"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.
|
| |\ \ \ \
| | | | |
| | | | | |
service/set: Correct and simplify behavior related to copying language codes
|
| | | |_|/
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This corrects cases where it was possible to write more entries into the
write buffer than were requested. Now, we check the size of the buffer
before actually writing into them.
We were also returning the wrong value for
GetAvailableLanguageCodeCount2(). This was previously returning 64, but
only 17 should have been returned. 64 entries is the size of the static
array used in MakeLanguageCode() within the service binary itself, but
isn't the actual total number of language codes present.
|
| |\ \ \ \
| | | | |
| | | | | |
service/am: Add missing return in error case for IStorageAccessor's Read/Write()
|
| | |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Read()/Write().
Previously this would fall through and return successfully, despite
being an out of bounds read or write.
|
| |\ \ \ \
| | | | |
| | | | | |
ipc_helpers: Amend floating-point type in Pop<double> specialization
|
| | |/ / /
| | | |
| | | |
| | | |
| | | | |
Currently, this overload isn't used, so this wasn't actually hit in any
code, only the float overload is used.
|
| |\ \ \ \
| | | | |
| | | | | |
core/kernel/object: Rename ResetType enum members for clarity
|
| | |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Renames the members to more accurately indicate what they signify.
"OneShot" and "Sticky" are kind of ambiguous identifiers for the reset
types, and can be kind of misleading. Automatic and Manual communicate
the kind of reset type in a clearer manner. Either the event is
automatically reset, or it isn't and must be manually cleared.
The "OneShot" and "Sticky" terminology is just a hold-over from Citra
where the kernel had a third type of event reset type known as "Pulse".
Given the Switch kernel only has two forms of event reset types, we
don't need to keep the old terminology around anymore.
|
| |/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
linked
These are only used from within this translation unit, so they don't
need to have external linkage. They were intended to be marked with this
anyways to be consistent with the other service functions.
|
| |\ \ \
| | | |
| | | | |
service/audctl: Update documentation comments to be relative to 8.0.0
|
| | |/ /
| | |
| | |
| | | |
The state of these service calls are still the same in version 8.0.0.
|
| |\ \ \
| | | |
| | | | |
Port citra-emu/citra#4749: "web_service: Misc fixes"
|
| | | | |
| | | |
| | | |
| | | | |
The backend is not used until we decide to submit the testcase/telemetry, and creating it early prevents users from updating the credentials properly while the games are running.
|
| |\ \ \ \
| | | | |
| | | | | |
core/memory: Remove unused FlushMode enum
|
| | |/ / /
| | | |
| | | |
| | | |
| | | | |
Recent changes to memory-related code resulted in this being unused, so
we can remove it.
|
| |/ / /
| | |
| | |
| | |
| | | |
This class is used in a polymorphic context, so destruction of the
context will lead to undefined behavior if the destructor isn't virtual.
|
| | | |
| | |
| | |
| | | |
Unintentionally introduced in 552d5071fa171165e4054392d8bb6bf2ecc924e2
|
| |\ \ \
| |/ /
|/| | |
kernel/vm_manager: Remove usages of global system accessors
|
| | | |
| | |
| | |
| | |
| | | |
Makes the dependency on the system instance explicit within VMManager's
interface.
|
| |\ \ \
| | | |
| | | | |
kernel/svc: Clean up wait synchronization related functionality
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
| |\ \ \
| | | |
| | | | |
Allow picking a Compatibility Profile for OpenGL.
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
| |\ \ \ \
| | | | |
| | | | | |
applets: Add AppletManager and implement PhotoViewer and Error applets
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | | |
Responsible for displaying error codes and messages
|
| | | | | |
| | | | |
| | | | | |
As opposed to using Core::System::GetInstance()
|