mirror of
https://github.com/torvalds/linux.git
synced 2024-11-18 18:11:56 +00:00
90e9311a34
Convert the whole of locore.S (assembly to enter guest and handle exception entry) to be generated dynamically with uasm. This is done with minimal changes to the resulting code. The main changes are: - Some constants are generated by uasm using LUI+ADDIU instead of LUI+ORI. - Loading of lo and hi are swapped around in vcpu_run but not when resuming the guest after an exit. Both bits of logic are now generated by the same code. - Register MOVEs in uasm use different ADDU operand ordering to GNU as, putting zero register into rs instead of rt. - The JALR.HB to call the C exit handler is switched to JALR, since the hazard barrier would appear to be unnecessary. This will allow further optimisation in the future to dynamically handle the capabilities of the CPU. 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 Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
51 lines
1.2 KiB
Plaintext
51 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_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
|