mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-28 11:18:45 +07:00
e88643ba1a
MIPS hasn't up to this point properly supported dirty page logging, as pages in slots with dirty logging enabled aren't made clean, and tlbmod exceptions from writes to clean pages have been assumed to be due to guest TLB protection and unconditionally passed to the guest. Use the generic dirty logging helper kvm_get_dirty_log_protect() to properly implement kvm_vm_ioctl_get_dirty_log(), similar to how ARM does. This uses xchg to clear the dirty bits when reading them, rather than wiping them out afterwards with a memset, which would potentially wipe recently set bits that weren't caught by kvm_get_dirty_log(). It also makes the pages clean again using the kvm_arch_mmu_enable_log_dirty_pt_masked() architecture callback so that further writes after the shadow memslot is flushed will trigger tlbmod exceptions and dirty handling. Signed-off-by: James Hogan <james.hogan@imgtec.com> Cc: Paolo Bonzini <pbonzini@redhat.com> Cc: "Radim Krčmář" <rkrcmar@redhat.com> Cc: Ralf Baechle <ralf@linux-mips.org> Cc: linux-mips@linux-mips.org Cc: kvm@vger.kernel.org
52 lines
1.2 KiB
Plaintext
52 lines
1.2 KiB
Plaintext
#
|
|
# KVM configuration
|
|
#
|
|
source "virt/kvm/Kconfig"
|
|
|
|
menuconfig VIRTUALIZATION
|
|
bool "Virtualization"
|
|
---help---
|
|
Say Y here to get to see options for using your Linux host to run
|
|
other operating systems inside virtual machines (guests).
|
|
This option alone does not add any kernel code.
|
|
|
|
If you say N, all options in this submenu will be skipped and disabled.
|
|
|
|
if VIRTUALIZATION
|
|
|
|
config KVM
|
|
tristate "Kernel-based Virtual Machine (KVM) support"
|
|
depends on HAVE_KVM
|
|
select EXPORT_UASM
|
|
select PREEMPT_NOTIFIERS
|
|
select ANON_INODES
|
|
select KVM_GENERIC_DIRTYLOG_READ_PROTECT
|
|
select KVM_MMIO
|
|
select SRCU
|
|
---help---
|
|
Support for hosting Guest kernels.
|
|
Currently supported on MIPS32 processors.
|
|
|
|
config KVM_MIPS_DYN_TRANS
|
|
bool "KVM/MIPS: Dynamic binary translation to reduce traps"
|
|
depends on KVM
|
|
---help---
|
|
When running in Trap & Emulate mode patch privileged
|
|
instructions to reduce the number of traps.
|
|
|
|
If unsure, say Y.
|
|
|
|
config KVM_MIPS_DEBUG_COP0_COUNTERS
|
|
bool "Maintain counters for COP0 accesses"
|
|
depends on KVM
|
|
---help---
|
|
Maintain statistics for Guest COP0 accesses.
|
|
A histogram of COP0 accesses is printed when the VM is
|
|
shutdown.
|
|
|
|
If unsure, say N.
|
|
|
|
source drivers/vhost/Kconfig
|
|
|
|
endif # VIRTUALIZATION
|