summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
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-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.
2019-03-21core/memory: Remove unnecessary includesLioncash
In 93da8e0abfcdcc6e3cb5488a0db12373429f1377, the page table construct was moved to the common library (which utilized these inclusions). Since the move, nothing requires these headers to be included within the memory header.
2019-03-21Merge pull request #2260 from lioncash/sdlbunnei
input_common/sdl: Correct return values within GetPollers implementations
2019-03-20common/bit_util: Fix bad merge duplicating the copy constructorLioncash
Introduced as a result of #2090, we already define the copy constructor further down below, so this isn't needed.
2019-03-20Merge pull request #2090 from FearlessTobi/port-4599bunnei
Port citra-emu/citra#4244 and citra-emu/citra#4599: Changes to BitField
2019-03-20Merge pull request #2262 from lioncash/enumbunnei
file_sys/content_archive: Amend name of Data_Unknown5 enum entry
2019-03-20Merge pull request #2273 from lioncash/guardbunnei
common/uint128: Add missing header guard
2019-03-20memory_manager: Cleanup FindFreeRegion.bunnei
2019-03-20memory_manager: Use Common::AlignUp in public interface as needed.bunnei
2019-03-20common/uint128: Add missing header guardLioncash
2019-03-20common/uint128: Add missing top-file source textLioncash
2019-03-20Merge pull request #2268 from lioncash/codesetbunnei
core/kernel: Migrate CodeSet to its own source files
2019-03-20memory_manager: Bug fixes and further cleanup.bunnei
2019-03-20memory: Check that core is powered on before attempting to use GPU.bunnei
- GPU will be released on shutdown, before pages are unmapped. - On subsequent runs, current_page_table will be not nullptr, but GPU might not be valid yet.
2019-03-20maxwell_dma: Check for valid source in destination before copy.bunnei
- Avoid a crash in Octopath Traveler.
2019-03-20memory_manager: Add protections for invalid GPU addresses.bunnei
- Avoid a crash in Xenoblade Chronicles 2.
2019-03-20gl_rasterizer_cache: Check that backing memory is valid before creating a ↵bunnei
surface. - Fixes a crash in Puyo Puyo Tetris.
2019-03-20gpu: Rewrite virtual memory manager using PageTable.bunnei
2019-03-20gpu: Move GPUVAddr definition to common_types.bunnei
2019-03-20common/CMakeLists: Amend boost dependencyLioncash
When #2247 was created, thread_queue_list.h was the only user of boost-related code, however #2252 moved the page table struct into common, which makes use of Boost.ICL, so we need to add the dependency to the common library's link interface again.
2019-03-20Merge pull request #2267 from FernandoS27/fix-2238bunnei
Fix crash caused by #2238.
2019-03-20Merge pull request #2247 from lioncash/includebunnei
common/thread_queue_list: Remove unnecessary dependency on boost
2019-03-20Merge pull request #2224 from lioncash/opusbunnei
hwopus: Leverage multistream API for decoding regular Opus packets
2019-03-20Merge pull request #2239 from FearlessTobi/port-4684bunnei
Port citra-emu/citra#4684: "frontend: qt: fix a freeze where if you click on entry in the game list too fast, citra will hang"