Commit message (Collapse) | Author | Files | Lines | ||
---|---|---|---|---|---|
2023-12-09 | ro: add separate ro service | Liam | 1 | -634/+0 | |
2023-11-10 | kernel: add KPageTableBase | Liam | 1 | -23/+22 | |
Co-authored-by: Kelebek1 <eeeedddccc@hotmail.co.uk> | |||||
2023-08-08 | general: fix incorrect conversions | Liam | 1 | -1/+1 | |
2023-08-08 | core: remove ResultVal type | Liam | 1 | -21/+25 | |
2023-07-15 | kernel: reduce page table region checking | Liam | 1 | -3/+3 | |
2023-07-15 | k_process: PageTable -> GetPageTable | Liam | 1 | -7/+7 | |
2023-03-24 | memory: rename global memory references to application memory | Liam | 1 | -5/+5 | |
2023-03-22 | kernel: use KTypedAddress for addresses | Liam | 1 | -2/+3 | |
2023-03-01 | service: move hle_ipc from kernel | Liam | 1 | -6/+6 | |
2023-02-21 | service: refactor server architecture | Liam | 1 | -7/+11 | |
Converts services to have their own processes | |||||
2023-02-14 | general: rename CurrentProcess to ApplicationProcess | Liam | 1 | -6/+7 | |
2022-10-19 | core: hle: kernel: k_memory_block: Update. | bunnei | 1 | -2/+2 | |
2022-06-27 | core: Replace all instances of ResultCode with Result | german77 | 1 | -21/+20 | |
2022-06-14 | common: Change semantics of UNREACHABLE to unconditionally crash | Liam | 1 | -1/+1 | |
2022-04-23 | general: Convert source file copyright comments over to SPDX | Morph | 1 | -3/+2 | |
This formats all copyright comments according to SPDX formatting guidelines. Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later. | |||||
2022-04-12 | core: hle: service: Allocate a service thread. | bunnei | 1 | -1/+2 | |
2022-04-09 | hle: kernel: Invalidate entire icache in UnmapProcessMemory and UnmapCodeMemory (fixes #8174) | tech-ticks | 1 | -11/+19 | |
2022-03-19 | core: Reduce unused includes | ameerj | 1 | -1/+0 | |
2022-03-09 | hle: service: ldr: Use deterministic addresses when mapping NROs. | bunnei | 1 | -19/+59 | |
- Instead of randomization, choose in-order addresses for where to map NROs into memory. - This results in predictable behavior when debugging and consistent behavior when reproducing issues. | |||||
2022-01-12 | hle: kernel: k_page_table: Update SetProcessMemoryPermission. | bunnei | 1 | -3/+4 | |
2022-01-12 | hle: service: ldr: UnmapCodeMemory BSS only when set. | bunnei | 1 | -3/+7 | |
2022-01-12 | hle: kernel: k_page_table: ReadAndWrite -> UserReadWrite. | bunnei | 1 | -1/+1 | |
2022-01-12 | hle: kernel: k_page_table: Rename *ProcessCodeMemory -> *CodeMemory. | bunnei | 1 | -14/+13 | |
2021-11-21 | kernel: KPageTable: Rename SetCodeMemoryPermission to SetProcessMemoryPermission | Morph | 1 | -4/+4 | |
2021-11-04 | general: Get the current process program id directly from the system | Morph | 1 | -2/+1 | |
This allows us to avoid including KProcess' header file in files that only need to get the current process' program id. | |||||
2021-11-04 | general: Rename GetTitleID to GetProgramID | Morph | 1 | -1/+1 | |
2021-11-02 | general: Remove MakeResult helpers | Morph | 1 | -2/+2 | |
This is made obsolete by the presence of implicit constructors. | |||||
2021-06-02 | general: Replace RESULT_SUCCESS with ResultSuccess | Morph | 1 | -5/+5 | |
Transition to PascalCase for result names. | |||||
2021-05-07 | ldr: Simplify memory copy within LoadNro() | Lioncash | 1 | -5/+3 | |
We can use the dedicated memory function for performing copies instead of reading into a temporary buffer and then immediately writing it back out to memory. Eliminates a bit of heap memory churn. | |||||
2021-05-06 | hle: kernel: Rename Process to KProcess. | bunnei | 1 | -4/+4 | |
2021-04-09 | ldr: Use proper names | german77 | 1 | -16/+16 | |
2021-02-19 | hle: kernel: Migrate PageHeap/PageTable to KPageHeap/KPageTable. | bunnei | 1 | -4/+3 | |
2021-02-19 | hle: kernel: Migrate to KMemoryBlock, KMemoryBlockManager, and others. | bunnei | 1 | -11/+10 | |
2021-02-19 | hle: kernel: KSystemControl does not belong in Memory namespace. | bunnei | 1 | -2/+2 | |
2021-02-13 | kernel: Unify result codes (#5890) | Chloe | 1 | -3/+3 | |
* kernel: Unify result codes Drop the usage of ERR_NAME convention in kernel for ResultName. Removed seperation between svc_results.h & errors.h as we mainly include both most of the time anyways. * oops * rename errors to svc_results | |||||
2020-11-29 | core: arm: Implement InvalidateCacheRange for CPU cache invalidation. | bunnei | 1 | -5/+0 | |
2020-11-27 | service: Eliminate usages of the global system instance | Lioncash | 1 | -8/+7 | |
Completely removes all usages of the global system instance within the services code by passing in the using system instance to the services. | |||||
2020-11-08 | ipc_helpers: Remove usage of the global system instance | Lioncash | 1 | -0/+1 | |
Resolves numerous deprecation warnings throughout the codebase due to inclusion of this header. Now building core should be significantly less noisy (and also relying on less global state). This also uncovered quite a few modules that were relying on indirect includes, which have also been fixed. | |||||
2020-10-31 | hle: service: ldr: Implement UnloadNrr. | bunnei | 1 | -1/+15 | |
- Used by Final Fantasy X/X-2 HD Remaster. | |||||
2020-10-22 | core: Fix clang build pt.3 | Lioncash | 1 | -2/+2 | |
Should finally resolve building with clang. | |||||
2020-10-21 | Revert "core: Fix clang build" | bunnei | 1 | -2/+2 | |
2020-10-18 | core: Fix clang build | Lioncash | 1 | -2/+2 | |
Recent changes to the build system that made more warnings be flagged as errors caused building via clang to break. Fixes #4795 | |||||
2020-08-03 | service/ldr: Resolve sign mismatch warnings | Lioncash | 1 | -3/+2 | |
We were performing an int < size_t comparison. We can just correct the type of the induction variable. | |||||
2020-06-28 | ldr: Cleanup NRO & NRR structs | David Marcec | 1 | -8/+8 | |
2020-06-18 | Move SHA256Hash to its original position | VolcaEM | 1 | -2/+2 | |
It's not needed to have it in its previous position anymore | |||||
2020-06-16 | Remove unnecessary pragmas | VolcaEM | 1 | -8/+0 | |
2020-06-16 | Revert IsValidNRO refactor but make it more readable | VolcaEM | 1 | -26/+13 | |
2020-06-16 | Update assert string | VolcaEM | 1 | -1/+1 | |
2020-06-14 | Clang-format again | VolcaEM | 1 | -2/+2 | |
2020-06-14 | Use consistent variable names | VolcaEM | 1 | -4/+4 | |
2020-06-14 | Clang-format | VolcaEM | 1 | -1/+2 | |
2020-06-14 | Make assert strings consistent | VolcaEM | 1 | -3/+3 | |
2020-06-14 | Attempt to fix crashes in SSBU and refactor IsValidNRO | VolcaEM | 1 | -36/+59 | |
2020-06-02 | Address review comments | VolcaEM | 1 | -4/+4 | |
2020-05-31 | Add comment to nrr_kind | VolcaEM | 1 | -1/+1 | |
According to Atmosphére (https://github.com/Atmosphere-NX/Atmosphere/blob/c7026b90940a1d88f9c10a6d98263bf22e654fa5/libraries/libstratosphere/include/stratosphere/ro/ro_types.hpp), nrr_kind (Atmosphére calls it "type") is 7.0.0+ | |||||
2020-05-31 | ldr: Update NRR/NRO structs | VolcaEM | 1 | -40/+72 | |
This was based on Switchbrew pages: https://switchbrew.org/wiki/NRR https://switchbrew.org/wiki/NRO | |||||
2020-04-20 | service: Update function tables | Lioncash | 1 | -0/+1 | |
Keeps the service function tables up to date. Updated based off information on SwitchBrew. | |||||
2020-04-17 | core: hle: Address various feedback & code cleanup. | bunnei | 1 | -8/+5 | |
- Should be no functional changes. | |||||
2020-04-17 | service: ldr: Updates for new VMM. | bunnei | 1 | -150/+215 | |
- Includes removing some service impls. that are untested. | |||||
2020-03-26 | services: ldr: Fix MemoryState for read/write regions of NROs. | bunnei | 1 | -5/+15 | |
- Fixes #3541, used by Final Fantasy VIII Remastered. | |||||
2019-11-27 | core/memory: Migrate over Read{8, 16, 32, 64, Block} to the Memory class | Lioncash | 1 | -2/+3 | |
With all of the trivial parts of the memory interface moved over, we can get right into moving over the bits that are used. Note that this does require the use of GetInstance from the global system instance to be used within hle_ipc.cpp and the gdbstub. This is fine for the time being, as they both already rely on the global system instance in other functions. These will be removed in a change directed at both of these respectively. For now, it's sufficient, as it still accomplishes the goal of de-globalizing the memory code. | |||||
2019-11-12 | core: Migrate off deprecated mbedtls functions | Lioncash | 1 | -1/+1 | |
These functions are marked for deprecation and it's recommended that the *_ret variants be used instead. | |||||
2019-10-06 | hle/service: Replace global system instance calls with instance-based ones | Lioncash | 1 | -3/+3 | |
Migrates the HLE service code off the use of directly accessing the global system instance where trivially able to do so. This removes all usages of Core::CurrentProcess from the service code, only 8 occurrences of this function exist elsewhere. There's still quite a bit of "System::GetInstance()" being used, however this was able to replace a few instances. | |||||
2019-09-22 | Deglobalize System: LDR | David Marcec | 1 | -5/+6 | |
2019-07-11 | Restore memory perms on svcUnmapMemory/UnloadNro | Michael Scire | 1 | -6/+26 | |
Prior to PR, Yuzu did not restore memory to RW- on unmap of mirrored memory or unloading of NRO. (In fact, in the NRO case, the memory was unmapped instead of reprotected to --- on Load, so it was actually lost entirely...) This PR addresses that, and restores memory to RW- as it should. This fixes a crash in Super Smash Bros when creating a World of Light save for the first time, and possibly other games/circumstances. | |||||
2019-06-12 | common/hex_util: Combine HexVectorToString() and HexArrayToString() | Lioncash | 1 | -1/+1 | |
These can be generified together by using a concept type to designate them. This also has the benefit of not making copies of potentially very large arrays. | |||||
2019-04-11 | service: Update service function tables | Lioncash | 1 | -0/+1 | |
Updates function tables based off information from SwitchBrew. | |||||
2019-04-10 | ldr: Mark IsValidNROHash() as a const member function | Lioncash | 1 | -5/+4 | |
This doesn't modify instance state, so it can be made const. | |||||
2019-04-10 | ldr: Amend parameters for LoadNro/UnloadNro LoadNrr/UnloadNrr | Lioncash | 1 | -60/+81 | |
The initial two words indicate a process ID. Also UnloadNro only specifies one address, not two. | |||||
2019-03-21 | kernel/vm_manager: Rename CodeStatic/CodeMutable to Code and CodeData respectively | Lioncash | 1 | -5/+3 | |
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. | |||||
2018-12-28 | kernel/process: Remove most allocation functions from Process' interface | Lioncash | 1 | -11/+16 | |
In all cases that these functions are needed, the VMManager can just be retrieved and used instead of providing the same functions in Process' interface. This also makes it a little nicer dependency-wise, since it gets rid of cases where the VMManager interface was being used, and then switched over to using the interface for a Process instance. Instead, it makes all accesses uniform and uses the VMManager instance for all necessary tasks. All the basic memory mapping functions did was forward to the Process' VMManager instance anyways. | |||||
2018-12-05 | service/ldr: Deduplicate instruction cache clearing code in LoadNro() | Lioncash | 1 | -8/+2 | |
We don't need to specify all of the ARM interfaces explicitly. | |||||
2018-12-05 | service/ldr: Amend layout of the NRO header | Lioncash | 1 | -3/+3 | |
The first word is just a padding byte, it's not an actual entry instruction. Also renames the rest of the entries according to SwitchBrew. | |||||
2018-12-05 | service/ldr: Corrent padding within the NRR header layout | Lioncash | 1 | -1/+2 | |
The padding after the magic signature value should be 12 bytes rather than 28 bytes. The other 16 should be placed after the title ID pattern. | |||||
2018-11-26 | Changed logging to be "Log before execution", Added more error logging, all services should now log on some level | David Marcec | 1 | -1/+11 | |
2018-11-19 | ldr: Clean up error codes | Lioncash | 1 | -29/+12 | |
The separate enum isn't particularly necessary here, and the values can just be directly put into the ResultCode instances, given the names are also self-documenting here. | |||||
2018-11-18 | ldr_ro: Add error check for memory allocation failure | Zach Hilman | 1 | -7/+20 | |
2018-11-15 | ldr_ro: Implement UnloadNro (command 1) | Zach Hilman | 1 | -22/+85 | |
Includes actual unmapping and address error checking. | |||||
2018-11-15 | ldr_ro: Fully Implement LoadNro (command 0) | Zach Hilman | 1 | -11/+110 | |
Includes NRO and BSS error checking, maximum loaded NRO check, NRR hash check, and proper remapping of BSS data. | |||||
2018-11-15 | ldr_ro: Implement UnloadNrr (command 3) | Zach Hilman | 1 | -2/+84 | |
Includes initialization check, proper address check, alignment check, and actual unloading of a loaded NRR. | |||||
2018-11-15 | ldr_ro: Fully implement LoadNrr (command 2) | Zach Hilman | 1 | -0/+112 | |
Includes parameter error checking, hash enforcement, initialization check, and max NRR load check. | |||||
2018-10-26 | ldr: Partially implement LoadNro. | bunnei | 1 | -3/+49 | |
- This is an incomplete implementation. It was tested with Super Mario Party. | |||||
2018-07-26 | service: Add ldr services | Lioncash | 1 | -0/+81 | |
Adds the skeleton for the ldr-related services based off the information provided on Switch Brew. |