Commit Graph

181 Commits

Author SHA1 Message Date
Maschell 4eff524ab3 Code cleanup 2021-02-19 17:01:21 +01:00
Maschell 07adc02d53 Add Support for WUMS_MODULE_SKIP_WUT_INIT macro 2021-02-19 17:01:11 +01:00
Maschell 5f9e2f8725 Use a custom heap for the relocator and modules 2021-02-19 10:05:02 +01:00
Maschell 18b1b25160 Update the Dockerfile to use the latest devkitppc and WUMS images 2021-01-01 20:22:41 +01:00
Maschell f48a375a34 Just skip modules if imports fail instead of crashing the console on purpose 2021-01-01 02:07:02 +01:00
Maschell fddf436554 Call INIT_WUT and FINI_WUT for modules, make sure APPLICATION_ENDS and FINI_WUT hooks are actually called by a sepeate module 2021-01-01 02:06:03 +01:00
Maschell 98c8de7479 Implementation of InitBeforeRelocationDoneHook and SkipEntrypoint module options 2020-12-26 16:01:46 +01:00
Maschell 6e352b0085 Only use OSDynload_Acquire if really needed 2020-12-26 13:22:12 +01:00
Maschell 42d73fa539 relocator: UseOSDynLoad_IsModuleLoaded instead of OSDynLoad_Acquire 2020-12-26 13:18:47 +01:00
Maschell 7df0cf32f2 [Workflow] Use Environment Files instead of ::set-env 2020-12-01 13:07:18 +01:00
Maschell f38d44243e Display user selection if no default user is set. 2020-12-01 13:07:09 +01:00
Maschell 6a2a7ca1fd Fix checking the size of modules before linking 2020-12-01 13:06:58 +01:00
Maschell c68e375567 Minor improvements 2020-12-01 13:06:40 +01:00
Maschell fe7521b8a6 Use the latest version of WUMS in the Dockerfile 2020-08-12 17:36:26 +02:00
Maschell bf870c148f Don't push the buider image anymore. 2020-08-12 17:30:17 +02:00
Maschell becc30b8dc Add Github Action workflows for pushes and pull requests 2020-08-10 17:37:08 +02:00
Maschell dbdb232a81 Use -lz directly to be compatible to latest wut version 2020-08-10 17:16:18 +02:00
Maschell 142c4e75bb Update the Makefile 2020-07-01 13:18:27 +02:00
Maschell 10db6e943a Fix the location of the module information 2020-07-01 13:18:14 +02:00
Maschell 40deae7e98 Update the Dockerfile 2020-06-26 20:28:28 +02:00
Maschell d14f764960 Add a Dockerfile 2020-06-25 19:13:12 +02:00
Maschell d1a5a7f1c2 Update the build flags for the relocator 2020-06-25 19:11:49 +02:00
Maschell 2b733e117a Fix compiler warnings 2020-06-25 19:11:31 +02:00
Maschell 1ed1b96bdb Move the gModuleData struct into a different location in memory, move defines into a new globals.h which both projects are using 2020-06-25 19:01:25 +02:00
Maschell 3853f3876e Use bin2s instead of xxd to include the relocator.elf 2020-06-25 18:57:41 +02:00
Maschell d1581b392f Make sure to build the relocator if their files changes 2020-06-25 18:56:36 +02:00
Maschell c3e7fe0f51 Add support for the WUMS_HOOK_RELOCATIONS_DONE hook 2020-06-10 16:20:20 +02:00
Maschell 00a8f16314 Do not replace the reloactions of the memory function (will be replaced by module) 2020-06-10 14:13:06 +02:00
Maschell 306b2c1e70 Improve logging 2020-06-07 15:42:47 +02:00
Maschell b5f345e22a Formatting 2020-06-07 14:18:34 +02:00
Maschell 44b65558ef Fix compiler warnings 2020-06-07 14:17:02 +02:00
Maschell e84b6f63bf Save the current module information struct version inside the struct. 2020-06-07 14:09:58 +02:00
Maschell de4938474c Formatting 2020-06-07 13:59:02 +02:00
Maschell e70ec9b345 Modules do now have a flag if they should be run before their entrypoint. 2020-06-07 13:58:55 +02:00
Maschell 6a6a41bf1d Outsource the function patching to the FunctionPatcherModule and DynLoadPatchModule 2020-06-06 22:14:26 +02:00
Maschell b46639975e Adopt the hook-call of WUMS_HOOK_INIT to provide a pointer to the module_information_t struct 2020-06-06 22:12:18 +02:00
Maschell 3f6f956b70 Move module defines into WUMS 2020-06-06 17:02:31 +02:00
Maschell 10d74d9f6d Adopt to changes of WUMS. The main() of modules are now called only once, but the WUMS_HOOK_APPLICATION_STARTS hook is called on every application start.
The .bss section is not cleared anymore, modules will always considered running in the background (and not ending when the application end)
For this to work we need to force the init of the kernel + memorymapping module to be done in the right order.
2020-06-03 19:41:05 +02:00
Maschell 62dd3cc0c5 Add support for calling hooks of a single module 2020-06-03 19:37:32 +02:00
Maschell 94d40374f9 Fix calling the hooks 2020-06-03 19:36:16 +02:00
Maschell eac22b0583 relocator: Fix location of Init-Hook call 2020-06-01 18:43:58 +02:00
Maschell 2442bb46c5 Fix several compiler warnings 2020-06-01 16:41:46 +02:00
Maschell 985691e608 relocator: formatting 2020-06-01 16:38:13 +02:00
Maschell 29c90bc943 relocator: Fix KiIsEffectiveRangeValid to return a boolean. 2020-06-01 16:36:00 +02:00
Maschell 40359e1211 relocator: Save ordered list of modules based on dependencies, move hook calling into a new file 2020-06-01 16:35:34 +02:00
Maschell 3b94c82ed2 relocator: add missing `KiPhysicalToEffectiveUncached` address 2020-05-31 02:25:37 +02:00
Maschell 0225c49e3a reloactor: Add KiIsEffectiveRangeValid patch 2020-05-31 02:25:07 +02:00
Maschell 6695815a6e relocator: reduce number of warning in the logs by using our memory mapping test before the real one 2020-05-31 02:24:18 +02:00
Maschell 9809b1b48d relocator: Fix compling 2020-05-31 02:23:31 +02:00
Maschell 82dc811f42 relocator: Patch the kernel to allow usage of our custom memory mapping 2020-05-30 22:02:21 +02:00