Thanks for this insight, minDark. may I ask how you found out about the missing dependencies?
It's not so nice that the kernel mode function is missing in WP7. How are we going to start the kernel without it?
I did as you proposed and compiled haret.exe without it. I just commented out lines containing setkmode. But I didn't change the ordinals stuff because I have no idea what that is.
no-kmode haret.exe with minDark's proposed kmode patch is attached. Any WP7 device owners welcome to test.
diff to current haret.git HEAD:
Code:haret$ git diff diff --git a/src/memory.cpp b/src/memory.cpp index ccba659..53c0826 100644 --- a/src/memory.cpp +++ b/src/memory.cpp @@ -320,7 +320,7 @@ err: VirtualFree (pmWindow, 0, MEM_RELEASE); if (slot >= PHYS_CACHE_COUNT) { // Go into supervisor mode - SetKMode (TRUE); +// SetKMode (TRUE); cli (); cpuFlushCache (); @@ -333,7 +333,7 @@ err: VirtualFree (pmWindow, 0, MEM_RELEASE); // Back to user mode sti (); - SetKMode (FALSE); +// SetKMode (FALSE); } // Move least recently used slot to front @@ -354,12 +354,12 @@ void memPhysReset () if (pmInited) { // Go into supervisor mode - SetKMode (TRUE); +// SetKMode (TRUE); cpuFlushCache (); // Restore the page table entries for (int i = 0; i < 16 * PHYS_CACHE_COUNT; i++) pmPT [i] = pmOldPT [i]; - SetKMode (FALSE); +// SetKMode (FALSE); VirtualFree (pmL2PT, 0, MEM_RELEASE); VirtualFree (pmWindow, 0, MEM_RELEASE); diff --git a/src/wince/output.cpp b/src/wince/output.cpp index cc65d40..e4be7ed 100644 --- a/src/wince/output.cpp +++ b/src/wince/output.cpp @@ -276,9 +276,9 @@ prepThread() // All wince 3.0 and later machines are automatically in "kernel // mode". We enable kernel mode by default to make older PDAs // (ce2.x) work. - Output("Setting KMode to true."); - int kmode = SetKMode(TRUE); - Output("Old KMode was %d", kmode); +// Output("Setting KMode to true."); +// int kmode = SetKMode(TRUE); +// Output("Old KMode was %d", kmode); } // Initialize the haret application.
No dice on this one, either. I'm trying to get crash logs from the device to see if we can get some better pointers.