Syscalls in user mode
Posted: Thu Aug 06, 2009 8:07 pm
I am following JamesM's tutorial, now working on user mode and syscalls. I wrote out the code and tested it, as such:
This does nothing. I have verified that control reaches the syscall_mputs, but it does not print anything, and diagnostic print statements in the ISR and syscall handlers do not get printed. When the goto_user_mode() is commented out, on the other hand, it executes the syscall correctly. I would put more code here, but I'm not really sure what bit of the code is relevant, or why this would happen--what does user mode have to do with executing an interrupt? Does anyone have any thoughts?
Code: Select all
init_syscalls();
goto_user_mode();
syscall_mputs("Hello, world!");