| Age | Commit message (Collapse) | Author |
|
Updated based on information from Switchbrew.
|
|
svc: Add missing error checks in svcArbitrateLock/svcArbitrateUnlock
|
|
content_archive: Minor reorganization changes
|
|
Used better names for mm:u and fixed a bad stub
|
|
svcArbitrateLock/svcArbitrateUnlock
The kernel itself checks whether or not the provided addresses are word
aligned before continuing, so we should be doing the same.
|
|
Aligning on 4KB pages isn't a Switch-specific thing, so this can be
moved to common so it can be used with other things as well.
|
|
CpuCore already does this sort of checking, so we can just call that
instead of duplicating the assertions.
|
|
XCI: Add function for checking the existence of the program NCA
|
|
InitializeWithId needs to return an id which is a u32 which should be a non zero value
|
|
Now that the changes clarifying the address spaces has been merged, we
can wrap the checks that the kernel performs when mapping shared memory
(and other forms of memory) into its own helper function and then use
those within MapSharedMemory and UnmapSharedMemory to complete the
sanitizing checks that are supposed to be done.
|
|
swap.h only needs to be present in the header for the type aliases and
definitions, it's not actually needed in the cpp files though. input.h
is just unused entirely in xpad.h
|
|
Given it's unused, we may as well toss it.
|
|
LedPattern's constructor
|
|
This is only useful in headers.
|
|
This is just a lookup table, and since it's private, there's nothing
really stateful about it, so we can just move it into the cpp file.
|
|
This literally does nothing.
|
|
These classes are non-trivial and are definitely going to be changed in
the future, so we default these to prevent issues with forward
declarations, and to keep the compiler from inlining tear-down code.
|
|
cpp file
The destructor doesn't need to be a pure-virtual function.
|
|
"Better Hid" Rework Part 1
|
|
Implement flushing in the rasterizer cache
|
|
svc: Clarify enum values for AddressSpaceBaseAddr and AddressSpaceSize in svcGetInfo()
|
|
|
|
savedata_factory: Add DeviceSaveData and fix TemporaryStorage
|
|
Prevents a Entry from appearing in the list twice if the user has it installed in two places (e.g. User NAND and SDMC)
|
|
Reason for the change is to allow both docked and undocked mode to work
|
|
|
|
|
|
- This will be used as a catch-all for slow-but-accurate GPU emulation paths.
|
|
std::move doesn't actually dereference the data, so it doesn't matter
whether or not the type is null.
|
|
This is only ever used within the cpp file, so it can just be an
internal function.
|
|
This is the same as using std::any_of with an inverted predicate.
|
|
The constructor alone is pretty large, the reading code should be split
into its consistuent parts to make it easier to understand it without
having to build a mental model of a 300+ line function.
|
|
Each header is 512 bytes in size, which is kind of an excessive amount
to copy all the time when it's possible to avoid doing so.
|
|
The only reason the getter existed was to check whether or not the
program NCA was null. Instead, we can just provide a function to query
for the existence of it, instead of exposing it entirely.
|
|
content_archive/patch_manager: Lower log levels to eliminate some unnecessary logs
|
|
* Implement VI ConvertScalingMode
* Fixed push enum
* Scale mode now uses Nintendo scale mode as an enum as well
|
|
core: Convert shared_ptr instances into unique_ptr instances where applicable for System and Cpu
|
|
Required for TemporaryStorage saves (in addition to SaveDataType)
|
|
Uses the same path as SaveData except with UID 0. Adds a warning if UID is not 0.
|
|
shared_ptrs where applicable
The data retrieved in these cases are ultimately chiefly owned by either
the RegisteredCache instance itself, or the filesystem factories. Both
these should live throughout the use of their contained data. If they
don't, it should be considered an interface/design issue, and using
shared_ptr instances here would mask that, as the data would always be
prolonged after the main owner's lifetime ended.
This makes the lifetime of the data explicit and makes it harder to
accidentally create cyclic references. It also makes the interface
slightly more flexible than the previous API, as a shared_ptr can be
created from a unique_ptr, but not the other way around, so this allows
for that use-case if it ever becomes necessary in some form.
|
|
web_service: Make linkage of web_service-related externals and the library private
|
|
These are just the size of the data being passed in, so we can specify
that via the size() member function.
|
|
aoc: Fix various bugs in current AOC implementation
|
|
nro/nso: Minor error handling changes
|
|
If a malformed NSO is attempted to be loaded, we shouldn't continue
onwards. We should be reporting an error and bailing out.
|
|
|
|
There's no need for shared ownership here, as the only owning class
instance of those Cpu instances is the System class itself. We can also
make the thread_to_cpu map use regular pointers instead of shared_ptrs,
given that the Cpu instances will always outlive the cases where they're
used with that map.
|
|
Like the barrier, this is owned entirely by the System and will always
outlive the encompassing state, so shared ownership semantics aren't
necessary here.
|
|
This will always outlive the Cpu instances, since it's destroyed after
we destroy the Cpu instances on shutdown, so there's no need for shared
ownership semantics here.
|
|
|