userspace code test: how a debugger works

This is an example from
http://www.alexonlinux.com/how-debugger-works.

I split it into several stages, this one we just create two processes and the
parent wait for the termination of the child.
userspace code test: start to trace the child process

1. When child call execve(), parent will be sent SIGCHLD and be notified by
wait().

2. Then child will stop and wait.

3. Parent could send PTRACE_CONT to child to continue the execution.
kernel code reading: how x86 init the IDT

1. IDT is initially set in init_trap()
2. For those external interrupts, it is initialized in native_init_IRQ.
   And they are the same.
3. Finally, those external interrupts will call do_IRQ.
kernel code reading: misc fix for init_IRQ_on_power
kernel code reading: more comments on pci_init_on_powerpc