From: Aurelien Jarno <aurelien@aurel32.net>
To: James Hogan <james.hogan@imgtec.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>,
qemu-devel@nongnu.org, kvm@vger.kernel.org
Subject: Re: [Qemu-devel] [PATCH 1/4] mips/kvm: Init EBase to correct KSEG0
Date: Fri, 27 Jun 2014 10:41:22 +0200 [thread overview]
Message-ID: <20140627084122.GA10041@hall.aurel32.net> (raw)
In-Reply-To: <1403775865-25219-2-git-send-email-james.hogan@imgtec.com>
On Thu, Jun 26, 2014 at 10:44:22AM +0100, James Hogan wrote:
> The EBase CP0 register is initialised to 0x80000000, however with KVM
> the guest's KSEG0 is at 0x40000000. The incorrect value doesn't get
> passed to KVM yet as KVM doesn't implement the EBase register, however
> we should set it correctly now so as not to break migration/loadvm to a
> future version of QEMU that does support EBase.
>
> Signed-off-by: James Hogan <james.hogan@imgtec.com>
> Cc: Aurelien Jarno <aurelien@aurel32.net>
> Cc: Paolo Bonzini <pbonzini@redhat.com>
> ---
> target-mips/translate.c | 8 +++++++-
> 1 file changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/target-mips/translate.c b/target-mips/translate.c
> index 2f91959ed7b1..d7b8c4dbc81a 100644
> --- a/target-mips/translate.c
> +++ b/target-mips/translate.c
> @@ -28,6 +28,7 @@
>
> #include "exec/helper-proto.h"
> #include "exec/helper-gen.h"
> +#include "sysemu/kvm.h"
>
> #define MIPS_DEBUG_DISAS 0
> //#define MIPS_DEBUG_SIGN_EXTENSIONS
> @@ -16076,7 +16077,12 @@ void cpu_state_reset(CPUMIPSState *env)
> env->CP0_Random = env->tlb->nb_tlb - 1;
> env->tlb->tlb_in_use = env->tlb->nb_tlb;
> env->CP0_Wired = 0;
> - env->CP0_EBase = 0x80000000 | (cs->cpu_index & 0x3FF);
> + env->CP0_EBase = (cs->cpu_index & 0x3FF);
> + if (kvm_enabled()) {
> + env->CP0_EBase |= 0x40000000;
> + } else {
> + env->CP0_EBase |= 0x80000000;
> + }
> env->CP0_Status = (1 << CP0St_BEV) | (1 << CP0St_ERL);
> /* vectored interrupts not implemented, timer on int 7,
> no performance counters. */
Reviewed-by: Aurelien Jarno <aurelien@aurel32.net>
--
Aurelien Jarno GPG: 4096R/1DDD8C9B
aurelien@aurel32.net http://www.aurel32.net
next prev parent reply other threads:[~2014-06-27 8:41 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-06-26 9:44 [Qemu-devel] [PATCH 0/4] QEMU MIPS KVM improvements for v2.1 James Hogan
2014-06-26 9:44 ` [Qemu-devel] [PATCH 1/4] mips/kvm: Init EBase to correct KSEG0 James Hogan
2014-06-27 8:41 ` Aurelien Jarno [this message]
2014-06-26 9:44 ` [Qemu-devel] [PATCH 2/4] mips_malta: Change default KVM cpu to 24Kc (no FP) James Hogan
2014-06-27 8:43 ` Aurelien Jarno
2014-06-27 11:33 ` Paolo Bonzini
2014-06-27 15:22 ` [Qemu-devel] [PATCH v2 2/4] mips/kvm: Disable FPU on reset with KVM James Hogan
2014-06-26 9:44 ` [Qemu-devel] [PATCH 3/4] mips_malta: Remove incorrect KVM T&E references James Hogan
2014-06-27 8:43 ` Aurelien Jarno
2014-06-26 9:44 ` [Qemu-devel] [PATCH 4/4] mips_malta: Catch kernels linked at wrong address James Hogan
2014-06-27 8:43 ` Aurelien Jarno
2014-06-26 10:12 ` [Qemu-devel] [PATCH 0/4] QEMU MIPS KVM improvements for v2.1 Paolo Bonzini
2014-06-26 11:27 ` James Hogan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20140627084122.GA10041@hall.aurel32.net \
--to=aurelien@aurel32.net \
--cc=james.hogan@imgtec.com \
--cc=kvm@vger.kernel.org \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).