summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2019-03-30shader_ir/decode: Implement AOFFI for TEX and TLD4ReinUsesLisp
2019-03-30shader_ir: Implement immediate register trackingReinUsesLisp
2019-03-28Merge pull request #2266 from FernandoS27/arbitrationbunnei
Kernel: Fixes to Arbitration and SignalProcessWideKey Management
2019-03-28Merge pull request #2265 from FernandoS27/multilevelqueuebunnei
Replace old Thread Queue for a new Multi Level Queue
2019-03-28Merge pull request #2284 from lioncash/heap-allocbunnei
kernel/vm_manager: Unify heap allocation/freeing functions
2019-03-28Merge pull request #2296 from lioncash/overridebunnei
video_core: Add missing override specifiers
2019-03-27Fixes and corrections on formatting.Fernando Sahmkow
2019-03-27Fixes to multilevelqueue's iterator.Fernando Sahmkow
2019-03-27Use MultiLevelQueue instead of old ThreadQueueListFernando Sahmkow
2019-03-27Add MultiLevelQueue TestsFernando Sahmkow
2019-03-27Implement intrinsics CountTrailingZeroes and test it.Fernando Sahmkow
2019-03-27Implement a MultiLevelQueueFernando Sahmkow
2019-03-27video_core: Add missing override specifiersLioncash
Ensures that the signatures will always match with the base class. Also silences a few compilation warnings.
2019-03-27video_core/gpu: Amend typo in GPU member variable nameLioncash
smaphore -> semaphore
2019-03-26Merge pull request #2285 from lioncash/unused-structbunnei
kernel/process: Remove unused AddressMapping struct
2019-03-25Merge pull request #2287 from lioncash/coretiming-cbbunnei
core/core_timing: Make callback parameters consistent
2019-03-25Merge pull request #2286 from lioncash/fwdbunnei
kernel/kernel: Remove unnecessary forward declaration
2019-03-24core/cheat_engine: Make MemoryReadImpl and MemoryWriteImpl internally linkedLioncash
These don't need to be visible outside of the translation unit, so they can be enclosed within an anonymous namespace.
2019-03-24core/core_timing: Make callback parameters consistentLioncash
In some cases, our callbacks were using s64 as a parameter, and in other cases, they were using an int, which is inconsistent. To make all callbacks consistent, we can just use an s64 as the type for late cycles, given it gets rid of the need to cast internally. While we're at it, also resolve some signed/unsigned conversions that were occurring related to the callback registration.
2019-03-24kernel/kernel: Remove unnecessary forward declarationLioncash
This is no longer necessary, as ResultVal isn't used anywhere in the header.
2019-03-24kernel/process: Remove unused AddressMapping structLioncash
Another leftover from citra that's now no longer necessary.
2019-03-24kernel/vm_manager: Handle shrinking of the heap size within SetHeapSize()Lioncash
One behavior that we weren't handling properly in our heap allocation process was the ability for the heap to be shrunk down in size if a larger size was previously requested. This adds the basic behavior to do so and also gets rid of HeapFree, as it's no longer necessary now that we have allocations and deallocations going through the same API function. While we're at it, fully document the behavior that this function performs.
2019-03-24kernel/vm_manager: Rename HeapAllocate to SetHeapSizeLioncash
Makes it more obvious that this function is intending to stand in for the actual supervisor call itself, and not acting as a general heap allocation function. Also the following change will merge the freeing behavior of HeapFree into this function, so leaving it as HeapAllocate would be misleading.
2019-03-24kernel/vm_manager: Handle case of identical calls to HeapAllocateLioncash
In cases where HeapAllocate is called with the same size of the current heap, we can simply do nothing and return successfully. This avoids doing work where we otherwise don't have to. This is also what the kernel itself does in this scenario.
2019-03-24kernel/vm_manager: Remove unused class variablesLioncash
Over time these have fallen out of use due to refactoring, so these can be removed.
2019-03-24kernel/vm_manager: Remove unnecessary heap_used data memberLioncash
This isn't required anymore, as all the kernel ever queries is the size of the current heap, not the total usage of it.
2019-03-24kernel/vm_manager: Tidy up heap allocation codeLioncash
Another holdover from citra that can be tossed out is the notion of the heap needing to be allocated in different addresses. On the switch, the base address of the heap will always be managed by the memory allocator in the kernel, so this doesn't need to be specified in the function's interface itself. The heap on the switch is always allocated with read/write permissions, so we don't need to add specifying the memory permissions as part of the heap allocation itself either. This also corrects the error code returned from within the function. If the size of the heap is larger than the entire heap region, then the kernel will report an out of memory condition.
2019-03-24Merge pull request #2232 from lioncash/transfer-memorybunnei
core/hle/kernel: Split transfer memory handling out into its own class
2019-03-23Merge pull request #2221 from DarkLordZach/firmware-versionbunnei
set_sys: Implement GetFirmwareVersion(2) for libnx hosversion
2019-03-23Merge pull request #2253 from lioncash/flagsbunnei
Migrate off directly modifying CMAKE_* compilation-related flags directly
2019-03-23Merge pull request #2280 from lioncash/nsobunnei
loader/nso: Minor refactoring
2019-03-22Merge pull request #2279 from lioncash/cheat-globalbunnei
file_sys/cheat_engine: Remove use of global system accessors
2019-03-22Merge pull request #2256 from bunnei/gpu-vmmbunnei
gpu: Rewrite MemoryManager based on the VMManager implementation.
2019-03-22Merge pull request #2277 from bunnei/fix-smo-transitionsbunnei
Revert "Devirtualize Register/Unregister and use a wrapper instead."
2019-03-22loader/nso: Place translation unit specific functions into an anonymous ↵Lioncash
namespace Makes it impossible to indirectly violate the ODR in some other translation unit due to these existing.
2019-03-22file_sys/cheat_engine: Silence truncation and sign-conversion warningsLioncash
2019-03-22file_sys/cheat_engine: Remove use of global system accessorsLioncash
Instead, pass in the core timing instance and make the dependency explicit in the interface.
2019-03-22loader/nso: Clean up use of magic constantsLioncash
Now that the NSO header has the proper size, we can just use sizeof on it instead of having magic constants.
2019-03-22file_sys/patch_manager: Deduplicate NSO headerLioncash
This source file was utilizing its own version of the NSO header. Instead of keeping this around, we can have the patch manager also use the version of the header that we have defined in loader/nso.h
2019-03-22loader/nso: Fix definition of the NSO header structLioncash
The total struct itself is 0x100 (256) bytes in size, so we should be providing that amount of data. Without the data, this can result in omitted data from the final loaded NSO file.
2019-03-22file_sys/patch_manager: Remove two magic valuesLioncash
These correspond to the NSOBuildHeader.
2019-03-21Merge pull request #2234 from lioncash/mutexbunnei
core/hle/kernel: Make Mutex a per-process class.
2019-03-21Merge pull request #2274 from lioncash/includebunnei
core/memory: Remove unnecessary includes
2019-03-21Revert "Devirtualize Register/Unregister and use a wrapper instead."bunnei
- Fixes graphical issues from transitions in Super Mario Odyssey.
2019-03-21Merge pull request #2275 from lioncash/memflagsbunnei
kernel/vm_manager: Amend flag value for code data
2019-03-21Merge pull request #2276 from lioncash/ambunnei
service/am: Add function table for IDebugFunctions
2019-03-21Merge pull request #1933 from DarkLordZach/cheat-enginebunnei
file_sys: Implement parser and interpreter for game memory cheats
2019-03-21service/am: Add function table for IDebugFunctionsLioncash
We already have the service related stuff set up for this, however, it's missing the function table.
2019-03-21kernel/vm_manager: Rename CodeStatic/CodeMutable to Code and CodeData ↵Lioncash
respectively Makes it more evident that one is for actual code and one is for actual data. Mutable and static are less than ideal terms here, because read-only data is technically not mutable, but we were mapping it with that label.
2019-03-21kernel/vm_manager: Amend flag values for CodeMutableLioncash
This should actually be using the data flags, rather than the code flags.