Results 6 issues of ppw

gcc-ld version `GNU ld (GNU Binutils) 2.36.1` link the 'payload.o' into an executable format. But when `make` link the 'payload.o' and 'kvm-hello-world.o' , ld only accepts relocatable files as inputs....

Hi, when the makefile is executed to ``` kvm-hello-world: kvm-hello-world.o payload.o $(CC) $^ -o $@ ``` a error comes `/usr/bin/ld: cannot use executable file 'payload.o' as input to a link`...

`MSR_IA32_FEATURE_CONTROL.lock[0bit] = 1` is set in kernel version 5.x by default. which means no modification to MSRs is allowed until the system reboot. the code in `ksm.c` is invalid anymore....

remove the definition of idt & idt_reg in 'idt.h', which is included by 2 files and causes multiple definition. Definite the variable idt & idt_reg here to solve the problem.

"idt.h" included by idt.c and kernel.c, which will cause link failed. so move the definition of idt to idt.c to avoid the failure below. ld: cpu/idt.o:(.bss+0x0): multiple definition of `idt';...