доступ к дополнительной памяти гостем Linux в KVM - PullRequest
1 голос
/ 11 февраля 2012

Я использую гостевую систему Linux поверх qemu -enable-kvm.Я пытаюсь создать обратный канал между Linux и QEMU, используя известную область физической памяти.Чтобы использовать адрес памяти, который ядро ​​никогда никому не выделит, я запустил гостя с использованием физической памяти 1024M.В гостевой, я пытаюсь получить доступ к 2 ГБ th (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 использует физическую память, выделенную для гостя ??

...