aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle
AgeCommit message (Collapse)Author
2018-10-19Merge pull request #1520 from lioncash/sanbunnei
svc: Add missing sanitizing checks for MapSharedMemory/UnmapSharedMemory
2018-10-19Merge pull request #1526 from lioncash/svc-idbunnei
service: Update function tables
2018-10-19Merge pull request #1530 from DarkLordZach/aoc-8bunnei
aoc_u: Stub GetAddOnContentListChangedEvent
2018-10-19Merge pull request #1516 from lioncash/hidbunnei
hid: Minor cleanup-related changes
2018-10-19aoc_u: Stub GetAddOnContentListChangedEventZach Hilman
This event signals the game when new DLC is purchased from the eShop while the game is running. Since, for the forseeable future, yuzu will not have this ability, it seems safe to stub with a dummy event that will never fire. This is needed to boot Sonic Mania Plus (update v1.04).
2018-10-20Stubbed home blockingDavid Marcec
Needed by arms due to new hid rework
2018-10-19es: Update service function tablesLioncash
Updated based off information provided by Switchbrew.
2018-10-19audio: Update service function tablesLioncash
Updated based off information provided by Switchbrew.
2018-10-19omm: Update service function tablesLioncash
Updated based off information provided by Switchbrew.
2018-10-19nifm: Update service function tablesLioncash
Updated based off information provided by switchbrew.
2018-10-19hid: Update service function tablesLioncash
Updated based off information provided by Switchbrew.
2018-10-19nim: Add the basic skeleton of the nim:eca serviceLioncash
Added based off information provided by Switchbrew
2018-10-19ns: Update service function tableLioncash
Updated based off information provided by Switchbrew.
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-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-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 #1498 from lioncash/aslrbunnei
svc: Clarify enum values for AddressSpaceBaseAddr and AddressSpaceSize in svcGetInfo()
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-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-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 #1494 from DarkLordZach/aoc-signature-fixesbunnei
aoc: Fix various bugs in current AOC implementation
2018-10-15core_cpu: Make Cpu scheduler instances unique_ptrs instead of shared_ptrsLioncash
2018-10-14svc: Clarify enum values for AddressSpaceBaseAddr and AddressSpaceSize in ↵Lioncash
svcGetInfo() So, one thing that's puzzled me is why the kernel seemed to *not* use the direct code address ranges in some cases for some service functions. For example, in svcMapMemory, the full address space width is compared against for validity, but for svcMapSharedMemory, it compares against 0xFFE00000, 0xFF8000000, and 0x7FF8000000 as upper bounds, and uses either 0x200000 or 0x8000000 as the lower-bounds as the beginning of the compared range. Coincidentally, these exact same values are also used in svcGetInfo, and also when initializing the user address space, so this is actually retrieving the ASLR extents, not the extents of the address space in general.
2018-10-14aoc: Read DLC base title ID from RegisteredCacheZach Hilman
Falls back to title ID + 0x1000, which is what HOS does.
2018-10-14Merge pull request #1491 from lioncash/referencebunnei
filesystem: Make CreateFactories() and InstallInterface() take a VfsFilesystem by reference
2018-10-14Merge pull request #1492 from lioncash/procbunnei
svc: Implement svcGetProcessInfo
2018-10-14Stop all threads on svcBreakDavid Marcec
This should help diagnose crashes easier and prevent many users thinking that a game is still running when in fact it's just an audio thread still running(this is typically not killed when svcBreak is hit since the game expects us to do this)
2018-10-13aoc: Return size in ListAddOnContentZach Hilman
2018-10-13svc: Implement svcGetProcessInfoLioncash
A fairly basic service function, which only appears to currently support retrieving the process state. This also alters the ProcessStatus enum to contain all of the values that a kernel process seems to be able of reporting with regards to state.
2018-10-13filesystem: Make CreateFactories() and InstallInterface() take a ↵Lioncash
VfsFilesystem instance by reference Neither of these functions alter the ownership of the provided pointer, so we can simply make the parameters a reference rather than a direct shared pointer alias. This way we also disallow passing incorrect memory values like nullptr.
2018-10-12Merge pull request #1483 from lioncash/codesetbunnei
kernel/process: Make CodeSet a regular non-inherited object
2018-10-12Merge pull request #1481 from lioncash/typobunnei
svc: Fix typos in sanitizing checks for MapMemory/UnmapMemory
2018-10-12Merge pull request #1467 from ogniK5377/svcbreak-type-fixbunnei
Fixed incorrect types for svcBreak
2018-10-12kernel/process: Make CodeSet a regular non-inherited objectLioncash
These only exist to ferry data into a Process instance and end up going out of scope quite early. Because of this, we can just make it a plain struct for holding things and just std::move it into the relevant function. There's no need to make this inherit from the kernel's Object type.
2018-10-12Merge pull request #1478 from ogniK5377/remap-invalidhandle-remapbunnei
Passing an invalid nmap handle to Remap should throw an error
2018-10-12Merge pull request #1482 from lioncash/initbunnei
thread: Remove unnecessary memset from ResetThreadContext()