+ #elif 1
+ CallUser(appMain, appArgc, appArgv, envp);
+ #else
+ return appMain(appArgc, appArgv, NULL);
+ #endif
+}
+
+void CallUser(void *Entry, int argc, char *argv[], char **envp)
+{
+ __asm__ __volatile__ (
+ "mov %1, %%esp;\n\t"
+ "jmp *%0"
+ : : "r" (Entry), "r" (&argc)
+ );
+ for(;;);