]> Chaos Git - corbenik/corbenik.git/commitdiff
Clean up some loader shit
authorchaoskagami <chaos.kagami@gmail.com>
Mon, 3 Oct 2016 21:41:13 +0000 (17:41 -0400)
committerchaoskagami <chaos.kagami@gmail.com>
Mon, 3 Oct 2016 21:41:13 +0000 (17:41 -0400)
external/loader/source/fsldr.c
external/loader/source/fsldr.h
external/loader/source/interp.c
external/loader/source/srvsys.c

index 91ce6b787782995f9412a4cfdc46226a061727fd..57a7f762e1ccbfc9259cbff44747b1c65fa005f5 100644 (file)
@@ -38,8 +38,7 @@ fsldrInit(void)
     ret = srvSysGetServiceHandle(&fsldrHandle, "fs:LDR");
     if (R_SUCCEEDED(ret)) {
         fsldrPatchPermissions();
-        ret = FSLDR_InitializeWithSdkVersion(fsldrHandle, SDK_VERSION);
-        ret = FSLDR_SetPriority(0);
+        ret = FSLDR_Initialize(fsldrHandle);
         if (R_FAILED(ret))
             svcBreak(USERBREAK_ASSERT); // Can't properly panic here; no logger
     } else {
@@ -58,13 +57,12 @@ fsldrExit(void)
 }
 
 Result
-FSLDR_InitializeWithSdkVersion(Handle session, u32 version)
+FSLDR_Initialize(Handle session)
 {
     u32 *cmdbuf = getThreadCommandBuffer();
 
-    cmdbuf[0] = IPC_MakeHeader(0x861, 1, 2); // 0x8610042
-    cmdbuf[1] = version;
-    cmdbuf[2] = 32;
+    cmdbuf[0] = IPC_MakeHeader(0x801, 0, 2); // 0x8010002
+    cmdbuf[1] = 32;
 
     Result ret = 0;
     if (R_FAILED(ret = svcSendSyncRequest(session)))
@@ -73,21 +71,6 @@ FSLDR_InitializeWithSdkVersion(Handle session, u32 version)
     return cmdbuf[1];
 }
 
-Result
-FSLDR_SetPriority(u32 priority)
-{
-    u32 *cmdbuf = getThreadCommandBuffer();
-
-    cmdbuf[0] = IPC_MakeHeader(0x862, 1, 0); // 0x8620040
-    cmdbuf[1] = priority;
-
-    Result ret = 0;
-    if (R_FAILED(ret = svcSendSyncRequest(fsldrHandle)))
-        return ret;
-
-    return cmdbuf[1];
-}
-
 Result
 FSLDR_OpenFileDirectly(Handle *out, FS_ArchiveID archiveId, FS_Path archivePath, FS_Path filePath, u32 openFlags, u32 attributes)
 {
index 1d57a31b3fff6571f97ea51e89121128cba44102..9c2434562df1f0dca620a2f8fe4ee40783e47219 100644 (file)
@@ -4,8 +4,9 @@
 #include <3ds/types.h>
 
 Result fsldrInit(void);
-void fsldrExit(void);
-Result FSLDR_InitializeWithSdkVersion(Handle session, u32 version);
+void   fsldrExit(void);
+
+Result FSLDR_Initialize(Handle session);
 Result FSLDR_SetPriority(u32 priority);
 Result FSLDR_OpenFileDirectly(Handle *out, FS_ArchiveID archiveId, FS_Path archivePath, FS_Path filePath, u32 openFlags, u32 attributes);
 Result FSLDR_GetNandCid(u8* out, u32 length);
index 890555c3e5be829fff18f127e8c3a64911c7fd79..e706cf8f62fa1372898c12453272aeda4689e2c3 100644 (file)
@@ -1,6 +1,4 @@
-// 'Tis not ready for the world at large yet.
-// I don't want to delete it since I'm working on it though,
-// so it's temporarliy #if'd 0.
+// This is a thin shim used to set the right parameters and include the interpreter from toplevel code.
 #include <3ds.h>
 #include <stdlib.h>
 #include "patcher.h"
@@ -20,6 +18,3 @@
 // Yes, we're including a C file. Problem?
 #include "../../../source/interpreter.c"
 
-#if 0
-
-#endif
index 9d183c8d46891368478423a6e3b78d976db8bfa2..bb23ead6a65a7e53e8a5d9dcfc1177157c2eb125 100644 (file)
@@ -70,7 +70,6 @@ srvSysExit()
     else
         svcBreak(USERBREAK_ASSERT); // No logging available, sadly
 
-    rc = (Result)srvHandle; // yeah, I think this is a benign bug
     srvHandle = 0;
     srvRefCount--;
     RecursiveLock_Unlock(&initLock);