mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 08:13:54 -06:00
kvm: Allow to set shadow MMU size
Introduce the KVM-specific machine option kvm_shadow_mem. It allows to set a custom shadow MMU size for the virtual machine. This is useful for stress testing e.g. Only x86 supports this for now, but it is in principle a generic concept for all targets with shadow MMUs. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
This commit is contained in:
parent
cf4dc461a4
commit
39d6960aab
3 changed files with 21 additions and 1 deletions
|
@ -646,7 +646,9 @@ static int kvm_get_supported_msrs(KVMState *s)
|
|||
|
||||
int kvm_arch_init(KVMState *s)
|
||||
{
|
||||
QemuOptsList *list = qemu_find_opts("machine");
|
||||
uint64_t identity_base = 0xfffbc000;
|
||||
uint64_t shadow_mem;
|
||||
int ret;
|
||||
struct utsname utsname;
|
||||
|
||||
|
@ -693,6 +695,17 @@ int kvm_arch_init(KVMState *s)
|
|||
}
|
||||
qemu_register_reset(kvm_unpoison_all, NULL);
|
||||
|
||||
if (!QTAILQ_EMPTY(&list->head)) {
|
||||
shadow_mem = qemu_opt_get_size(QTAILQ_FIRST(&list->head),
|
||||
"kvm_shadow_mem", -1);
|
||||
if (shadow_mem != -1) {
|
||||
shadow_mem /= 4096;
|
||||
ret = kvm_vm_ioctl(s, KVM_SET_NR_MMU_PAGES, shadow_mem);
|
||||
if (ret < 0) {
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue