diff --git a/Core/HLE/sceKernelModule.cpp b/Core/HLE/sceKernelModule.cpp index afa93b7e82..b030195c75 100644 --- a/Core/HLE/sceKernelModule.cpp +++ b/Core/HLE/sceKernelModule.cpp @@ -1595,10 +1595,18 @@ u32 sceKernelLoadModule(const char *name, u32 flags, u32 optionAddr) return -1; } - // Module was blacklisted or couldn't be decrypted, which means it's a kernel module we don't want to run. - // Let's just act as if it worked. - NOTICE_LOG(LOADER, "Module %s is blacklisted or undecryptable - we lie about success", name); - return 1; + if (info.name == "BOOT.BIN") + { + NOTICE_LOG(LOADER, "Module %s is blacklisted or undecryptable - we try __KernelLoadExec", name) + return __KernelLoadExec(name, 0, &error_string); + } + else + { + // Module was blacklisted or couldn't be decrypted, which means it's a kernel module we don't want to run.. + // Let's just act as if it worked. + NOTICE_LOG(LOADER, "Module %s is blacklisted or undecryptable - we lie about success", name) + return 1; + } } if (lmoption) {