On 2016年05月17日 23:21, Valdis.Kletnieks@vt.edu wrote:
On Tue, 17 May 2016 20:29:12 +0800, walkerlala said:
Can I just disable interrupts from hardwares? I know that, at the very beginning, the kernel disable interrupt for convenient. So I wonder whether we can do thing like this.
Sure you can do that.
But then, how do you get the kernel's attention?
Put it in another way: when we "interact" with a Linux Desktop, there are also many programs running underneath as daemons, but we can still do our own works without even noting their existing. So I wonder, is there a similar way that we can use to interact with the kernel (without using a debugger) ?
Try this:
Start up Xorg and your preferred window manager.
Open an xterm or a Gnome-terminal or whatever.
From that window, try to attach gdb to the Xorg process:
% ps ax|grep Xorg 1791 tty2 S+ 69:42 /usr/libexec/Xorg vt2 -displayfd 3 -auth /run/user/967/gdm/Xauthority -nolisten tcp -background none -noreset -keeptty -verbose 3 62036 pts/0 S+ 0:00 grep Xorg % gdb -p 1791
What happens?
Why does it happen?
Eventually, you'll figure out what Xorg and the kernel have in common here....
Ok after trying what you said, I think I understand what you mean eventually. I try to use gdb to attach the window manager, which happen to be Compiz on my machine, then the whole GUI block. The only thing that I can see being able to react is the cursor(honestly I don't understand why the cursor can move....) This is my reasoning: when I attach gdb to Compiz, the window manager block, thus not being able to serving. The same with the kernel. If I block the kernel, then it would not be able to serve..... Is this what you mean ? So I have to wait for the kernel to finish and prompt me a console ? Actually, I am willing to do so, but I just can't get the raw kernel to run at Qemu. That is the reason why I tried to block the kernel...... Any idea ? Regards,