summaryrefslogtreecommitdiffstats
path: root/src/core/hle/service/ldr (unfollow)
Commit message (Collapse)AuthorFilesLines
2019-06-12common/hex_util: Combine HexVectorToString() and HexArrayToString()Lioncash1-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-11service: Update service function tablesLioncash1-0/+1
Updates function tables based off information from SwitchBrew.
2019-04-10ldr: Mark IsValidNROHash() as a const member functionLioncash1-5/+4
This doesn't modify instance state, so it can be made const.
2019-04-10ldr: Amend parameters for LoadNro/UnloadNro LoadNrr/UnloadNrrLioncash1-60/+81
The initial two words indicate a process ID. Also UnloadNro only specifies one address, not two.
2019-03-21kernel/vm_manager: Rename CodeStatic/CodeMutable to Code and CodeData respectivelyLioncash1-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-28kernel/process: Remove most allocation functions from Process' interfaceLioncash1-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-05service/ldr: Deduplicate instruction cache clearing code in LoadNro()Lioncash1-8/+2
We don't need to specify all of the ARM interfaces explicitly.
2018-12-05service/ldr: Amend layout of the NRO headerLioncash1-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-05service/ldr: Corrent padding within the NRR header layoutLioncash1-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-26Changed logging to be "Log before execution", Added more error logging, all services should now log on some levelDavid Marcec1-1/+11
2018-11-19ldr: Clean up error codesLioncash1-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-18ldr_ro: Add error check for memory allocation failureZach Hilman1-7/+20
2018-11-15ldr_ro: Implement UnloadNro (command 1)Zach Hilman1-22/+85
Includes actual unmapping and address error checking.
2018-11-15ldr_ro: Fully Implement LoadNro (command 0)Zach Hilman1-11/+110
Includes NRO and BSS error checking, maximum loaded NRO check, NRR hash check, and proper remapping of BSS data.
2018-11-15ldr_ro: Implement UnloadNrr (command 3)Zach Hilman1-2/+84
Includes initialization check, proper address check, alignment check, and actual unloading of a loaded NRR.
2018-11-15ldr_ro: Fully implement LoadNrr (command 2)Zach Hilman1-0/+112
Includes parameter error checking, hash enforcement, initialization check, and max NRR load check.
2018-10-26ldr: Partially implement LoadNro.bunnei1-3/+49
- This is an incomplete implementation. It was tested with Super Mario Party.
2018-07-26service: Add ldr servicesLioncash2-0/+97
Adds the skeleton for the ldr-related services based off the information provided on Switch Brew.