mirror of https://gitee.com/openkylin/linux.git
KVM: MIPS: Add 64BIT capability
Add a new KVM_CAP_MIPS_64BIT capability to indicate that 64-bit MIPS guests are available and supported. In this case it should still be possible to run 32-bit guest code. If not available it won't be possible to run 64-bit guest code and the instructions may not be available, or the kernel may not support full context switching of 64-bit registers. 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: Jonathan Corbet <corbet@lwn.net> Cc: linux-mips@linux-mips.org Cc: kvm@vger.kernel.org Cc: linux-doc@vger.kernel.org
This commit is contained in:
parent
a8a3c42677
commit
578fd61d2d
|
@ -4192,3 +4192,28 @@ to KVM_CREATE_VM to create a VM which utilises it.
|
|||
|
||||
If KVM_CHECK_EXTENSION on a kvm VM handle indicates that this capability is
|
||||
available, it means that the VM is using trap & emulate.
|
||||
|
||||
8.7 KVM_CAP_MIPS_64BIT
|
||||
|
||||
Architectures: mips
|
||||
|
||||
This capability indicates the supported architecture type of the guest, i.e. the
|
||||
supported register and address width.
|
||||
|
||||
The values returned when this capability is checked by KVM_CHECK_EXTENSION on a
|
||||
kvm VM handle correspond roughly to the CP0_Config.AT register field, and should
|
||||
be checked specifically against known values (see below). All other values are
|
||||
reserved.
|
||||
|
||||
0: MIPS32 or microMIPS32.
|
||||
Both registers and addresses are 32-bits wide.
|
||||
It will only be possible to run 32-bit guest code.
|
||||
|
||||
1: MIPS64 or microMIPS64 with access only to 32-bit compatibility segments.
|
||||
Registers are 64-bits wide, but addresses are 32-bits wide.
|
||||
64-bit guest code may run but cannot access MIPS64 memory segments.
|
||||
It will also be possible to run 32-bit guest code.
|
||||
|
||||
2: MIPS64 or microMIPS64 with access to all address segments.
|
||||
Both registers and addresses are 64-bits wide.
|
||||
It will be possible to run 64-bit or 32-bit guest code.
|
||||
|
|
|
@ -889,6 +889,7 @@ struct kvm_ppc_resize_hpt {
|
|||
#define KVM_CAP_IMMEDIATE_EXIT 136
|
||||
#define KVM_CAP_MIPS_VZ 137
|
||||
#define KVM_CAP_MIPS_TE 138
|
||||
#define KVM_CAP_MIPS_64BIT 139
|
||||
|
||||
#ifdef KVM_CAP_IRQ_ROUTING
|
||||
|
||||
|
|
Loading…
Reference in New Issue