Add Module Manager (#69)
* src/modulemgr: sceKernelQueryModuleInfo(): Improved documentation
* src/modulemgr: Fixed various incorrect SDK versions
* src/modulemgr.c: sceKernelQueryModuleInfo(): Fixed two syntax errors.
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleWithBlockOffset().
* src/modulemgr/modulemgr.c: Fixed wrong handling of various sceIoIoctl() status values.
* src/modulemgr/modulemgr.c: Added missing sysmem_kernel.h include.
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleByIDWithBlockOffset().
* src/modulemgr/modulemgr.c: Fixed register K1 permission checks in various user-exported loadModule() functions.
* src/modulemgr/modulemgr.c: sceKernelLoadModuleForUser(): Fixed handling of parameter "opt" when being NULL.
* src/modulemgr/modulemgr.c: Fixed sdkVersion return codes in various LoadModule() functions.
* include/iofilemgr_kernel.h: Added back SCE_O_UNKNOWN0.
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleDNAS().
* src/modulemgr: Updated and added documentation
- Added documentation for sceKernelLoadModuleById(),
sceKernelLoadModuleWithBlockOffset(), and sceKernelLoadModuleDNAS
- Updated documentation of ModuleMgrForKernel_2B7FC10D(),
sceKernelLoadModule(), sceKernelGetModuleIdList(),
sceKernelQueryModuleInfo(), sceKernelGetModuleId(),
sceKernelGetModuleIdByAddress(), and sceKernelGetModuleGPByAddress()
* src/modulemgr: Updated documentation: case when SCE_ERROR_KERNEL_ILLEGAL_ADDRESS is returned
Affects sceKernelLoadModuleWithBlockOffset() and
sceKernelLoadModuleByIDWithBlockOffset().
* src/modulemgr: sceKernelLoadModuleDNAS(): Forgot a word in documentation
* src/modulemgr: sceKernelLoadModuleDNAS(): Forgot quotation marks in documentation
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleNpDrm().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleMs().
* src/modulemgr/modulemgr.c: Added sceKernelSelfStopUnloadModule().
* src/modulemgr/modulemgr.c: Added sceKernelStopModule().
* src/modulemgr: sceKernelLoadModuleNpDrm(): Fixed a pointer issue
* include/common/memory.h: Added pspClearMemory*() functions. These functions should be used as an alternative to corresponding memset calls.
* src/modulemgr/modulemgr.c: Replaced the variable <modParams> clearing-for-loops with the pspClearMemory32() function.
* src/modulemgr: sceKernelLoadModuleNpDrm(): Added documentation
* src/modulemgr: Added sceKernelLoadModuleBufferUsbWlan()
* src/modulemgr: sceKernelLoadModuleBufferUsbWlan(): Fixed return type
* src/modulemgr: Added _LoadModuleByBufferID()
* src/modulemgr: Added _start_exe_thread()
* src/modulemgr: Added sub_00007620()
* src/modulemgr: Added sub_00007698()
* src/modulemgr: Rename sub_00007620() to _CheckOption()
* src/modulemgr: _CheckOption(): Fix return type
* src/modulemgr: Added _SelfStopUnloadModule()
* src/modulemgr/: Added loadModuleChecks_inline.h containing commonly used checks in loadModule() functions. The check functions introduced there should be used in loadModule() functions.
* src/modulemgr/modulemgr.c: Preparations for the use of _check functions().
* src/modulemgr/modulemgr.c: Removed _CheckOptions(). Its equivalent function is _checkLMOptionConditions() defined in loadModuleChecks_inline.h.
* src/modulemgr/modulemgr.c: loadModule _check() functions are now being used.
* src/modulemgr/loadModuleChecks_inline.h: Removed _setupChecks() and _terminateChecks().
* src/modulemgr/modulemgr.c: Fixed _SelfStopUnloadModule().
* src/modulemgr/modulemgr.c: Forgot to fix pointer errors in _SelfStopUnloadModule() in previous commit.
* src/modulemgr/modulemgr.c: Added _EpilogueModule().
* src/modulemgr: Added sub_000077F0()
* src/modulemgr: _EpilogueModule(): Replaced hardcoded size by sizeof()
* modulemgr: renamed sub_000077F0 to _StopUnloadSelfModuleWithStatus()
* src/modulemgr/modulemgr.c: Added _ModuleReleaseLibraries().
* src/modulemgr: Added _checkSMOptionConditions() and fixed small issues in _StopUnloadSelfModuleWithStatus().
* src/modulemgr/modulemgr.c: Added sceKernelStartModule().
* include/threadman_kernel: Added more thread attribute values.
* src/modulemgr/modulemgr.c: Added sceKernelRebootBeforeForUser().
* src/modulemgr/modulemgr.c: Added sceKernelRebootPhaseForKernel().
* src/modulemgr/modulemgr.c: Added sceKernelRebootBeforeForKernel().
* include/modulemgr_user.h: Added documentation for sceKernelLoadModuleMs().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForLoadExecVSHDisc().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForLoadExecVSHDiscUpdater().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForLoadExecVSHDiscDebug().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForLoadExecVSHDiscEmu().
* src/modulemgr/modulemgr.c: Added ModuleMgrForKernel_C2A5E6CA().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForLoadExecVSHMs1().
* added current work from months ago
* src/modulemgr: Cleaned modulemgr directory and added first code.
* src/modulemgr: Finished ModuleMgrInit().
* src/modulemgr: ModuleMgrInit(): Added ChunkInit() call.
* src/modulemgr: Added _ModuleMgrRebootBefore().
* include/threadman_kernel.h: Added sceKernelSuspendThread().
* src\modulemgr\modulemgr.c: Added functions to reverse
* src/modulemgr: Fixed ModuleMgrRebootBefore prefix
ModuleMgrRebootBefore was prefixed with _ although it's not an internal
function
* src/modulmgr: Added ModuleMgrRebootPhase().
* src/modulemgr: Added exe_thread().
* src/modulemgr: Added_UnloadModule().
* src/modulemgr: Fixed a mistake in_UnloadModule().
* src/modulemgr: Added sceKernelGetModuleId().
* src/modulemgr: sceKernelGetModuleId(): Clarified variable name and type.
* src/modulemgr: sceKernelGetModuleId(): Changed return type (forgot it in last commit) for clarification reasons.
* src/modulemgr: sceKernelGetModuleId(): Fixed K1 register handling.
* include/iofilemgr_kernel.h: Added more sceIoOpen() flags.
* src/modulemgr: Added sceKernelGetModuleIdByAddress()
* src/modulemgr: Documentation for sceKernelGetModuleId()
* src/modulemgr: sceKernelGetModuleIdByAddress(): Fixed pspK1PtrOk() argument
* src/modulemgr: Added sceKernelGetModuleGPByAddress()
* src/modulemgr: Fixed missing const statement in arguments
* include/iofilemgr_kernel.h: Added sceKernelLoadModuleForLoadExecForUser().
* src/modulemgr.c: sceKernelGetModuleGPByAddress(): Added retVal declaration.
* src/modulemgr.c: sceKernelLoadModuleForLoadExecForUser(): Added back SCeUID fd declaration (it was eaten by some ghosts I guess).
* src/modulemgr: Added sceKernelGetModuleIdList()
* src/modulemgr: Added sceKernelLoadModule()
* src/modulemgr: sceKernelLoadModuleForLoadExecForUser(): Fixed pointer issues, added some comments
* src/modulemgr: sceKernelLoadModule(): Fixed missing structure field set
* src/modulemgr: sceKernelLoadModuleForLoadExecForUser() and sceKernelLoadModule(): Added documentation
* src/modulemgr: struct SceKernelLMOption: Added documentation
* src/modulemgr: sceKernelLoadModule(): Fixed return value
* src/modulemgr.c: Removed SceKernelLMOption declaration (it is already declared in include/modulemgr_options.h).
* include/modulemgr_options.h: Added back the doxygen documentation for SceKernelLMOption.
* src/modulemgr.c: Added sceKernelLoadModuleByID().
* src/modulemgr.c: sceKernelLoadModule(): Fixed ioctl command.
* src/modulemgr.c: Renamed sceKernelLoadModule() -> sceKernelLoadModuleForUser().
* src/modulemgr.c: sceKernelLoadModuleForUser(): Fixed ioctl command (another one).
* src/modulemgr: Added sceKernelQueryModuleInfo()
* src/modulemgr: sceKernelQueryModuleInfo(): Improved documentation
* src/modulemgr: Fixed various incorrect SDK versions
* src/modulemgr.c: sceKernelQueryModuleInfo(): Fixed two syntax errors.
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleWithBlockOffset().
* src/modulemgr/modulemgr.c: Fixed wrong handling of various sceIoIoctl() status values.
* src/modulemgr/modulemgr.c: Added missing sysmem_kernel.h include.
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleByIDWithBlockOffset().
* src/modulemgr/modulemgr.c: Fixed register K1 permission checks in various user-exported loadModule() functions.
* src/modulemgr/modulemgr.c: sceKernelLoadModuleForUser(): Fixed handling of parameter "opt" when being NULL.
* src/modulemgr/modulemgr.c: Fixed sdkVersion return codes in various LoadModule() functions.
* include/iofilemgr_kernel.h: Added back SCE_O_UNKNOWN0.
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleDNAS().
* src/modulemgr: Updated and added documentation
- Added documentation for sceKernelLoadModuleById(),
sceKernelLoadModuleWithBlockOffset(), and sceKernelLoadModuleDNAS
- Updated documentation of ModuleMgrForKernel_2B7FC10D(),
sceKernelLoadModule(), sceKernelGetModuleIdList(),
sceKernelQueryModuleInfo(), sceKernelGetModuleId(),
sceKernelGetModuleIdByAddress(), and sceKernelGetModuleGPByAddress()
* src/modulemgr: Updated documentation: case when SCE_ERROR_KERNEL_ILLEGAL_ADDRESS is returned
Affects sceKernelLoadModuleWithBlockOffset() and
sceKernelLoadModuleByIDWithBlockOffset().
* src/modulemgr: sceKernelLoadModuleDNAS(): Forgot a word in documentation
* src/modulemgr: sceKernelLoadModuleDNAS(): Forgot quotation marks in documentation
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleNpDrm().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleMs().
* src/modulemgr/modulemgr.c: Added sceKernelSelfStopUnloadModule().
* src/modulemgr/modulemgr.c: Added sceKernelStopModule().
* src/modulemgr: sceKernelLoadModuleNpDrm(): Fixed a pointer issue
* include/common/memory.h: Added pspClearMemory*() functions. These functions should be used as an alternative to corresponding memset calls.
* src/modulemgr/modulemgr.c: Replaced the variable <modParams> clearing-for-loops with the pspClearMemory32() function.
* src/modulemgr: sceKernelLoadModuleNpDrm(): Added documentation
* src/modulemgr: Added sceKernelLoadModuleBufferUsbWlan()
* src/modulemgr: sceKernelLoadModuleBufferUsbWlan(): Fixed return type
* src/modulemgr: Added _LoadModuleByBufferID()
* src/modulemgr: Added _start_exe_thread()
* src/modulemgr: Added sub_00007620()
* src/modulemgr: Added sub_00007698()
* src/modulemgr: Rename sub_00007620() to _CheckOption()
* src/modulemgr: _CheckOption(): Fix return type
* src/modulemgr: Added _SelfStopUnloadModule()
* src/modulemgr/: Added loadModuleChecks_inline.h containing commonly used checks in loadModule() functions. The check functions introduced there should be used in loadModule() functions.
* src/modulemgr/modulemgr.c: Preparations for the use of _check functions().
* src/modulemgr/modulemgr.c: Removed _CheckOptions(). Its equivalent function is _checkLMOptionConditions() defined in loadModuleChecks_inline.h.
* src/modulemgr/modulemgr.c: loadModule _check() functions are now being used.
* src/modulemgr/loadModuleChecks_inline.h: Removed _setupChecks() and _terminateChecks().
* src/modulemgr/modulemgr.c: Fixed _SelfStopUnloadModule().
* src/modulemgr/modulemgr.c: Forgot to fix pointer errors in _SelfStopUnloadModule() in previous commit.
* src/modulemgr/modulemgr.c: Added _EpilogueModule().
* src/modulemgr: Added sub_000077F0()
* src/modulemgr: _EpilogueModule(): Replaced hardcoded size by sizeof()
* modulemgr: renamed sub_000077F0 to _StopUnloadSelfModuleWithStatus()
* src/modulemgr/modulemgr.c: Added _ModuleReleaseLibraries().
* src/modulemgr: Added _checkSMOptionConditions() and fixed small issues in _StopUnloadSelfModuleWithStatus().
* src/modulemgr/modulemgr.c: Added sceKernelStartModule().
* include/threadman_kernel: Added more thread attribute values.
* src/modulemgr/modulemgr.c: Added sceKernelRebootBeforeForUser().
* src/modulemgr/modulemgr.c: Added sceKernelRebootPhaseForKernel().
* src/modulemgr/modulemgr.c: Added sceKernelRebootBeforeForKernel().
* include/modulemgr_user.h: Added documentation for sceKernelLoadModuleMs().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForLoadExecVSHDisc().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForLoadExecVSHDiscUpdater().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForLoadExecVSHDiscDebug().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForLoadExecVSHDiscEmu().
* src/modulemgr/modulemgr.c: Added ModuleMgrForKernel_C2A5E6CA().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForLoadExecVSHMs1().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForLoadExecVSHMs2().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForLoadExecVSHMs3().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForLoadExecVSHMs4().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForLoadExecVSHMs5().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForLoadExecVSHMs6().
* src/modulemgr/modulemgr.c: Added ModuleMgrForKernel_8DD336D4().
* src/modulemgr: Simplified ModuleMgrRebootBefore(()
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForLoadExecNpDrm().
* src/modulemgr/modulemgr.c: Minor line indentation corrections.
* src/modulemgr/modulemgr.c: option-> pOpt name change in several functions.
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleVSH().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleVSHByID().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForKernel().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleByIDForKernel().
* src/modulemgr/modulemgr.c: Added more functions.
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleBufferForExitGame() and sceKernelLoadModuleBufferMs().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleBufferApp().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleBufferForLoadExecBufferVSHUsbWlan().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleBufferForLoadExecBufferVSHUsbWlanDebug().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleBufferVSH().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleBufferForExitVSHVSH().
* src/modulemgr/modulemgr.c: Added more functions.
* src/modulemgr/modulemgr.c: Added sceKernelUnloadModule().
* src/modulemgr/modulemgr.c: Added sceKernelSearchModuleByName().
* src/modulemgr/modulemgr.c: Added sceKernelSearchModuleByAddress().
* src/modulemgr/modulemgr.c: Added sceKernelSetNpDrmGetModuleKeyFunction().
* src/modulemgr/modulemgr.c: Added sceKernelNpDrmGetModuleKey().
* src/modulemgr/modulemgr.c: Added sceKernelModuleMgrMode().
* src/modulemgr/modulemgr.c: Added _StartModule().
* src/modulemgr/modulemgr.c: Added __StopModule().
* src/modulemgr/modulemgr.c: Added _PrologueModule().
* src/modulemgr/modulemgr.c: Added _ModuleRegisterLibraries().
* src/modulemgr/modulemgr.c: Fixed error in _ModuleReleaseLibraries().
* Moved NID_MODULE_* NIDs from src/loadcore/nid.h -> include/modulemgr_nids.h.
* src/modulemgr/modulemgr.c: Added _ProcessModuleExportEnt().
* include/loadcore.h: Renamed SceLoadCoreExecFileInfo.unk104 -> SceLoadCoreExecFileInfo.secureInstallId.
* include/sysmem_user.h: SceSysMemBlockType: Added more members.
* src/modulemgr/modulemgr.c: Added _LoadModule().
* src/modulemgr/modulemgr.c: Added _PartitionCheck().
* src/modulemgr/modulemgr.c: Added _CheckSkipPbpHeader().
* src/modulemgr/modulemgr.c: Fixes and reduced use of magic numbers
* src/modulemgr/modulemgr.c: Fixes and reduced use of magic numbers (2)
* src/modulemgr/modulemgr.c: Fixed mistake in sceKernelQueryModuleInfo().
* src/modulemgr/modulemgr.c: More small fixes and code cleanup.
* Modulemgr: Remove already reverse-engineered function
* src/modulemgr/modulemgr.c: Fixed a few compilation issues.
* src/modulemgr: Broke up modulemgr.c into several .c files.
* modulemgr: Reverse _CheckOverride()
- Move _CheckOverride() into a separate file
- Reverse _CheckOverride()
- Add the rules for overriding modules' file descriptors
* src/modulemgr/modulemgr.c: Fixed _CheckSkipPbpHeader.
* src/modulemgr/override.c: Fixed syntax errors.
* modulemgr: Fix more mistakes in override
* src/modulemgr: Added pbp.h ( .PBP header description).
* src/modulemgr/modulemgr.c: Added _RelocateModule().
* src/modulemgr/modulemgr.c: Fixed mistake in ModuleRegisterLibraries().
* include/sysmem_kernel.h: Updated prototype of sceKernelGetId().
* src/modulemgr/modulemgr.c: Added ModuleMgrForUser_CDE1C1FE().
* src/modulemgr/modulemgr.c: Added allocate_module_block().
* src/modulemgr/override.c: Fixed mistakes in _CheckOverride() and added more documentation about its purpose.
* modulemgr/rebootModule: Replace hexa with constant
* modulemgr/modulemgr: ModuleMgrForUser_CDE1C1FE(): s32 -> SceBool
* modulemgr: Fixes, re-writes, improved naming, added some documentation. It does not compile yet!
* modulemgr: Make it compilable.
* Removed include/modulemgr.h.
* src/modulemgr: Added missing Makefile.
* modulemgr: Updated its static libraries to reflect name changes of its exported functions.
* modulemgr: Made Loadcore and Loadexec compilable again. They were broken after changes have been made for modulemgr.
* modulemgr: Fixed a few mistakes.
* modulemgr: More fixes and updated some documentation.
* modulemgr: Added .PBP file layout and PARAM.SFO information.
* include/modulemgr_init.h: Added more SCE_EXEC_FILE_* members.
* include/common/errors.h: Added error-value format description.
* modulemgr: More fixes. Also added debug code for modulemgr (dbg.c). It will be removed before merging into 'master'.
* modulemgr: Added missing debug code.
* src/modulemgr: Fixed more errors.
* update .gitignore with version on master
* update .gitignore
* update .gitignore
* Module manager: Remove debug code
* Revert changes made to debug header.
* Add modulemgr to global makefile.
Co-authored-by: devnoname120 <devnoname120@gmail.com>
Co-authored-by: Felix-Dev <FelixDev91.gmail.com>
Co-authored-by: Kern Walster <wals0323@umn.edu>
Co-authored-by: Martin Charles <martincharles07@gmail.com>
Co-authored-by: devnoname120 <devnoname120+gh@gmail.com>
2021-01-02 15:30:44 +00:00
|
|
|
/* Copyright (C) 2011 - 2015 The uOFW team
|
2013-04-25 19:57:39 +00:00
|
|
|
See the file COPYING for copying permission.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef MODULEMGR_KERNEL_H
|
|
|
|
#define MODULEMGR_KERNEL_H
|
|
|
|
|
|
|
|
#include "common_header.h"
|
Add Module Manager (#69)
* src/modulemgr: sceKernelQueryModuleInfo(): Improved documentation
* src/modulemgr: Fixed various incorrect SDK versions
* src/modulemgr.c: sceKernelQueryModuleInfo(): Fixed two syntax errors.
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleWithBlockOffset().
* src/modulemgr/modulemgr.c: Fixed wrong handling of various sceIoIoctl() status values.
* src/modulemgr/modulemgr.c: Added missing sysmem_kernel.h include.
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleByIDWithBlockOffset().
* src/modulemgr/modulemgr.c: Fixed register K1 permission checks in various user-exported loadModule() functions.
* src/modulemgr/modulemgr.c: sceKernelLoadModuleForUser(): Fixed handling of parameter "opt" when being NULL.
* src/modulemgr/modulemgr.c: Fixed sdkVersion return codes in various LoadModule() functions.
* include/iofilemgr_kernel.h: Added back SCE_O_UNKNOWN0.
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleDNAS().
* src/modulemgr: Updated and added documentation
- Added documentation for sceKernelLoadModuleById(),
sceKernelLoadModuleWithBlockOffset(), and sceKernelLoadModuleDNAS
- Updated documentation of ModuleMgrForKernel_2B7FC10D(),
sceKernelLoadModule(), sceKernelGetModuleIdList(),
sceKernelQueryModuleInfo(), sceKernelGetModuleId(),
sceKernelGetModuleIdByAddress(), and sceKernelGetModuleGPByAddress()
* src/modulemgr: Updated documentation: case when SCE_ERROR_KERNEL_ILLEGAL_ADDRESS is returned
Affects sceKernelLoadModuleWithBlockOffset() and
sceKernelLoadModuleByIDWithBlockOffset().
* src/modulemgr: sceKernelLoadModuleDNAS(): Forgot a word in documentation
* src/modulemgr: sceKernelLoadModuleDNAS(): Forgot quotation marks in documentation
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleNpDrm().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleMs().
* src/modulemgr/modulemgr.c: Added sceKernelSelfStopUnloadModule().
* src/modulemgr/modulemgr.c: Added sceKernelStopModule().
* src/modulemgr: sceKernelLoadModuleNpDrm(): Fixed a pointer issue
* include/common/memory.h: Added pspClearMemory*() functions. These functions should be used as an alternative to corresponding memset calls.
* src/modulemgr/modulemgr.c: Replaced the variable <modParams> clearing-for-loops with the pspClearMemory32() function.
* src/modulemgr: sceKernelLoadModuleNpDrm(): Added documentation
* src/modulemgr: Added sceKernelLoadModuleBufferUsbWlan()
* src/modulemgr: sceKernelLoadModuleBufferUsbWlan(): Fixed return type
* src/modulemgr: Added _LoadModuleByBufferID()
* src/modulemgr: Added _start_exe_thread()
* src/modulemgr: Added sub_00007620()
* src/modulemgr: Added sub_00007698()
* src/modulemgr: Rename sub_00007620() to _CheckOption()
* src/modulemgr: _CheckOption(): Fix return type
* src/modulemgr: Added _SelfStopUnloadModule()
* src/modulemgr/: Added loadModuleChecks_inline.h containing commonly used checks in loadModule() functions. The check functions introduced there should be used in loadModule() functions.
* src/modulemgr/modulemgr.c: Preparations for the use of _check functions().
* src/modulemgr/modulemgr.c: Removed _CheckOptions(). Its equivalent function is _checkLMOptionConditions() defined in loadModuleChecks_inline.h.
* src/modulemgr/modulemgr.c: loadModule _check() functions are now being used.
* src/modulemgr/loadModuleChecks_inline.h: Removed _setupChecks() and _terminateChecks().
* src/modulemgr/modulemgr.c: Fixed _SelfStopUnloadModule().
* src/modulemgr/modulemgr.c: Forgot to fix pointer errors in _SelfStopUnloadModule() in previous commit.
* src/modulemgr/modulemgr.c: Added _EpilogueModule().
* src/modulemgr: Added sub_000077F0()
* src/modulemgr: _EpilogueModule(): Replaced hardcoded size by sizeof()
* modulemgr: renamed sub_000077F0 to _StopUnloadSelfModuleWithStatus()
* src/modulemgr/modulemgr.c: Added _ModuleReleaseLibraries().
* src/modulemgr: Added _checkSMOptionConditions() and fixed small issues in _StopUnloadSelfModuleWithStatus().
* src/modulemgr/modulemgr.c: Added sceKernelStartModule().
* include/threadman_kernel: Added more thread attribute values.
* src/modulemgr/modulemgr.c: Added sceKernelRebootBeforeForUser().
* src/modulemgr/modulemgr.c: Added sceKernelRebootPhaseForKernel().
* src/modulemgr/modulemgr.c: Added sceKernelRebootBeforeForKernel().
* include/modulemgr_user.h: Added documentation for sceKernelLoadModuleMs().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForLoadExecVSHDisc().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForLoadExecVSHDiscUpdater().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForLoadExecVSHDiscDebug().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForLoadExecVSHDiscEmu().
* src/modulemgr/modulemgr.c: Added ModuleMgrForKernel_C2A5E6CA().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForLoadExecVSHMs1().
* added current work from months ago
* src/modulemgr: Cleaned modulemgr directory and added first code.
* src/modulemgr: Finished ModuleMgrInit().
* src/modulemgr: ModuleMgrInit(): Added ChunkInit() call.
* src/modulemgr: Added _ModuleMgrRebootBefore().
* include/threadman_kernel.h: Added sceKernelSuspendThread().
* src\modulemgr\modulemgr.c: Added functions to reverse
* src/modulemgr: Fixed ModuleMgrRebootBefore prefix
ModuleMgrRebootBefore was prefixed with _ although it's not an internal
function
* src/modulmgr: Added ModuleMgrRebootPhase().
* src/modulemgr: Added exe_thread().
* src/modulemgr: Added_UnloadModule().
* src/modulemgr: Fixed a mistake in_UnloadModule().
* src/modulemgr: Added sceKernelGetModuleId().
* src/modulemgr: sceKernelGetModuleId(): Clarified variable name and type.
* src/modulemgr: sceKernelGetModuleId(): Changed return type (forgot it in last commit) for clarification reasons.
* src/modulemgr: sceKernelGetModuleId(): Fixed K1 register handling.
* include/iofilemgr_kernel.h: Added more sceIoOpen() flags.
* src/modulemgr: Added sceKernelGetModuleIdByAddress()
* src/modulemgr: Documentation for sceKernelGetModuleId()
* src/modulemgr: sceKernelGetModuleIdByAddress(): Fixed pspK1PtrOk() argument
* src/modulemgr: Added sceKernelGetModuleGPByAddress()
* src/modulemgr: Fixed missing const statement in arguments
* include/iofilemgr_kernel.h: Added sceKernelLoadModuleForLoadExecForUser().
* src/modulemgr.c: sceKernelGetModuleGPByAddress(): Added retVal declaration.
* src/modulemgr.c: sceKernelLoadModuleForLoadExecForUser(): Added back SCeUID fd declaration (it was eaten by some ghosts I guess).
* src/modulemgr: Added sceKernelGetModuleIdList()
* src/modulemgr: Added sceKernelLoadModule()
* src/modulemgr: sceKernelLoadModuleForLoadExecForUser(): Fixed pointer issues, added some comments
* src/modulemgr: sceKernelLoadModule(): Fixed missing structure field set
* src/modulemgr: sceKernelLoadModuleForLoadExecForUser() and sceKernelLoadModule(): Added documentation
* src/modulemgr: struct SceKernelLMOption: Added documentation
* src/modulemgr: sceKernelLoadModule(): Fixed return value
* src/modulemgr.c: Removed SceKernelLMOption declaration (it is already declared in include/modulemgr_options.h).
* include/modulemgr_options.h: Added back the doxygen documentation for SceKernelLMOption.
* src/modulemgr.c: Added sceKernelLoadModuleByID().
* src/modulemgr.c: sceKernelLoadModule(): Fixed ioctl command.
* src/modulemgr.c: Renamed sceKernelLoadModule() -> sceKernelLoadModuleForUser().
* src/modulemgr.c: sceKernelLoadModuleForUser(): Fixed ioctl command (another one).
* src/modulemgr: Added sceKernelQueryModuleInfo()
* src/modulemgr: sceKernelQueryModuleInfo(): Improved documentation
* src/modulemgr: Fixed various incorrect SDK versions
* src/modulemgr.c: sceKernelQueryModuleInfo(): Fixed two syntax errors.
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleWithBlockOffset().
* src/modulemgr/modulemgr.c: Fixed wrong handling of various sceIoIoctl() status values.
* src/modulemgr/modulemgr.c: Added missing sysmem_kernel.h include.
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleByIDWithBlockOffset().
* src/modulemgr/modulemgr.c: Fixed register K1 permission checks in various user-exported loadModule() functions.
* src/modulemgr/modulemgr.c: sceKernelLoadModuleForUser(): Fixed handling of parameter "opt" when being NULL.
* src/modulemgr/modulemgr.c: Fixed sdkVersion return codes in various LoadModule() functions.
* include/iofilemgr_kernel.h: Added back SCE_O_UNKNOWN0.
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleDNAS().
* src/modulemgr: Updated and added documentation
- Added documentation for sceKernelLoadModuleById(),
sceKernelLoadModuleWithBlockOffset(), and sceKernelLoadModuleDNAS
- Updated documentation of ModuleMgrForKernel_2B7FC10D(),
sceKernelLoadModule(), sceKernelGetModuleIdList(),
sceKernelQueryModuleInfo(), sceKernelGetModuleId(),
sceKernelGetModuleIdByAddress(), and sceKernelGetModuleGPByAddress()
* src/modulemgr: Updated documentation: case when SCE_ERROR_KERNEL_ILLEGAL_ADDRESS is returned
Affects sceKernelLoadModuleWithBlockOffset() and
sceKernelLoadModuleByIDWithBlockOffset().
* src/modulemgr: sceKernelLoadModuleDNAS(): Forgot a word in documentation
* src/modulemgr: sceKernelLoadModuleDNAS(): Forgot quotation marks in documentation
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleNpDrm().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleMs().
* src/modulemgr/modulemgr.c: Added sceKernelSelfStopUnloadModule().
* src/modulemgr/modulemgr.c: Added sceKernelStopModule().
* src/modulemgr: sceKernelLoadModuleNpDrm(): Fixed a pointer issue
* include/common/memory.h: Added pspClearMemory*() functions. These functions should be used as an alternative to corresponding memset calls.
* src/modulemgr/modulemgr.c: Replaced the variable <modParams> clearing-for-loops with the pspClearMemory32() function.
* src/modulemgr: sceKernelLoadModuleNpDrm(): Added documentation
* src/modulemgr: Added sceKernelLoadModuleBufferUsbWlan()
* src/modulemgr: sceKernelLoadModuleBufferUsbWlan(): Fixed return type
* src/modulemgr: Added _LoadModuleByBufferID()
* src/modulemgr: Added _start_exe_thread()
* src/modulemgr: Added sub_00007620()
* src/modulemgr: Added sub_00007698()
* src/modulemgr: Rename sub_00007620() to _CheckOption()
* src/modulemgr: _CheckOption(): Fix return type
* src/modulemgr: Added _SelfStopUnloadModule()
* src/modulemgr/: Added loadModuleChecks_inline.h containing commonly used checks in loadModule() functions. The check functions introduced there should be used in loadModule() functions.
* src/modulemgr/modulemgr.c: Preparations for the use of _check functions().
* src/modulemgr/modulemgr.c: Removed _CheckOptions(). Its equivalent function is _checkLMOptionConditions() defined in loadModuleChecks_inline.h.
* src/modulemgr/modulemgr.c: loadModule _check() functions are now being used.
* src/modulemgr/loadModuleChecks_inline.h: Removed _setupChecks() and _terminateChecks().
* src/modulemgr/modulemgr.c: Fixed _SelfStopUnloadModule().
* src/modulemgr/modulemgr.c: Forgot to fix pointer errors in _SelfStopUnloadModule() in previous commit.
* src/modulemgr/modulemgr.c: Added _EpilogueModule().
* src/modulemgr: Added sub_000077F0()
* src/modulemgr: _EpilogueModule(): Replaced hardcoded size by sizeof()
* modulemgr: renamed sub_000077F0 to _StopUnloadSelfModuleWithStatus()
* src/modulemgr/modulemgr.c: Added _ModuleReleaseLibraries().
* src/modulemgr: Added _checkSMOptionConditions() and fixed small issues in _StopUnloadSelfModuleWithStatus().
* src/modulemgr/modulemgr.c: Added sceKernelStartModule().
* include/threadman_kernel: Added more thread attribute values.
* src/modulemgr/modulemgr.c: Added sceKernelRebootBeforeForUser().
* src/modulemgr/modulemgr.c: Added sceKernelRebootPhaseForKernel().
* src/modulemgr/modulemgr.c: Added sceKernelRebootBeforeForKernel().
* include/modulemgr_user.h: Added documentation for sceKernelLoadModuleMs().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForLoadExecVSHDisc().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForLoadExecVSHDiscUpdater().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForLoadExecVSHDiscDebug().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForLoadExecVSHDiscEmu().
* src/modulemgr/modulemgr.c: Added ModuleMgrForKernel_C2A5E6CA().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForLoadExecVSHMs1().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForLoadExecVSHMs2().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForLoadExecVSHMs3().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForLoadExecVSHMs4().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForLoadExecVSHMs5().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForLoadExecVSHMs6().
* src/modulemgr/modulemgr.c: Added ModuleMgrForKernel_8DD336D4().
* src/modulemgr: Simplified ModuleMgrRebootBefore(()
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForLoadExecNpDrm().
* src/modulemgr/modulemgr.c: Minor line indentation corrections.
* src/modulemgr/modulemgr.c: option-> pOpt name change in several functions.
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleVSH().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleVSHByID().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForKernel().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleByIDForKernel().
* src/modulemgr/modulemgr.c: Added more functions.
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleBufferForExitGame() and sceKernelLoadModuleBufferMs().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleBufferApp().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleBufferForLoadExecBufferVSHUsbWlan().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleBufferForLoadExecBufferVSHUsbWlanDebug().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleBufferVSH().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleBufferForExitVSHVSH().
* src/modulemgr/modulemgr.c: Added more functions.
* src/modulemgr/modulemgr.c: Added sceKernelUnloadModule().
* src/modulemgr/modulemgr.c: Added sceKernelSearchModuleByName().
* src/modulemgr/modulemgr.c: Added sceKernelSearchModuleByAddress().
* src/modulemgr/modulemgr.c: Added sceKernelSetNpDrmGetModuleKeyFunction().
* src/modulemgr/modulemgr.c: Added sceKernelNpDrmGetModuleKey().
* src/modulemgr/modulemgr.c: Added sceKernelModuleMgrMode().
* src/modulemgr/modulemgr.c: Added _StartModule().
* src/modulemgr/modulemgr.c: Added __StopModule().
* src/modulemgr/modulemgr.c: Added _PrologueModule().
* src/modulemgr/modulemgr.c: Added _ModuleRegisterLibraries().
* src/modulemgr/modulemgr.c: Fixed error in _ModuleReleaseLibraries().
* Moved NID_MODULE_* NIDs from src/loadcore/nid.h -> include/modulemgr_nids.h.
* src/modulemgr/modulemgr.c: Added _ProcessModuleExportEnt().
* include/loadcore.h: Renamed SceLoadCoreExecFileInfo.unk104 -> SceLoadCoreExecFileInfo.secureInstallId.
* include/sysmem_user.h: SceSysMemBlockType: Added more members.
* src/modulemgr/modulemgr.c: Added _LoadModule().
* src/modulemgr/modulemgr.c: Added _PartitionCheck().
* src/modulemgr/modulemgr.c: Added _CheckSkipPbpHeader().
* src/modulemgr/modulemgr.c: Fixes and reduced use of magic numbers
* src/modulemgr/modulemgr.c: Fixes and reduced use of magic numbers (2)
* src/modulemgr/modulemgr.c: Fixed mistake in sceKernelQueryModuleInfo().
* src/modulemgr/modulemgr.c: More small fixes and code cleanup.
* Modulemgr: Remove already reverse-engineered function
* src/modulemgr/modulemgr.c: Fixed a few compilation issues.
* src/modulemgr: Broke up modulemgr.c into several .c files.
* modulemgr: Reverse _CheckOverride()
- Move _CheckOverride() into a separate file
- Reverse _CheckOverride()
- Add the rules for overriding modules' file descriptors
* src/modulemgr/modulemgr.c: Fixed _CheckSkipPbpHeader.
* src/modulemgr/override.c: Fixed syntax errors.
* modulemgr: Fix more mistakes in override
* src/modulemgr: Added pbp.h ( .PBP header description).
* src/modulemgr/modulemgr.c: Added _RelocateModule().
* src/modulemgr/modulemgr.c: Fixed mistake in ModuleRegisterLibraries().
* include/sysmem_kernel.h: Updated prototype of sceKernelGetId().
* src/modulemgr/modulemgr.c: Added ModuleMgrForUser_CDE1C1FE().
* src/modulemgr/modulemgr.c: Added allocate_module_block().
* src/modulemgr/override.c: Fixed mistakes in _CheckOverride() and added more documentation about its purpose.
* modulemgr/rebootModule: Replace hexa with constant
* modulemgr/modulemgr: ModuleMgrForUser_CDE1C1FE(): s32 -> SceBool
* modulemgr: Fixes, re-writes, improved naming, added some documentation. It does not compile yet!
* modulemgr: Make it compilable.
* Removed include/modulemgr.h.
* src/modulemgr: Added missing Makefile.
* modulemgr: Updated its static libraries to reflect name changes of its exported functions.
* modulemgr: Made Loadcore and Loadexec compilable again. They were broken after changes have been made for modulemgr.
* modulemgr: Fixed a few mistakes.
* modulemgr: More fixes and updated some documentation.
* modulemgr: Added .PBP file layout and PARAM.SFO information.
* include/modulemgr_init.h: Added more SCE_EXEC_FILE_* members.
* include/common/errors.h: Added error-value format description.
* modulemgr: More fixes. Also added debug code for modulemgr (dbg.c). It will be removed before merging into 'master'.
* modulemgr: Added missing debug code.
* src/modulemgr: Fixed more errors.
* update .gitignore with version on master
* update .gitignore
* update .gitignore
* Module manager: Remove debug code
* Revert changes made to debug header.
* Add modulemgr to global makefile.
Co-authored-by: devnoname120 <devnoname120@gmail.com>
Co-authored-by: Felix-Dev <FelixDev91.gmail.com>
Co-authored-by: Kern Walster <wals0323@umn.edu>
Co-authored-by: Martin Charles <martincharles07@gmail.com>
Co-authored-by: devnoname120 <devnoname120+gh@gmail.com>
2021-01-02 15:30:44 +00:00
|
|
|
#include "modulemgr_moduleInfo.h"
|
2013-04-25 19:57:39 +00:00
|
|
|
#include "modulemgr_options.h"
|
|
|
|
|
Add Module Manager (#69)
* src/modulemgr: sceKernelQueryModuleInfo(): Improved documentation
* src/modulemgr: Fixed various incorrect SDK versions
* src/modulemgr.c: sceKernelQueryModuleInfo(): Fixed two syntax errors.
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleWithBlockOffset().
* src/modulemgr/modulemgr.c: Fixed wrong handling of various sceIoIoctl() status values.
* src/modulemgr/modulemgr.c: Added missing sysmem_kernel.h include.
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleByIDWithBlockOffset().
* src/modulemgr/modulemgr.c: Fixed register K1 permission checks in various user-exported loadModule() functions.
* src/modulemgr/modulemgr.c: sceKernelLoadModuleForUser(): Fixed handling of parameter "opt" when being NULL.
* src/modulemgr/modulemgr.c: Fixed sdkVersion return codes in various LoadModule() functions.
* include/iofilemgr_kernel.h: Added back SCE_O_UNKNOWN0.
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleDNAS().
* src/modulemgr: Updated and added documentation
- Added documentation for sceKernelLoadModuleById(),
sceKernelLoadModuleWithBlockOffset(), and sceKernelLoadModuleDNAS
- Updated documentation of ModuleMgrForKernel_2B7FC10D(),
sceKernelLoadModule(), sceKernelGetModuleIdList(),
sceKernelQueryModuleInfo(), sceKernelGetModuleId(),
sceKernelGetModuleIdByAddress(), and sceKernelGetModuleGPByAddress()
* src/modulemgr: Updated documentation: case when SCE_ERROR_KERNEL_ILLEGAL_ADDRESS is returned
Affects sceKernelLoadModuleWithBlockOffset() and
sceKernelLoadModuleByIDWithBlockOffset().
* src/modulemgr: sceKernelLoadModuleDNAS(): Forgot a word in documentation
* src/modulemgr: sceKernelLoadModuleDNAS(): Forgot quotation marks in documentation
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleNpDrm().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleMs().
* src/modulemgr/modulemgr.c: Added sceKernelSelfStopUnloadModule().
* src/modulemgr/modulemgr.c: Added sceKernelStopModule().
* src/modulemgr: sceKernelLoadModuleNpDrm(): Fixed a pointer issue
* include/common/memory.h: Added pspClearMemory*() functions. These functions should be used as an alternative to corresponding memset calls.
* src/modulemgr/modulemgr.c: Replaced the variable <modParams> clearing-for-loops with the pspClearMemory32() function.
* src/modulemgr: sceKernelLoadModuleNpDrm(): Added documentation
* src/modulemgr: Added sceKernelLoadModuleBufferUsbWlan()
* src/modulemgr: sceKernelLoadModuleBufferUsbWlan(): Fixed return type
* src/modulemgr: Added _LoadModuleByBufferID()
* src/modulemgr: Added _start_exe_thread()
* src/modulemgr: Added sub_00007620()
* src/modulemgr: Added sub_00007698()
* src/modulemgr: Rename sub_00007620() to _CheckOption()
* src/modulemgr: _CheckOption(): Fix return type
* src/modulemgr: Added _SelfStopUnloadModule()
* src/modulemgr/: Added loadModuleChecks_inline.h containing commonly used checks in loadModule() functions. The check functions introduced there should be used in loadModule() functions.
* src/modulemgr/modulemgr.c: Preparations for the use of _check functions().
* src/modulemgr/modulemgr.c: Removed _CheckOptions(). Its equivalent function is _checkLMOptionConditions() defined in loadModuleChecks_inline.h.
* src/modulemgr/modulemgr.c: loadModule _check() functions are now being used.
* src/modulemgr/loadModuleChecks_inline.h: Removed _setupChecks() and _terminateChecks().
* src/modulemgr/modulemgr.c: Fixed _SelfStopUnloadModule().
* src/modulemgr/modulemgr.c: Forgot to fix pointer errors in _SelfStopUnloadModule() in previous commit.
* src/modulemgr/modulemgr.c: Added _EpilogueModule().
* src/modulemgr: Added sub_000077F0()
* src/modulemgr: _EpilogueModule(): Replaced hardcoded size by sizeof()
* modulemgr: renamed sub_000077F0 to _StopUnloadSelfModuleWithStatus()
* src/modulemgr/modulemgr.c: Added _ModuleReleaseLibraries().
* src/modulemgr: Added _checkSMOptionConditions() and fixed small issues in _StopUnloadSelfModuleWithStatus().
* src/modulemgr/modulemgr.c: Added sceKernelStartModule().
* include/threadman_kernel: Added more thread attribute values.
* src/modulemgr/modulemgr.c: Added sceKernelRebootBeforeForUser().
* src/modulemgr/modulemgr.c: Added sceKernelRebootPhaseForKernel().
* src/modulemgr/modulemgr.c: Added sceKernelRebootBeforeForKernel().
* include/modulemgr_user.h: Added documentation for sceKernelLoadModuleMs().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForLoadExecVSHDisc().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForLoadExecVSHDiscUpdater().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForLoadExecVSHDiscDebug().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForLoadExecVSHDiscEmu().
* src/modulemgr/modulemgr.c: Added ModuleMgrForKernel_C2A5E6CA().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForLoadExecVSHMs1().
* added current work from months ago
* src/modulemgr: Cleaned modulemgr directory and added first code.
* src/modulemgr: Finished ModuleMgrInit().
* src/modulemgr: ModuleMgrInit(): Added ChunkInit() call.
* src/modulemgr: Added _ModuleMgrRebootBefore().
* include/threadman_kernel.h: Added sceKernelSuspendThread().
* src\modulemgr\modulemgr.c: Added functions to reverse
* src/modulemgr: Fixed ModuleMgrRebootBefore prefix
ModuleMgrRebootBefore was prefixed with _ although it's not an internal
function
* src/modulmgr: Added ModuleMgrRebootPhase().
* src/modulemgr: Added exe_thread().
* src/modulemgr: Added_UnloadModule().
* src/modulemgr: Fixed a mistake in_UnloadModule().
* src/modulemgr: Added sceKernelGetModuleId().
* src/modulemgr: sceKernelGetModuleId(): Clarified variable name and type.
* src/modulemgr: sceKernelGetModuleId(): Changed return type (forgot it in last commit) for clarification reasons.
* src/modulemgr: sceKernelGetModuleId(): Fixed K1 register handling.
* include/iofilemgr_kernel.h: Added more sceIoOpen() flags.
* src/modulemgr: Added sceKernelGetModuleIdByAddress()
* src/modulemgr: Documentation for sceKernelGetModuleId()
* src/modulemgr: sceKernelGetModuleIdByAddress(): Fixed pspK1PtrOk() argument
* src/modulemgr: Added sceKernelGetModuleGPByAddress()
* src/modulemgr: Fixed missing const statement in arguments
* include/iofilemgr_kernel.h: Added sceKernelLoadModuleForLoadExecForUser().
* src/modulemgr.c: sceKernelGetModuleGPByAddress(): Added retVal declaration.
* src/modulemgr.c: sceKernelLoadModuleForLoadExecForUser(): Added back SCeUID fd declaration (it was eaten by some ghosts I guess).
* src/modulemgr: Added sceKernelGetModuleIdList()
* src/modulemgr: Added sceKernelLoadModule()
* src/modulemgr: sceKernelLoadModuleForLoadExecForUser(): Fixed pointer issues, added some comments
* src/modulemgr: sceKernelLoadModule(): Fixed missing structure field set
* src/modulemgr: sceKernelLoadModuleForLoadExecForUser() and sceKernelLoadModule(): Added documentation
* src/modulemgr: struct SceKernelLMOption: Added documentation
* src/modulemgr: sceKernelLoadModule(): Fixed return value
* src/modulemgr.c: Removed SceKernelLMOption declaration (it is already declared in include/modulemgr_options.h).
* include/modulemgr_options.h: Added back the doxygen documentation for SceKernelLMOption.
* src/modulemgr.c: Added sceKernelLoadModuleByID().
* src/modulemgr.c: sceKernelLoadModule(): Fixed ioctl command.
* src/modulemgr.c: Renamed sceKernelLoadModule() -> sceKernelLoadModuleForUser().
* src/modulemgr.c: sceKernelLoadModuleForUser(): Fixed ioctl command (another one).
* src/modulemgr: Added sceKernelQueryModuleInfo()
* src/modulemgr: sceKernelQueryModuleInfo(): Improved documentation
* src/modulemgr: Fixed various incorrect SDK versions
* src/modulemgr.c: sceKernelQueryModuleInfo(): Fixed two syntax errors.
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleWithBlockOffset().
* src/modulemgr/modulemgr.c: Fixed wrong handling of various sceIoIoctl() status values.
* src/modulemgr/modulemgr.c: Added missing sysmem_kernel.h include.
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleByIDWithBlockOffset().
* src/modulemgr/modulemgr.c: Fixed register K1 permission checks in various user-exported loadModule() functions.
* src/modulemgr/modulemgr.c: sceKernelLoadModuleForUser(): Fixed handling of parameter "opt" when being NULL.
* src/modulemgr/modulemgr.c: Fixed sdkVersion return codes in various LoadModule() functions.
* include/iofilemgr_kernel.h: Added back SCE_O_UNKNOWN0.
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleDNAS().
* src/modulemgr: Updated and added documentation
- Added documentation for sceKernelLoadModuleById(),
sceKernelLoadModuleWithBlockOffset(), and sceKernelLoadModuleDNAS
- Updated documentation of ModuleMgrForKernel_2B7FC10D(),
sceKernelLoadModule(), sceKernelGetModuleIdList(),
sceKernelQueryModuleInfo(), sceKernelGetModuleId(),
sceKernelGetModuleIdByAddress(), and sceKernelGetModuleGPByAddress()
* src/modulemgr: Updated documentation: case when SCE_ERROR_KERNEL_ILLEGAL_ADDRESS is returned
Affects sceKernelLoadModuleWithBlockOffset() and
sceKernelLoadModuleByIDWithBlockOffset().
* src/modulemgr: sceKernelLoadModuleDNAS(): Forgot a word in documentation
* src/modulemgr: sceKernelLoadModuleDNAS(): Forgot quotation marks in documentation
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleNpDrm().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleMs().
* src/modulemgr/modulemgr.c: Added sceKernelSelfStopUnloadModule().
* src/modulemgr/modulemgr.c: Added sceKernelStopModule().
* src/modulemgr: sceKernelLoadModuleNpDrm(): Fixed a pointer issue
* include/common/memory.h: Added pspClearMemory*() functions. These functions should be used as an alternative to corresponding memset calls.
* src/modulemgr/modulemgr.c: Replaced the variable <modParams> clearing-for-loops with the pspClearMemory32() function.
* src/modulemgr: sceKernelLoadModuleNpDrm(): Added documentation
* src/modulemgr: Added sceKernelLoadModuleBufferUsbWlan()
* src/modulemgr: sceKernelLoadModuleBufferUsbWlan(): Fixed return type
* src/modulemgr: Added _LoadModuleByBufferID()
* src/modulemgr: Added _start_exe_thread()
* src/modulemgr: Added sub_00007620()
* src/modulemgr: Added sub_00007698()
* src/modulemgr: Rename sub_00007620() to _CheckOption()
* src/modulemgr: _CheckOption(): Fix return type
* src/modulemgr: Added _SelfStopUnloadModule()
* src/modulemgr/: Added loadModuleChecks_inline.h containing commonly used checks in loadModule() functions. The check functions introduced there should be used in loadModule() functions.
* src/modulemgr/modulemgr.c: Preparations for the use of _check functions().
* src/modulemgr/modulemgr.c: Removed _CheckOptions(). Its equivalent function is _checkLMOptionConditions() defined in loadModuleChecks_inline.h.
* src/modulemgr/modulemgr.c: loadModule _check() functions are now being used.
* src/modulemgr/loadModuleChecks_inline.h: Removed _setupChecks() and _terminateChecks().
* src/modulemgr/modulemgr.c: Fixed _SelfStopUnloadModule().
* src/modulemgr/modulemgr.c: Forgot to fix pointer errors in _SelfStopUnloadModule() in previous commit.
* src/modulemgr/modulemgr.c: Added _EpilogueModule().
* src/modulemgr: Added sub_000077F0()
* src/modulemgr: _EpilogueModule(): Replaced hardcoded size by sizeof()
* modulemgr: renamed sub_000077F0 to _StopUnloadSelfModuleWithStatus()
* src/modulemgr/modulemgr.c: Added _ModuleReleaseLibraries().
* src/modulemgr: Added _checkSMOptionConditions() and fixed small issues in _StopUnloadSelfModuleWithStatus().
* src/modulemgr/modulemgr.c: Added sceKernelStartModule().
* include/threadman_kernel: Added more thread attribute values.
* src/modulemgr/modulemgr.c: Added sceKernelRebootBeforeForUser().
* src/modulemgr/modulemgr.c: Added sceKernelRebootPhaseForKernel().
* src/modulemgr/modulemgr.c: Added sceKernelRebootBeforeForKernel().
* include/modulemgr_user.h: Added documentation for sceKernelLoadModuleMs().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForLoadExecVSHDisc().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForLoadExecVSHDiscUpdater().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForLoadExecVSHDiscDebug().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForLoadExecVSHDiscEmu().
* src/modulemgr/modulemgr.c: Added ModuleMgrForKernel_C2A5E6CA().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForLoadExecVSHMs1().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForLoadExecVSHMs2().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForLoadExecVSHMs3().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForLoadExecVSHMs4().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForLoadExecVSHMs5().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForLoadExecVSHMs6().
* src/modulemgr/modulemgr.c: Added ModuleMgrForKernel_8DD336D4().
* src/modulemgr: Simplified ModuleMgrRebootBefore(()
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForLoadExecNpDrm().
* src/modulemgr/modulemgr.c: Minor line indentation corrections.
* src/modulemgr/modulemgr.c: option-> pOpt name change in several functions.
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleVSH().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleVSHByID().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForKernel().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleByIDForKernel().
* src/modulemgr/modulemgr.c: Added more functions.
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleBufferForExitGame() and sceKernelLoadModuleBufferMs().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleBufferApp().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleBufferForLoadExecBufferVSHUsbWlan().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleBufferForLoadExecBufferVSHUsbWlanDebug().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleBufferVSH().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleBufferForExitVSHVSH().
* src/modulemgr/modulemgr.c: Added more functions.
* src/modulemgr/modulemgr.c: Added sceKernelUnloadModule().
* src/modulemgr/modulemgr.c: Added sceKernelSearchModuleByName().
* src/modulemgr/modulemgr.c: Added sceKernelSearchModuleByAddress().
* src/modulemgr/modulemgr.c: Added sceKernelSetNpDrmGetModuleKeyFunction().
* src/modulemgr/modulemgr.c: Added sceKernelNpDrmGetModuleKey().
* src/modulemgr/modulemgr.c: Added sceKernelModuleMgrMode().
* src/modulemgr/modulemgr.c: Added _StartModule().
* src/modulemgr/modulemgr.c: Added __StopModule().
* src/modulemgr/modulemgr.c: Added _PrologueModule().
* src/modulemgr/modulemgr.c: Added _ModuleRegisterLibraries().
* src/modulemgr/modulemgr.c: Fixed error in _ModuleReleaseLibraries().
* Moved NID_MODULE_* NIDs from src/loadcore/nid.h -> include/modulemgr_nids.h.
* src/modulemgr/modulemgr.c: Added _ProcessModuleExportEnt().
* include/loadcore.h: Renamed SceLoadCoreExecFileInfo.unk104 -> SceLoadCoreExecFileInfo.secureInstallId.
* include/sysmem_user.h: SceSysMemBlockType: Added more members.
* src/modulemgr/modulemgr.c: Added _LoadModule().
* src/modulemgr/modulemgr.c: Added _PartitionCheck().
* src/modulemgr/modulemgr.c: Added _CheckSkipPbpHeader().
* src/modulemgr/modulemgr.c: Fixes and reduced use of magic numbers
* src/modulemgr/modulemgr.c: Fixes and reduced use of magic numbers (2)
* src/modulemgr/modulemgr.c: Fixed mistake in sceKernelQueryModuleInfo().
* src/modulemgr/modulemgr.c: More small fixes and code cleanup.
* Modulemgr: Remove already reverse-engineered function
* src/modulemgr/modulemgr.c: Fixed a few compilation issues.
* src/modulemgr: Broke up modulemgr.c into several .c files.
* modulemgr: Reverse _CheckOverride()
- Move _CheckOverride() into a separate file
- Reverse _CheckOverride()
- Add the rules for overriding modules' file descriptors
* src/modulemgr/modulemgr.c: Fixed _CheckSkipPbpHeader.
* src/modulemgr/override.c: Fixed syntax errors.
* modulemgr: Fix more mistakes in override
* src/modulemgr: Added pbp.h ( .PBP header description).
* src/modulemgr/modulemgr.c: Added _RelocateModule().
* src/modulemgr/modulemgr.c: Fixed mistake in ModuleRegisterLibraries().
* include/sysmem_kernel.h: Updated prototype of sceKernelGetId().
* src/modulemgr/modulemgr.c: Added ModuleMgrForUser_CDE1C1FE().
* src/modulemgr/modulemgr.c: Added allocate_module_block().
* src/modulemgr/override.c: Fixed mistakes in _CheckOverride() and added more documentation about its purpose.
* modulemgr/rebootModule: Replace hexa with constant
* modulemgr/modulemgr: ModuleMgrForUser_CDE1C1FE(): s32 -> SceBool
* modulemgr: Fixes, re-writes, improved naming, added some documentation. It does not compile yet!
* modulemgr: Make it compilable.
* Removed include/modulemgr.h.
* src/modulemgr: Added missing Makefile.
* modulemgr: Updated its static libraries to reflect name changes of its exported functions.
* modulemgr: Made Loadcore and Loadexec compilable again. They were broken after changes have been made for modulemgr.
* modulemgr: Fixed a few mistakes.
* modulemgr: More fixes and updated some documentation.
* modulemgr: Added .PBP file layout and PARAM.SFO information.
* include/modulemgr_init.h: Added more SCE_EXEC_FILE_* members.
* include/common/errors.h: Added error-value format description.
* modulemgr: More fixes. Also added debug code for modulemgr (dbg.c). It will be removed before merging into 'master'.
* modulemgr: Added missing debug code.
* src/modulemgr: Fixed more errors.
* update .gitignore with version on master
* update .gitignore
* update .gitignore
* Module manager: Remove debug code
* Revert changes made to debug header.
* Add modulemgr to global makefile.
Co-authored-by: devnoname120 <devnoname120@gmail.com>
Co-authored-by: Felix-Dev <FelixDev91.gmail.com>
Co-authored-by: Kern Walster <wals0323@umn.edu>
Co-authored-by: Martin Charles <martincharles07@gmail.com>
Co-authored-by: devnoname120 <devnoname120+gh@gmail.com>
2021-01-02 15:30:44 +00:00
|
|
|
#define SCE_SECURE_INSTALL_ID_LEN (16)
|
|
|
|
#define SCE_NPDRM_LICENSEE_KEY_LEN (16)
|
|
|
|
|
2013-04-27 13:35:05 +00:00
|
|
|
typedef struct {
|
|
|
|
SceSize size; //0
|
|
|
|
s32 unk4; //4
|
|
|
|
SceOff fileOffset; //8
|
Add Module Manager (#69)
* src/modulemgr: sceKernelQueryModuleInfo(): Improved documentation
* src/modulemgr: Fixed various incorrect SDK versions
* src/modulemgr.c: sceKernelQueryModuleInfo(): Fixed two syntax errors.
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleWithBlockOffset().
* src/modulemgr/modulemgr.c: Fixed wrong handling of various sceIoIoctl() status values.
* src/modulemgr/modulemgr.c: Added missing sysmem_kernel.h include.
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleByIDWithBlockOffset().
* src/modulemgr/modulemgr.c: Fixed register K1 permission checks in various user-exported loadModule() functions.
* src/modulemgr/modulemgr.c: sceKernelLoadModuleForUser(): Fixed handling of parameter "opt" when being NULL.
* src/modulemgr/modulemgr.c: Fixed sdkVersion return codes in various LoadModule() functions.
* include/iofilemgr_kernel.h: Added back SCE_O_UNKNOWN0.
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleDNAS().
* src/modulemgr: Updated and added documentation
- Added documentation for sceKernelLoadModuleById(),
sceKernelLoadModuleWithBlockOffset(), and sceKernelLoadModuleDNAS
- Updated documentation of ModuleMgrForKernel_2B7FC10D(),
sceKernelLoadModule(), sceKernelGetModuleIdList(),
sceKernelQueryModuleInfo(), sceKernelGetModuleId(),
sceKernelGetModuleIdByAddress(), and sceKernelGetModuleGPByAddress()
* src/modulemgr: Updated documentation: case when SCE_ERROR_KERNEL_ILLEGAL_ADDRESS is returned
Affects sceKernelLoadModuleWithBlockOffset() and
sceKernelLoadModuleByIDWithBlockOffset().
* src/modulemgr: sceKernelLoadModuleDNAS(): Forgot a word in documentation
* src/modulemgr: sceKernelLoadModuleDNAS(): Forgot quotation marks in documentation
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleNpDrm().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleMs().
* src/modulemgr/modulemgr.c: Added sceKernelSelfStopUnloadModule().
* src/modulemgr/modulemgr.c: Added sceKernelStopModule().
* src/modulemgr: sceKernelLoadModuleNpDrm(): Fixed a pointer issue
* include/common/memory.h: Added pspClearMemory*() functions. These functions should be used as an alternative to corresponding memset calls.
* src/modulemgr/modulemgr.c: Replaced the variable <modParams> clearing-for-loops with the pspClearMemory32() function.
* src/modulemgr: sceKernelLoadModuleNpDrm(): Added documentation
* src/modulemgr: Added sceKernelLoadModuleBufferUsbWlan()
* src/modulemgr: sceKernelLoadModuleBufferUsbWlan(): Fixed return type
* src/modulemgr: Added _LoadModuleByBufferID()
* src/modulemgr: Added _start_exe_thread()
* src/modulemgr: Added sub_00007620()
* src/modulemgr: Added sub_00007698()
* src/modulemgr: Rename sub_00007620() to _CheckOption()
* src/modulemgr: _CheckOption(): Fix return type
* src/modulemgr: Added _SelfStopUnloadModule()
* src/modulemgr/: Added loadModuleChecks_inline.h containing commonly used checks in loadModule() functions. The check functions introduced there should be used in loadModule() functions.
* src/modulemgr/modulemgr.c: Preparations for the use of _check functions().
* src/modulemgr/modulemgr.c: Removed _CheckOptions(). Its equivalent function is _checkLMOptionConditions() defined in loadModuleChecks_inline.h.
* src/modulemgr/modulemgr.c: loadModule _check() functions are now being used.
* src/modulemgr/loadModuleChecks_inline.h: Removed _setupChecks() and _terminateChecks().
* src/modulemgr/modulemgr.c: Fixed _SelfStopUnloadModule().
* src/modulemgr/modulemgr.c: Forgot to fix pointer errors in _SelfStopUnloadModule() in previous commit.
* src/modulemgr/modulemgr.c: Added _EpilogueModule().
* src/modulemgr: Added sub_000077F0()
* src/modulemgr: _EpilogueModule(): Replaced hardcoded size by sizeof()
* modulemgr: renamed sub_000077F0 to _StopUnloadSelfModuleWithStatus()
* src/modulemgr/modulemgr.c: Added _ModuleReleaseLibraries().
* src/modulemgr: Added _checkSMOptionConditions() and fixed small issues in _StopUnloadSelfModuleWithStatus().
* src/modulemgr/modulemgr.c: Added sceKernelStartModule().
* include/threadman_kernel: Added more thread attribute values.
* src/modulemgr/modulemgr.c: Added sceKernelRebootBeforeForUser().
* src/modulemgr/modulemgr.c: Added sceKernelRebootPhaseForKernel().
* src/modulemgr/modulemgr.c: Added sceKernelRebootBeforeForKernel().
* include/modulemgr_user.h: Added documentation for sceKernelLoadModuleMs().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForLoadExecVSHDisc().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForLoadExecVSHDiscUpdater().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForLoadExecVSHDiscDebug().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForLoadExecVSHDiscEmu().
* src/modulemgr/modulemgr.c: Added ModuleMgrForKernel_C2A5E6CA().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForLoadExecVSHMs1().
* added current work from months ago
* src/modulemgr: Cleaned modulemgr directory and added first code.
* src/modulemgr: Finished ModuleMgrInit().
* src/modulemgr: ModuleMgrInit(): Added ChunkInit() call.
* src/modulemgr: Added _ModuleMgrRebootBefore().
* include/threadman_kernel.h: Added sceKernelSuspendThread().
* src\modulemgr\modulemgr.c: Added functions to reverse
* src/modulemgr: Fixed ModuleMgrRebootBefore prefix
ModuleMgrRebootBefore was prefixed with _ although it's not an internal
function
* src/modulmgr: Added ModuleMgrRebootPhase().
* src/modulemgr: Added exe_thread().
* src/modulemgr: Added_UnloadModule().
* src/modulemgr: Fixed a mistake in_UnloadModule().
* src/modulemgr: Added sceKernelGetModuleId().
* src/modulemgr: sceKernelGetModuleId(): Clarified variable name and type.
* src/modulemgr: sceKernelGetModuleId(): Changed return type (forgot it in last commit) for clarification reasons.
* src/modulemgr: sceKernelGetModuleId(): Fixed K1 register handling.
* include/iofilemgr_kernel.h: Added more sceIoOpen() flags.
* src/modulemgr: Added sceKernelGetModuleIdByAddress()
* src/modulemgr: Documentation for sceKernelGetModuleId()
* src/modulemgr: sceKernelGetModuleIdByAddress(): Fixed pspK1PtrOk() argument
* src/modulemgr: Added sceKernelGetModuleGPByAddress()
* src/modulemgr: Fixed missing const statement in arguments
* include/iofilemgr_kernel.h: Added sceKernelLoadModuleForLoadExecForUser().
* src/modulemgr.c: sceKernelGetModuleGPByAddress(): Added retVal declaration.
* src/modulemgr.c: sceKernelLoadModuleForLoadExecForUser(): Added back SCeUID fd declaration (it was eaten by some ghosts I guess).
* src/modulemgr: Added sceKernelGetModuleIdList()
* src/modulemgr: Added sceKernelLoadModule()
* src/modulemgr: sceKernelLoadModuleForLoadExecForUser(): Fixed pointer issues, added some comments
* src/modulemgr: sceKernelLoadModule(): Fixed missing structure field set
* src/modulemgr: sceKernelLoadModuleForLoadExecForUser() and sceKernelLoadModule(): Added documentation
* src/modulemgr: struct SceKernelLMOption: Added documentation
* src/modulemgr: sceKernelLoadModule(): Fixed return value
* src/modulemgr.c: Removed SceKernelLMOption declaration (it is already declared in include/modulemgr_options.h).
* include/modulemgr_options.h: Added back the doxygen documentation for SceKernelLMOption.
* src/modulemgr.c: Added sceKernelLoadModuleByID().
* src/modulemgr.c: sceKernelLoadModule(): Fixed ioctl command.
* src/modulemgr.c: Renamed sceKernelLoadModule() -> sceKernelLoadModuleForUser().
* src/modulemgr.c: sceKernelLoadModuleForUser(): Fixed ioctl command (another one).
* src/modulemgr: Added sceKernelQueryModuleInfo()
* src/modulemgr: sceKernelQueryModuleInfo(): Improved documentation
* src/modulemgr: Fixed various incorrect SDK versions
* src/modulemgr.c: sceKernelQueryModuleInfo(): Fixed two syntax errors.
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleWithBlockOffset().
* src/modulemgr/modulemgr.c: Fixed wrong handling of various sceIoIoctl() status values.
* src/modulemgr/modulemgr.c: Added missing sysmem_kernel.h include.
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleByIDWithBlockOffset().
* src/modulemgr/modulemgr.c: Fixed register K1 permission checks in various user-exported loadModule() functions.
* src/modulemgr/modulemgr.c: sceKernelLoadModuleForUser(): Fixed handling of parameter "opt" when being NULL.
* src/modulemgr/modulemgr.c: Fixed sdkVersion return codes in various LoadModule() functions.
* include/iofilemgr_kernel.h: Added back SCE_O_UNKNOWN0.
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleDNAS().
* src/modulemgr: Updated and added documentation
- Added documentation for sceKernelLoadModuleById(),
sceKernelLoadModuleWithBlockOffset(), and sceKernelLoadModuleDNAS
- Updated documentation of ModuleMgrForKernel_2B7FC10D(),
sceKernelLoadModule(), sceKernelGetModuleIdList(),
sceKernelQueryModuleInfo(), sceKernelGetModuleId(),
sceKernelGetModuleIdByAddress(), and sceKernelGetModuleGPByAddress()
* src/modulemgr: Updated documentation: case when SCE_ERROR_KERNEL_ILLEGAL_ADDRESS is returned
Affects sceKernelLoadModuleWithBlockOffset() and
sceKernelLoadModuleByIDWithBlockOffset().
* src/modulemgr: sceKernelLoadModuleDNAS(): Forgot a word in documentation
* src/modulemgr: sceKernelLoadModuleDNAS(): Forgot quotation marks in documentation
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleNpDrm().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleMs().
* src/modulemgr/modulemgr.c: Added sceKernelSelfStopUnloadModule().
* src/modulemgr/modulemgr.c: Added sceKernelStopModule().
* src/modulemgr: sceKernelLoadModuleNpDrm(): Fixed a pointer issue
* include/common/memory.h: Added pspClearMemory*() functions. These functions should be used as an alternative to corresponding memset calls.
* src/modulemgr/modulemgr.c: Replaced the variable <modParams> clearing-for-loops with the pspClearMemory32() function.
* src/modulemgr: sceKernelLoadModuleNpDrm(): Added documentation
* src/modulemgr: Added sceKernelLoadModuleBufferUsbWlan()
* src/modulemgr: sceKernelLoadModuleBufferUsbWlan(): Fixed return type
* src/modulemgr: Added _LoadModuleByBufferID()
* src/modulemgr: Added _start_exe_thread()
* src/modulemgr: Added sub_00007620()
* src/modulemgr: Added sub_00007698()
* src/modulemgr: Rename sub_00007620() to _CheckOption()
* src/modulemgr: _CheckOption(): Fix return type
* src/modulemgr: Added _SelfStopUnloadModule()
* src/modulemgr/: Added loadModuleChecks_inline.h containing commonly used checks in loadModule() functions. The check functions introduced there should be used in loadModule() functions.
* src/modulemgr/modulemgr.c: Preparations for the use of _check functions().
* src/modulemgr/modulemgr.c: Removed _CheckOptions(). Its equivalent function is _checkLMOptionConditions() defined in loadModuleChecks_inline.h.
* src/modulemgr/modulemgr.c: loadModule _check() functions are now being used.
* src/modulemgr/loadModuleChecks_inline.h: Removed _setupChecks() and _terminateChecks().
* src/modulemgr/modulemgr.c: Fixed _SelfStopUnloadModule().
* src/modulemgr/modulemgr.c: Forgot to fix pointer errors in _SelfStopUnloadModule() in previous commit.
* src/modulemgr/modulemgr.c: Added _EpilogueModule().
* src/modulemgr: Added sub_000077F0()
* src/modulemgr: _EpilogueModule(): Replaced hardcoded size by sizeof()
* modulemgr: renamed sub_000077F0 to _StopUnloadSelfModuleWithStatus()
* src/modulemgr/modulemgr.c: Added _ModuleReleaseLibraries().
* src/modulemgr: Added _checkSMOptionConditions() and fixed small issues in _StopUnloadSelfModuleWithStatus().
* src/modulemgr/modulemgr.c: Added sceKernelStartModule().
* include/threadman_kernel: Added more thread attribute values.
* src/modulemgr/modulemgr.c: Added sceKernelRebootBeforeForUser().
* src/modulemgr/modulemgr.c: Added sceKernelRebootPhaseForKernel().
* src/modulemgr/modulemgr.c: Added sceKernelRebootBeforeForKernel().
* include/modulemgr_user.h: Added documentation for sceKernelLoadModuleMs().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForLoadExecVSHDisc().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForLoadExecVSHDiscUpdater().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForLoadExecVSHDiscDebug().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForLoadExecVSHDiscEmu().
* src/modulemgr/modulemgr.c: Added ModuleMgrForKernel_C2A5E6CA().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForLoadExecVSHMs1().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForLoadExecVSHMs2().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForLoadExecVSHMs3().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForLoadExecVSHMs4().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForLoadExecVSHMs5().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForLoadExecVSHMs6().
* src/modulemgr/modulemgr.c: Added ModuleMgrForKernel_8DD336D4().
* src/modulemgr: Simplified ModuleMgrRebootBefore(()
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForLoadExecNpDrm().
* src/modulemgr/modulemgr.c: Minor line indentation corrections.
* src/modulemgr/modulemgr.c: option-> pOpt name change in several functions.
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleVSH().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleVSHByID().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForKernel().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleByIDForKernel().
* src/modulemgr/modulemgr.c: Added more functions.
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleBufferForExitGame() and sceKernelLoadModuleBufferMs().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleBufferApp().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleBufferForLoadExecBufferVSHUsbWlan().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleBufferForLoadExecBufferVSHUsbWlanDebug().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleBufferVSH().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleBufferForExitVSHVSH().
* src/modulemgr/modulemgr.c: Added more functions.
* src/modulemgr/modulemgr.c: Added sceKernelUnloadModule().
* src/modulemgr/modulemgr.c: Added sceKernelSearchModuleByName().
* src/modulemgr/modulemgr.c: Added sceKernelSearchModuleByAddress().
* src/modulemgr/modulemgr.c: Added sceKernelSetNpDrmGetModuleKeyFunction().
* src/modulemgr/modulemgr.c: Added sceKernelNpDrmGetModuleKey().
* src/modulemgr/modulemgr.c: Added sceKernelModuleMgrMode().
* src/modulemgr/modulemgr.c: Added _StartModule().
* src/modulemgr/modulemgr.c: Added __StopModule().
* src/modulemgr/modulemgr.c: Added _PrologueModule().
* src/modulemgr/modulemgr.c: Added _ModuleRegisterLibraries().
* src/modulemgr/modulemgr.c: Fixed error in _ModuleReleaseLibraries().
* Moved NID_MODULE_* NIDs from src/loadcore/nid.h -> include/modulemgr_nids.h.
* src/modulemgr/modulemgr.c: Added _ProcessModuleExportEnt().
* include/loadcore.h: Renamed SceLoadCoreExecFileInfo.unk104 -> SceLoadCoreExecFileInfo.secureInstallId.
* include/sysmem_user.h: SceSysMemBlockType: Added more members.
* src/modulemgr/modulemgr.c: Added _LoadModule().
* src/modulemgr/modulemgr.c: Added _PartitionCheck().
* src/modulemgr/modulemgr.c: Added _CheckSkipPbpHeader().
* src/modulemgr/modulemgr.c: Fixes and reduced use of magic numbers
* src/modulemgr/modulemgr.c: Fixes and reduced use of magic numbers (2)
* src/modulemgr/modulemgr.c: Fixed mistake in sceKernelQueryModuleInfo().
* src/modulemgr/modulemgr.c: More small fixes and code cleanup.
* Modulemgr: Remove already reverse-engineered function
* src/modulemgr/modulemgr.c: Fixed a few compilation issues.
* src/modulemgr: Broke up modulemgr.c into several .c files.
* modulemgr: Reverse _CheckOverride()
- Move _CheckOverride() into a separate file
- Reverse _CheckOverride()
- Add the rules for overriding modules' file descriptors
* src/modulemgr/modulemgr.c: Fixed _CheckSkipPbpHeader.
* src/modulemgr/override.c: Fixed syntax errors.
* modulemgr: Fix more mistakes in override
* src/modulemgr: Added pbp.h ( .PBP header description).
* src/modulemgr/modulemgr.c: Added _RelocateModule().
* src/modulemgr/modulemgr.c: Fixed mistake in ModuleRegisterLibraries().
* include/sysmem_kernel.h: Updated prototype of sceKernelGetId().
* src/modulemgr/modulemgr.c: Added ModuleMgrForUser_CDE1C1FE().
* src/modulemgr/modulemgr.c: Added allocate_module_block().
* src/modulemgr/override.c: Fixed mistakes in _CheckOverride() and added more documentation about its purpose.
* modulemgr/rebootModule: Replace hexa with constant
* modulemgr/modulemgr: ModuleMgrForUser_CDE1C1FE(): s32 -> SceBool
* modulemgr: Fixes, re-writes, improved naming, added some documentation. It does not compile yet!
* modulemgr: Make it compilable.
* Removed include/modulemgr.h.
* src/modulemgr: Added missing Makefile.
* modulemgr: Updated its static libraries to reflect name changes of its exported functions.
* modulemgr: Made Loadcore and Loadexec compilable again. They were broken after changes have been made for modulemgr.
* modulemgr: Fixed a few mistakes.
* modulemgr: More fixes and updated some documentation.
* modulemgr: Added .PBP file layout and PARAM.SFO information.
* include/modulemgr_init.h: Added more SCE_EXEC_FILE_* members.
* include/common/errors.h: Added error-value format description.
* modulemgr: More fixes. Also added debug code for modulemgr (dbg.c). It will be removed before merging into 'master'.
* modulemgr: Added missing debug code.
* src/modulemgr: Fixed more errors.
* update .gitignore with version on master
* update .gitignore
* update .gitignore
* Module manager: Remove debug code
* Revert changes made to debug header.
* Add modulemgr to global makefile.
Co-authored-by: devnoname120 <devnoname120@gmail.com>
Co-authored-by: Felix-Dev <FelixDev91.gmail.com>
Co-authored-by: Kern Walster <wals0323@umn.edu>
Co-authored-by: Martin Charles <martincharles07@gmail.com>
Co-authored-by: devnoname120 <devnoname120+gh@gmail.com>
2021-01-02 15:30:44 +00:00
|
|
|
u8 keyData[SCE_NPDRM_LICENSEE_KEY_LEN]; //16 -- TODO: Confirm
|
2013-04-27 13:35:05 +00:00
|
|
|
} SceNpDrm;
|
|
|
|
|
Add Module Manager (#69)
* src/modulemgr: sceKernelQueryModuleInfo(): Improved documentation
* src/modulemgr: Fixed various incorrect SDK versions
* src/modulemgr.c: sceKernelQueryModuleInfo(): Fixed two syntax errors.
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleWithBlockOffset().
* src/modulemgr/modulemgr.c: Fixed wrong handling of various sceIoIoctl() status values.
* src/modulemgr/modulemgr.c: Added missing sysmem_kernel.h include.
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleByIDWithBlockOffset().
* src/modulemgr/modulemgr.c: Fixed register K1 permission checks in various user-exported loadModule() functions.
* src/modulemgr/modulemgr.c: sceKernelLoadModuleForUser(): Fixed handling of parameter "opt" when being NULL.
* src/modulemgr/modulemgr.c: Fixed sdkVersion return codes in various LoadModule() functions.
* include/iofilemgr_kernel.h: Added back SCE_O_UNKNOWN0.
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleDNAS().
* src/modulemgr: Updated and added documentation
- Added documentation for sceKernelLoadModuleById(),
sceKernelLoadModuleWithBlockOffset(), and sceKernelLoadModuleDNAS
- Updated documentation of ModuleMgrForKernel_2B7FC10D(),
sceKernelLoadModule(), sceKernelGetModuleIdList(),
sceKernelQueryModuleInfo(), sceKernelGetModuleId(),
sceKernelGetModuleIdByAddress(), and sceKernelGetModuleGPByAddress()
* src/modulemgr: Updated documentation: case when SCE_ERROR_KERNEL_ILLEGAL_ADDRESS is returned
Affects sceKernelLoadModuleWithBlockOffset() and
sceKernelLoadModuleByIDWithBlockOffset().
* src/modulemgr: sceKernelLoadModuleDNAS(): Forgot a word in documentation
* src/modulemgr: sceKernelLoadModuleDNAS(): Forgot quotation marks in documentation
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleNpDrm().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleMs().
* src/modulemgr/modulemgr.c: Added sceKernelSelfStopUnloadModule().
* src/modulemgr/modulemgr.c: Added sceKernelStopModule().
* src/modulemgr: sceKernelLoadModuleNpDrm(): Fixed a pointer issue
* include/common/memory.h: Added pspClearMemory*() functions. These functions should be used as an alternative to corresponding memset calls.
* src/modulemgr/modulemgr.c: Replaced the variable <modParams> clearing-for-loops with the pspClearMemory32() function.
* src/modulemgr: sceKernelLoadModuleNpDrm(): Added documentation
* src/modulemgr: Added sceKernelLoadModuleBufferUsbWlan()
* src/modulemgr: sceKernelLoadModuleBufferUsbWlan(): Fixed return type
* src/modulemgr: Added _LoadModuleByBufferID()
* src/modulemgr: Added _start_exe_thread()
* src/modulemgr: Added sub_00007620()
* src/modulemgr: Added sub_00007698()
* src/modulemgr: Rename sub_00007620() to _CheckOption()
* src/modulemgr: _CheckOption(): Fix return type
* src/modulemgr: Added _SelfStopUnloadModule()
* src/modulemgr/: Added loadModuleChecks_inline.h containing commonly used checks in loadModule() functions. The check functions introduced there should be used in loadModule() functions.
* src/modulemgr/modulemgr.c: Preparations for the use of _check functions().
* src/modulemgr/modulemgr.c: Removed _CheckOptions(). Its equivalent function is _checkLMOptionConditions() defined in loadModuleChecks_inline.h.
* src/modulemgr/modulemgr.c: loadModule _check() functions are now being used.
* src/modulemgr/loadModuleChecks_inline.h: Removed _setupChecks() and _terminateChecks().
* src/modulemgr/modulemgr.c: Fixed _SelfStopUnloadModule().
* src/modulemgr/modulemgr.c: Forgot to fix pointer errors in _SelfStopUnloadModule() in previous commit.
* src/modulemgr/modulemgr.c: Added _EpilogueModule().
* src/modulemgr: Added sub_000077F0()
* src/modulemgr: _EpilogueModule(): Replaced hardcoded size by sizeof()
* modulemgr: renamed sub_000077F0 to _StopUnloadSelfModuleWithStatus()
* src/modulemgr/modulemgr.c: Added _ModuleReleaseLibraries().
* src/modulemgr: Added _checkSMOptionConditions() and fixed small issues in _StopUnloadSelfModuleWithStatus().
* src/modulemgr/modulemgr.c: Added sceKernelStartModule().
* include/threadman_kernel: Added more thread attribute values.
* src/modulemgr/modulemgr.c: Added sceKernelRebootBeforeForUser().
* src/modulemgr/modulemgr.c: Added sceKernelRebootPhaseForKernel().
* src/modulemgr/modulemgr.c: Added sceKernelRebootBeforeForKernel().
* include/modulemgr_user.h: Added documentation for sceKernelLoadModuleMs().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForLoadExecVSHDisc().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForLoadExecVSHDiscUpdater().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForLoadExecVSHDiscDebug().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForLoadExecVSHDiscEmu().
* src/modulemgr/modulemgr.c: Added ModuleMgrForKernel_C2A5E6CA().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForLoadExecVSHMs1().
* added current work from months ago
* src/modulemgr: Cleaned modulemgr directory and added first code.
* src/modulemgr: Finished ModuleMgrInit().
* src/modulemgr: ModuleMgrInit(): Added ChunkInit() call.
* src/modulemgr: Added _ModuleMgrRebootBefore().
* include/threadman_kernel.h: Added sceKernelSuspendThread().
* src\modulemgr\modulemgr.c: Added functions to reverse
* src/modulemgr: Fixed ModuleMgrRebootBefore prefix
ModuleMgrRebootBefore was prefixed with _ although it's not an internal
function
* src/modulmgr: Added ModuleMgrRebootPhase().
* src/modulemgr: Added exe_thread().
* src/modulemgr: Added_UnloadModule().
* src/modulemgr: Fixed a mistake in_UnloadModule().
* src/modulemgr: Added sceKernelGetModuleId().
* src/modulemgr: sceKernelGetModuleId(): Clarified variable name and type.
* src/modulemgr: sceKernelGetModuleId(): Changed return type (forgot it in last commit) for clarification reasons.
* src/modulemgr: sceKernelGetModuleId(): Fixed K1 register handling.
* include/iofilemgr_kernel.h: Added more sceIoOpen() flags.
* src/modulemgr: Added sceKernelGetModuleIdByAddress()
* src/modulemgr: Documentation for sceKernelGetModuleId()
* src/modulemgr: sceKernelGetModuleIdByAddress(): Fixed pspK1PtrOk() argument
* src/modulemgr: Added sceKernelGetModuleGPByAddress()
* src/modulemgr: Fixed missing const statement in arguments
* include/iofilemgr_kernel.h: Added sceKernelLoadModuleForLoadExecForUser().
* src/modulemgr.c: sceKernelGetModuleGPByAddress(): Added retVal declaration.
* src/modulemgr.c: sceKernelLoadModuleForLoadExecForUser(): Added back SCeUID fd declaration (it was eaten by some ghosts I guess).
* src/modulemgr: Added sceKernelGetModuleIdList()
* src/modulemgr: Added sceKernelLoadModule()
* src/modulemgr: sceKernelLoadModuleForLoadExecForUser(): Fixed pointer issues, added some comments
* src/modulemgr: sceKernelLoadModule(): Fixed missing structure field set
* src/modulemgr: sceKernelLoadModuleForLoadExecForUser() and sceKernelLoadModule(): Added documentation
* src/modulemgr: struct SceKernelLMOption: Added documentation
* src/modulemgr: sceKernelLoadModule(): Fixed return value
* src/modulemgr.c: Removed SceKernelLMOption declaration (it is already declared in include/modulemgr_options.h).
* include/modulemgr_options.h: Added back the doxygen documentation for SceKernelLMOption.
* src/modulemgr.c: Added sceKernelLoadModuleByID().
* src/modulemgr.c: sceKernelLoadModule(): Fixed ioctl command.
* src/modulemgr.c: Renamed sceKernelLoadModule() -> sceKernelLoadModuleForUser().
* src/modulemgr.c: sceKernelLoadModuleForUser(): Fixed ioctl command (another one).
* src/modulemgr: Added sceKernelQueryModuleInfo()
* src/modulemgr: sceKernelQueryModuleInfo(): Improved documentation
* src/modulemgr: Fixed various incorrect SDK versions
* src/modulemgr.c: sceKernelQueryModuleInfo(): Fixed two syntax errors.
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleWithBlockOffset().
* src/modulemgr/modulemgr.c: Fixed wrong handling of various sceIoIoctl() status values.
* src/modulemgr/modulemgr.c: Added missing sysmem_kernel.h include.
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleByIDWithBlockOffset().
* src/modulemgr/modulemgr.c: Fixed register K1 permission checks in various user-exported loadModule() functions.
* src/modulemgr/modulemgr.c: sceKernelLoadModuleForUser(): Fixed handling of parameter "opt" when being NULL.
* src/modulemgr/modulemgr.c: Fixed sdkVersion return codes in various LoadModule() functions.
* include/iofilemgr_kernel.h: Added back SCE_O_UNKNOWN0.
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleDNAS().
* src/modulemgr: Updated and added documentation
- Added documentation for sceKernelLoadModuleById(),
sceKernelLoadModuleWithBlockOffset(), and sceKernelLoadModuleDNAS
- Updated documentation of ModuleMgrForKernel_2B7FC10D(),
sceKernelLoadModule(), sceKernelGetModuleIdList(),
sceKernelQueryModuleInfo(), sceKernelGetModuleId(),
sceKernelGetModuleIdByAddress(), and sceKernelGetModuleGPByAddress()
* src/modulemgr: Updated documentation: case when SCE_ERROR_KERNEL_ILLEGAL_ADDRESS is returned
Affects sceKernelLoadModuleWithBlockOffset() and
sceKernelLoadModuleByIDWithBlockOffset().
* src/modulemgr: sceKernelLoadModuleDNAS(): Forgot a word in documentation
* src/modulemgr: sceKernelLoadModuleDNAS(): Forgot quotation marks in documentation
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleNpDrm().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleMs().
* src/modulemgr/modulemgr.c: Added sceKernelSelfStopUnloadModule().
* src/modulemgr/modulemgr.c: Added sceKernelStopModule().
* src/modulemgr: sceKernelLoadModuleNpDrm(): Fixed a pointer issue
* include/common/memory.h: Added pspClearMemory*() functions. These functions should be used as an alternative to corresponding memset calls.
* src/modulemgr/modulemgr.c: Replaced the variable <modParams> clearing-for-loops with the pspClearMemory32() function.
* src/modulemgr: sceKernelLoadModuleNpDrm(): Added documentation
* src/modulemgr: Added sceKernelLoadModuleBufferUsbWlan()
* src/modulemgr: sceKernelLoadModuleBufferUsbWlan(): Fixed return type
* src/modulemgr: Added _LoadModuleByBufferID()
* src/modulemgr: Added _start_exe_thread()
* src/modulemgr: Added sub_00007620()
* src/modulemgr: Added sub_00007698()
* src/modulemgr: Rename sub_00007620() to _CheckOption()
* src/modulemgr: _CheckOption(): Fix return type
* src/modulemgr: Added _SelfStopUnloadModule()
* src/modulemgr/: Added loadModuleChecks_inline.h containing commonly used checks in loadModule() functions. The check functions introduced there should be used in loadModule() functions.
* src/modulemgr/modulemgr.c: Preparations for the use of _check functions().
* src/modulemgr/modulemgr.c: Removed _CheckOptions(). Its equivalent function is _checkLMOptionConditions() defined in loadModuleChecks_inline.h.
* src/modulemgr/modulemgr.c: loadModule _check() functions are now being used.
* src/modulemgr/loadModuleChecks_inline.h: Removed _setupChecks() and _terminateChecks().
* src/modulemgr/modulemgr.c: Fixed _SelfStopUnloadModule().
* src/modulemgr/modulemgr.c: Forgot to fix pointer errors in _SelfStopUnloadModule() in previous commit.
* src/modulemgr/modulemgr.c: Added _EpilogueModule().
* src/modulemgr: Added sub_000077F0()
* src/modulemgr: _EpilogueModule(): Replaced hardcoded size by sizeof()
* modulemgr: renamed sub_000077F0 to _StopUnloadSelfModuleWithStatus()
* src/modulemgr/modulemgr.c: Added _ModuleReleaseLibraries().
* src/modulemgr: Added _checkSMOptionConditions() and fixed small issues in _StopUnloadSelfModuleWithStatus().
* src/modulemgr/modulemgr.c: Added sceKernelStartModule().
* include/threadman_kernel: Added more thread attribute values.
* src/modulemgr/modulemgr.c: Added sceKernelRebootBeforeForUser().
* src/modulemgr/modulemgr.c: Added sceKernelRebootPhaseForKernel().
* src/modulemgr/modulemgr.c: Added sceKernelRebootBeforeForKernel().
* include/modulemgr_user.h: Added documentation for sceKernelLoadModuleMs().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForLoadExecVSHDisc().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForLoadExecVSHDiscUpdater().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForLoadExecVSHDiscDebug().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForLoadExecVSHDiscEmu().
* src/modulemgr/modulemgr.c: Added ModuleMgrForKernel_C2A5E6CA().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForLoadExecVSHMs1().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForLoadExecVSHMs2().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForLoadExecVSHMs3().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForLoadExecVSHMs4().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForLoadExecVSHMs5().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForLoadExecVSHMs6().
* src/modulemgr/modulemgr.c: Added ModuleMgrForKernel_8DD336D4().
* src/modulemgr: Simplified ModuleMgrRebootBefore(()
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForLoadExecNpDrm().
* src/modulemgr/modulemgr.c: Minor line indentation corrections.
* src/modulemgr/modulemgr.c: option-> pOpt name change in several functions.
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleVSH().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleVSHByID().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleForKernel().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleByIDForKernel().
* src/modulemgr/modulemgr.c: Added more functions.
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleBufferForExitGame() and sceKernelLoadModuleBufferMs().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleBufferApp().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleBufferForLoadExecBufferVSHUsbWlan().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleBufferForLoadExecBufferVSHUsbWlanDebug().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleBufferVSH().
* src/modulemgr/modulemgr.c: Added sceKernelLoadModuleBufferForExitVSHVSH().
* src/modulemgr/modulemgr.c: Added more functions.
* src/modulemgr/modulemgr.c: Added sceKernelUnloadModule().
* src/modulemgr/modulemgr.c: Added sceKernelSearchModuleByName().
* src/modulemgr/modulemgr.c: Added sceKernelSearchModuleByAddress().
* src/modulemgr/modulemgr.c: Added sceKernelSetNpDrmGetModuleKeyFunction().
* src/modulemgr/modulemgr.c: Added sceKernelNpDrmGetModuleKey().
* src/modulemgr/modulemgr.c: Added sceKernelModuleMgrMode().
* src/modulemgr/modulemgr.c: Added _StartModule().
* src/modulemgr/modulemgr.c: Added __StopModule().
* src/modulemgr/modulemgr.c: Added _PrologueModule().
* src/modulemgr/modulemgr.c: Added _ModuleRegisterLibraries().
* src/modulemgr/modulemgr.c: Fixed error in _ModuleReleaseLibraries().
* Moved NID_MODULE_* NIDs from src/loadcore/nid.h -> include/modulemgr_nids.h.
* src/modulemgr/modulemgr.c: Added _ProcessModuleExportEnt().
* include/loadcore.h: Renamed SceLoadCoreExecFileInfo.unk104 -> SceLoadCoreExecFileInfo.secureInstallId.
* include/sysmem_user.h: SceSysMemBlockType: Added more members.
* src/modulemgr/modulemgr.c: Added _LoadModule().
* src/modulemgr/modulemgr.c: Added _PartitionCheck().
* src/modulemgr/modulemgr.c: Added _CheckSkipPbpHeader().
* src/modulemgr/modulemgr.c: Fixes and reduced use of magic numbers
* src/modulemgr/modulemgr.c: Fixes and reduced use of magic numbers (2)
* src/modulemgr/modulemgr.c: Fixed mistake in sceKernelQueryModuleInfo().
* src/modulemgr/modulemgr.c: More small fixes and code cleanup.
* Modulemgr: Remove already reverse-engineered function
* src/modulemgr/modulemgr.c: Fixed a few compilation issues.
* src/modulemgr: Broke up modulemgr.c into several .c files.
* modulemgr: Reverse _CheckOverride()
- Move _CheckOverride() into a separate file
- Reverse _CheckOverride()
- Add the rules for overriding modules' file descriptors
* src/modulemgr/modulemgr.c: Fixed _CheckSkipPbpHeader.
* src/modulemgr/override.c: Fixed syntax errors.
* modulemgr: Fix more mistakes in override
* src/modulemgr: Added pbp.h ( .PBP header description).
* src/modulemgr/modulemgr.c: Added _RelocateModule().
* src/modulemgr/modulemgr.c: Fixed mistake in ModuleRegisterLibraries().
* include/sysmem_kernel.h: Updated prototype of sceKernelGetId().
* src/modulemgr/modulemgr.c: Added ModuleMgrForUser_CDE1C1FE().
* src/modulemgr/modulemgr.c: Added allocate_module_block().
* src/modulemgr/override.c: Fixed mistakes in _CheckOverride() and added more documentation about its purpose.
* modulemgr/rebootModule: Replace hexa with constant
* modulemgr/modulemgr: ModuleMgrForUser_CDE1C1FE(): s32 -> SceBool
* modulemgr: Fixes, re-writes, improved naming, added some documentation. It does not compile yet!
* modulemgr: Make it compilable.
* Removed include/modulemgr.h.
* src/modulemgr: Added missing Makefile.
* modulemgr: Updated its static libraries to reflect name changes of its exported functions.
* modulemgr: Made Loadcore and Loadexec compilable again. They were broken after changes have been made for modulemgr.
* modulemgr: Fixed a few mistakes.
* modulemgr: More fixes and updated some documentation.
* modulemgr: Added .PBP file layout and PARAM.SFO information.
* include/modulemgr_init.h: Added more SCE_EXEC_FILE_* members.
* include/common/errors.h: Added error-value format description.
* modulemgr: More fixes. Also added debug code for modulemgr (dbg.c). It will be removed before merging into 'master'.
* modulemgr: Added missing debug code.
* src/modulemgr: Fixed more errors.
* update .gitignore with version on master
* update .gitignore
* update .gitignore
* Module manager: Remove debug code
* Revert changes made to debug header.
* Add modulemgr to global makefile.
Co-authored-by: devnoname120 <devnoname120@gmail.com>
Co-authored-by: Felix-Dev <FelixDev91.gmail.com>
Co-authored-by: Kern Walster <wals0323@umn.edu>
Co-authored-by: Martin Charles <martincharles07@gmail.com>
Co-authored-by: devnoname120 <devnoname120+gh@gmail.com>
2021-01-02 15:30:44 +00:00
|
|
|
/* load module */
|
|
|
|
SceUID sceKernelLoadModuleForLoadExecForUser(s32 apiType, const char *file, s32 flag,
|
|
|
|
const SceKernelLMOption *pOption);
|
|
|
|
SceUID sceKernelLoadModuleForLoadExecVSHDisc(const char *path, s32 flag,
|
|
|
|
const SceKernelLMOption *pOption);
|
|
|
|
SceUID sceKernelLoadModuleForLoadExecVSHDiscUpdater(const char *path, s32 flag,
|
|
|
|
const SceKernelLMOption *pOption);
|
|
|
|
SceUID sceKernelLoadModuleForLoadExecVSHDiscDebug(const char *path, s32 flag,
|
|
|
|
const SceKernelLMOption *pOption);
|
|
|
|
SceUID sceKernelLoadModuleForLoadExecVSHDiscEmu(s32 apiType, const char *path, s32 flag,
|
|
|
|
const SceKernelLMOption *pOption);
|
|
|
|
SceUID ModuleMgrForKernel_C2A5E6CA(s32 apiType, const char *path, s32 flag,
|
|
|
|
const SceKernelLMOption *pOption);
|
|
|
|
SceUID sceKernelLoadModuleForLoadExecVSHMs1(s32 apiType, const char *path, s32 flag,
|
|
|
|
const SceKernelLMOption *pOption);
|
|
|
|
SceUID sceKernelLoadModuleForLoadExecVSHMs2(s32 apiType, const char *path, s32 flag,
|
|
|
|
const SceKernelLMOption *pOption);
|
|
|
|
SceUID sceKernelLoadModuleForLoadExecVSHMs3(s32 apiType, const char *path, s32 flag,
|
|
|
|
const SceKernelLMOption *pOption);
|
|
|
|
SceUID sceKernelLoadModuleForLoadExecVSHMs4(s32 apiType, const char *path, s32 flag,
|
|
|
|
const SceKernelLMOption *pOption);
|
|
|
|
SceUID sceKernelLoadModuleForLoadExecVSHMs5(s32 apiType, const char *path, s32 flag,
|
|
|
|
const SceKernelLMOption *pOption);
|
|
|
|
SceUID sceKernelLoadModuleForLoadExecVSHMs6(s32 apiType, const char *path, s32 flag,
|
|
|
|
const SceKernelLMOption *pOption);
|
|
|
|
SceUID ModuleMgrForKernel_8DD336D4(s32 apiType, const char *path, s32 flag,
|
|
|
|
const SceKernelLMOption *pOption);
|
|
|
|
SceUID sceKernelLoadModuleForLoadExecNpDrm(s32 apiType, const char *path, SceOff fileOffset,
|
|
|
|
const char *secureInstallId, s32 flag, const SceKernelLMOption *pOption);
|
|
|
|
SceUID sceKernelLoadModuleVSH(const char *path, s32 flag, const SceKernelLMOption *pOption);
|
|
|
|
SceUID sceKernelLoadModuleVSHByID(SceUID inputId, s32 flag, const SceKernelLMOption *pOption);
|
|
|
|
SceUID sceKernelLoadModuleForKernel(const char *path, s32 flag, const SceKernelLMOption *pOption);
|
|
|
|
SceUID sceKernelLoadModuleByIDForKernel(SceUID inputId, s32 flag, const SceKernelLMOption *pOption);
|
|
|
|
SceUID sceKernelLoadModuleToBlock(const char *path, SceUID blockId, SceUID *pNewBlockId,
|
|
|
|
s32 flag, const SceKernelLMOption *pOption);
|
|
|
|
SceUID sceKernelLoadModuleBootInitConfig(const char *path, s32 flag,
|
|
|
|
const SceKernelLMOption *pOption);
|
|
|
|
SceUID sceKernelLoadModuleDeci(const char *path, s32 flag, const SceKernelLMOption *pOption);
|
|
|
|
|
|
|
|
/* load module buffer */
|
|
|
|
SceUID sceKernelLoadModuleBufferMs(SceSize size, void *base, s32 flag, const SceKernelLMOption *pOption);
|
|
|
|
SceUID sceKernelLoadModuleBufferApp(SceSize size, void *base, s32 flag, const SceKernelLMOption *pOption);
|
|
|
|
SceUID sceKernelLoadModuleBufferVSH(SceSize size, void *base, s32 flag, const SceKernelLMOption *pOption);
|
|
|
|
SceUID sceKernelLoadModuleBufferForKernel(SceSize size, void *base, s32 flag, const SceKernelLMOption *pOption);
|
|
|
|
SceUID sceKernelLoadModuleBufferBootInitBtcnf(SceSize size, void *base, s32 flag,
|
|
|
|
const SceKernelLMOption *pOption, s32 opt);
|
|
|
|
s32 sceKernelLoadModuleBufferBootInitConfig(void);
|
|
|
|
|
|
|
|
SceUID sceKernelLoadModuleBufferForExitGame(void *base, s32 flag, const SceKernelLMOption *pOption, s32 opt);
|
|
|
|
SceUID sceKernelLoadModuleBufferForExitVSHKernel(void *base, s32 flag, const SceKernelLMOption *pOption, s32 opt);
|
|
|
|
SceUID sceKernelLoadModuleBufferForRebootKernel(void *base, s32 flag, const SceKernelLMOption *pOption, s32 opt);
|
|
|
|
SceUID sceKernelLoadModuleBufferForExitVSHVSH(void *base, s32 flag, const SceKernelLMOption *pOption, s32 opt);
|
|
|
|
|
|
|
|
SceUID sceKernelLoadModuleBufferForLoadExecBufferVSHUsbWlan(s32 apiType, void *base, s32 flag,
|
|
|
|
const SceKernelLMOption *pOption);
|
|
|
|
SceUID sceKernelLoadModuleBufferForLoadExecBufferVSHUsbWlanDebug(s32 apiType, void *base, s32 flag,
|
|
|
|
const SceKernelLMOption *pOption);
|
|
|
|
|
|
|
|
s32 sceKernelLoadModuleBootInitBtcnf(void *base, s32 flag, const SceKernelLMOption *pOption);
|
|
|
|
|
|
|
|
/* start module */
|
|
|
|
s32 sceKernelStartModule(SceUID modId, SceSize args, const void *argp, s32 *pModResult,
|
|
|
|
const SceKernelSMOption *pOption);
|
|
|
|
|
|
|
|
/* stop module */
|
|
|
|
s32 sceKernelStopModule(SceUID modId, SceSize args, const void *argp, s32 *pModResult,
|
|
|
|
const SceKernelSMOption *pOption);
|
|
|
|
|
|
|
|
/* unload module */
|
|
|
|
SceUID sceKernelUnloadModule(SceUID modId);
|
|
|
|
|
|
|
|
s32 sceKernelStopUnloadSelfModuleWithStatus(s32 exitStatus, SceSize args, void *argp,
|
|
|
|
s32 *pModResult, const SceKernelSMOption *pOption);
|
|
|
|
s32 sceKernelStopUnloadSelfModule(SceSize args, void *argp, s32 *pModResult,
|
|
|
|
const SceKernelSMOption *pOption);
|
|
|
|
|
|
|
|
s32 sceKernelSelfStopUnloadModule(s32 exitStatus, SceSize args, void *argp); /* backward compatibility. */
|
|
|
|
|
|
|
|
/* obtain module information */
|
|
|
|
s32 sceKernelQueryModuleInfo(SceUID modId, SceKernelModuleInfo *pModInfo);
|
|
|
|
SceUID sceKernelGetModuleId(void);
|
|
|
|
SceUID sceKernelGetModuleIdByAddress(const void *addr);
|
|
|
|
SceUID sceKernelSearchModuleByName(const char *name);
|
|
|
|
SceUID sceKernelSearchModuleByAddress(const void *addr);
|
|
|
|
|
|
|
|
s32 sceKernelGetModuleIdList(SceUID *pModIdList, SceSize size, u32 *pIdCount);
|
|
|
|
|
|
|
|
/* PSP reboot phase functions */
|
|
|
|
s32 sceKernelRebootBeforeForUser(void *arg);
|
|
|
|
s32 sceKernelRebootPhaseForKernel(s32 arg1, void *argp, s32 arg3, s32 arg4);
|
|
|
|
s32 sceKernelRebootBeforeForKernel(void *argp, s32 arg2, s32 arg3, s32 arg4);
|
|
|
|
|
|
|
|
/* NP-DRM key functions */
|
|
|
|
s32 sceKernelSetNpDrmGetModuleKeyFunction(s32(*function)(SceUID fd, void *, void *));
|
|
|
|
s32 sceKernelNpDrmGetModuleKey(SceUID fd, void *arg2, void *arg3);
|
|
|
|
|
|
|
|
/* Misc */
|
|
|
|
s32 sceKernelModuleMgrMode(s32 mode);
|
2013-04-25 19:57:39 +00:00
|
|
|
|
|
|
|
#endif /* MODULEMGR_KERNEL_H */
|
|
|
|
|