aboutsummaryrefslogtreecommitdiff
path: root/src/core
AgeCommit message (Collapse)Author
2018-10-19set_cal: Update service function tableLioncash
Updated based on information from Switchbrew.
2018-10-18Merge pull request #1523 from lioncash/lockbunnei
svc: Add missing error checks in svcArbitrateLock/svcArbitrateUnlock
2018-10-18Merge pull request #1511 from lioncash/contentbunnei
content_archive: Minor reorganization changes
2018-10-18Merge pull request #1521 from ogniK5377/imp-mmubunnei
Used better names for mm:u and fixed a bad stub
2018-10-18svc: Check for word alignment of addresses within ↵Lioncash
svcArbitrateLock/svcArbitrateUnlock The kernel itself checks whether or not the provided addresses are word aligned before continuing, so we should be doing the same.
2018-10-18common: Move Is4KBAligned() to alignment.hLioncash
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.
2018-10-18core: Remove unnecessary assert in ArmInterface()Lioncash
CpuCore already does this sort of checking, so we can just call that instead of duplicating the assertions.
2018-10-18Merge pull request #1510 from lioncash/xcibunnei
XCI: Add function for checking the existence of the program NCA
2018-10-19Used better names for mm:u and fixed bad stubDavid Marcec
InitializeWithId needs to return an id which is a u32 which should be a non zero value
2018-10-18svc: Add missing sanitizing checks for MapSharedMemory/UnmapSharedMemoryLioncash
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.
2018-10-17hid/controller: Remove unused header inclusionsLioncash
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
2018-10-17hid/controller/npad: Remove unused dump_idx member variableLioncash
Given it's unused, we may as well toss it.
2018-10-17hid/controller/npad: Remove unnecessary semicolon from the closing brace of ↵Lioncash
LedPattern's constructor
2018-10-17hid/controller/npad: Remove #pragma once from the cpp fileLioncash
This is only useful in headers.
2018-10-17hid/controller/npad: Move npad_id_list into the cpp fileLioncash
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.
2018-10-17hid/controller/npad: Remove unnecessary const from void return typeLioncash
This literally does nothing.
2018-10-17hid/controller: Default the destructors of all controller types in the cpp fileLioncash
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.
2018-10-17controller_base: Default the base class constructor and destructor in the ↵Lioncash
cpp file The destructor doesn't need to be a pure-virtual function.
2018-10-17Merge pull request #1444 from ogniK5377/better-hidbunnei
"Better Hid" Rework Part 1
2018-10-17Merge pull request #1497 from bunnei/flush-framebuffersbunnei
Implement flushing in the rasterizer cache
2018-10-17Merge pull request #1498 from lioncash/aslrbunnei
svc: Clarify enum values for AddressSpaceBaseAddr and AddressSpaceSize in svcGetInfo()
2018-10-17qt: Add support for dumping a DLC Data RomFSZach Hilman
2018-10-17Merge pull request #1509 from DarkLordZach/device-save-databunnei
savedata_factory: Add DeviceSaveData and fix TemporaryStorage
2018-10-17registered_cache: Deduplicate results of ListEntry and ListEntryFilterZach Hilman
Prevents a Entry from appearing in the list twice if the user has it installed in two places (e.g. User NAND and SDMC)
2018-10-18Using dual joycons as the default controllerDavid Marcec
Reason for the change is to allow both docked and undocked mode to work
2018-10-17fsp_srv: Apply patches to Data storage in OpenDataStorageByDataIdZach Hilman
2018-10-17patch_manager: Add support for using LayeredFS with DataZach Hilman
2018-10-16config: Rename use_accurate_framebuffers -> use_accurate_gpu_emulation.bunnei
- This will be used as a catch-all for slow-but-accurate GPU emulation paths.
2018-10-16content_archive: Simpify assignment of bktr_base_romfs in the constructorLioncash
std::move doesn't actually dereference the data, so it doesn't matter whether or not the type is null.
2018-10-16content_archive: Make IsValidNCA() an internally linked functionLioncash
This is only ever used within the cpp file, so it can just be an internal function.
2018-10-16content_archive: Simplify rights ID checkLioncash
This is the same as using std::any_of with an inverted predicate.
2018-10-16content_archive: Split loading into separate functionsLioncash
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.
2018-10-16content_archive: Pass and take NCASectionHeader instance by referenceLioncash
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.
2018-10-16XCI: Add function for checking the existence of the program NCALioncash
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.
2018-10-16Merge pull request #1443 from DarkLordZach/lower-loader-logs-1bunnei
content_archive/patch_manager: Lower log levels to eliminate some unnecessary logs
2018-10-16Implement VI ConvertScalingMode (#1475)David
* Implement VI ConvertScalingMode * Fixed push enum * Scale mode now uses Nintendo scale mode as an enum as well
2018-10-16Merge pull request #1502 from lioncash/uniquebunnei
core: Convert shared_ptr instances into unique_ptr instances where applicable for System and Cpu
2018-10-16savedata_factory: Add TemporaryStorage SaveDataSpaceIdZach Hilman
Required for TemporaryStorage saves (in addition to SaveDataType)
2018-10-16savedata_factory: Add support for DeviceSaveDataZach Hilman
Uses the same path as SaveData except with UID 0. Adds a warning if UID is not 0.
2018-10-16file_sys/registered_cache: Use unique_ptr and regular pointers instead of ↵Lioncash
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.
2018-10-15Merge pull request #1473 from lioncash/cmakebunnei
web_service: Make linkage of web_service-related externals and the library private
2018-10-15file_sys/control_metadata: Get rid of magic constantsLioncash
These are just the size of the data being passed in, so we can specify that via the size() member function.
2018-10-15Merge pull request #1494 from DarkLordZach/aoc-signature-fixesbunnei
aoc: Fix various bugs in current AOC implementation
2018-10-15Merge pull request #1499 from lioncash/nrobunnei
nro/nso: Minor error handling changes
2018-10-15nso: Return an optional address from LoadModuleLioncash
If a malformed NSO is attempted to be loaded, we shouldn't continue onwards. We should be reporting an error and bailing out.
2018-10-15core_cpu: Make Cpu scheduler instances unique_ptrs instead of shared_ptrsLioncash
2018-10-15core: Make the live Cpu instances unique_ptrs instead of shared_ptrsLioncash
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.
2018-10-15core: Make the exclusive monitor a unique_ptr instead of a shared_ptrLioncash
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.
2018-10-15core: Make CPUBarrier a unique_ptr instead of a shared_ptrLioncash
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.
2018-10-14crypto: Various crypto fixes for quickstart guideZach Hilman