在kvm中通过linux guest访问额外的内存

时间:2012-02-11 07:51:32

标签: linux linux-kernel virtualization qemu kvm

我正在qemu -enable-kvm上运行一个linux来宾。我正在尝试使用已知的物理内存位置在linux和qemu之间创建一个反向通道。为了使用内核永远不会分配给任何人的内存地址,我使用1024M物理内存启动了guest虚拟机。在访客中,我试图访问2GB字节(2 * 1024 * 1024 * 1024)。 在重新编译内核时,我无法再次在新内核中启动。

我的代码如下..

/** in context_switch() function of  kernel/sched.c */
#define PID_ADDR ((int *)((unsigned long)2 * (unsigned long)1024 * (unsigned long)1024 * (unsigned long)1024))
int* pid_addr = phys_to_virt(PID_ADDR);

*pid_addr = next->pid //next is the task-struct ptr of the next process that is going to run.

可以解释一下kvm如何使用分配给guest的物理内存?

0 个答案:

没有答案