On 2016?05?17? 23:21, Valdis.Kletnieks at vt.edu wrote:
On Tue, 17 May 2016 20:29:12 +0800, walkerlala said:
quoted
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?
quoted
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,