mips/kvm: Fix ABI for use of 64-bit registers.
All registers are 64-bits wide, 32-bit guests use the least significant portion of the register storage fields. Signed-off-by: David Daney <david.daney@cavium.com> Acked-by: Sanjay Lal <sanjayl@kymasys.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
1f3dc6d764
commit
688cded320
|
@ -18,12 +18,18 @@
|
|||
#define N_MIPS_COPROC_REGS 32
|
||||
#define N_MIPS_COPROC_SEL 8
|
||||
|
||||
/* for KVM_GET_REGS and KVM_SET_REGS */
|
||||
/*
|
||||
* for KVM_GET_REGS and KVM_SET_REGS
|
||||
*
|
||||
* If Config[AT] is zero (32-bit CPU), the register contents are
|
||||
* stored in the lower 32-bits of the struct kvm_regs fields and sign
|
||||
* extended to 64-bits.
|
||||
*/
|
||||
struct kvm_regs {
|
||||
__u32 gprs[32];
|
||||
__u32 hi;
|
||||
__u32 lo;
|
||||
__u32 pc;
|
||||
__u64 gprs[32];
|
||||
__u64 hi;
|
||||
__u64 lo;
|
||||
__u64 pc;
|
||||
|
||||
__u32 cp0reg[N_MIPS_COPROC_REGS][N_MIPS_COPROC_SEL];
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue