Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
My code can run successfully on bochs and QEMU. However, but when I put it on virtualbox (in SMP), it stops running.(1 Core in virtualbox is OK) It seems that the processes are stopped from being scheduled. I guess that my spin lock have a little problem:
The problem may be that your code (the code that uses the spinlock) has a deadlock in it. It could be an SMP deadlock or an interrupt deadlock.
Thank you for your notice! I worked all day and finally found the place where kernel deadlocked. It seems the reason why virtualbox locked is that it runs faster, so the chance when two CPU enters a critical area is increased! Thank you again!