##Makefile Changes Three changes
- add '-fno-stack-protector' gcc compile option so that we can compile it on local linux machine
- add 'make qemu' command to run the kermel
- add 'make debug' for debugging. Qemu starts without do anything, except waiting for gdb connection. After connected gdb, set break points and continue. "gdb -ex 'target remote localhost:9998' -ex 'break boot' -ex 'call boot()' ./kernel "is a quick way to do this
##Dev Notes
-
Simplify git operations
- Just use sh pull.sh (or ./pull.sh) to pull down latest repo
- Use sh push.sh (or ./push.sh) to push your repo, when propmting for commit msg, type your info and press enter
-
When debugging,use dprintf if you want to print results. If you define variables, surrounding your code between #if DEBUG and #endif,eg:
#if DEBUG
page_sp* page_tmp = (page_sp*) (page_struct_start) + 100;
dprintf("see: %x\n", page_tmp->index);
#endif
##Stages
###First stage
memory management
- physical memory
- virtual memory
##References
###Knowledge
###Coding