The tlbncfg registers should be populated with their respective TLB's
values. Fix the obvious typo.
Signed-off-by: Alexander Graf ag...@suse.de
---
arch/powerpc/kvm/e500_tlb.c |4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/powerpc/kvm/e500_tlb.c b/arch/powerpc
When during guest context we get a performance monitor interrupt, we
currently bail out and oops. Let's route it to its correct handler
instead.
Signed-off-by: Alexander Graf ag...@suse.de
---
arch/powerpc/kvm/booke.c |4
1 files changed, 4 insertions(+), 0 deletions(-)
diff --git
came from the interrupt reinject code.
This helps getting reasonable numbers out of perf.
Signed-off-by: Alexander Graf ag...@suse.de
---
v2 - v3:
- actually sync host state
- no need for vcpu in sync
---
arch/powerpc/kvm/booke.c | 56 +
1 files
There was some unused code in the exit code path that must have been
a leftover from earlier iterations. While it did no harm, it's superfluous
and thus should be removed.
Signed-off-by: Alexander Graf ag...@suse.de
---
v2 - v3:
- fix commit message
- also remove lwzr9, VCPU_KVM(r4
The comment for program interrupts triggered when using bookehv was
misleading. Update it to mention why MSR_GS indicates that we have
to inject an interrupt into the guest again, not emulate it.
Signed-off-by: Alexander Graf ag...@suse.de
---
arch/powerpc/kvm/booke.c | 10 --
1 files
From: Scott Wood scottw...@freescale.com
Split e500 (v1/v2) and e500mc/e5500 to allow optimization of feature
checks that differ between the two.
Signed-off-by: Scott Wood scottw...@freescale.com
Signed-off-by: Alexander Graf ag...@suse.de
---
arch/powerpc/include/asm/cputable.h | 12
more logical to do it this way around.
Signed-off-by: Alexander Graf ag...@suse.de
---
arch/powerpc/kvm/bookehv_interrupts.S | 10 ++
1 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/arch/powerpc/kvm/bookehv_interrupts.S
b/arch/powerpc/kvm/bookehv_interrupts.S
index 469bd3f
When during guest execution we get a machine check interrupt, we don't
know how to handle it yet. So let's add the error printing code back
again that we dropped accidently earlier and tell user space that something
went really wrong.
Signed-off-by: Alexander Graf ag...@suse.de
---
arch/powerpc
varun.se...@freescale.com, and
Liu Yu yu@freescale.com.
Signed-off-by: Scott Wood scottw...@freescale.com
Signed-off-by: Alexander Graf ag...@suse.de
---
arch/powerpc/include/asm/cputable.h |6 +-
arch/powerpc/include/asm/kvm.h|1 +
arch/powerpc/kernel
The SET_VCPU macro is a leftover from times when the vcpu struct wasn't
stored in the thread on vcpu_load/put. It's not needed anymore. Remove it.
Signed-off-by: Alexander Graf ag...@suse.de
---
arch/powerpc/kvm/bookehv_interrupts.S |8
1 files changed, 0 insertions(+), 8 deletions
Instead if doing
#ifndef CONFIG_64BIT
...
#else
...
#endif
we should rather do
#ifdef CONFIG_64BIT
...
#else
...
#endif
which is a lot easier to read. Change the bookehv implementation to
stick with this rule.
Signed-off-by: Alexander Graf ag...@suse.de
---
arch/powerpc
The CONFIG_KVM_E500 option really indicates that we're running on a V2 machine,
not on a machine of the generic E500 class. So indicate that properly and
change the config name accordingly.
Signed-off-by: Alexander Graf ag...@suse.de
---
arch/powerpc/kvm/Kconfig|8
arch/powerpc
The semantics of BOOKE_IRQPRIO_MAX changed to denote the highest available
irqprio + 1, so let's reflect that in the code too.
Signed-off-by: Alexander Graf ag...@suse.de
---
arch/powerpc/kvm/booke.c |2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/arch/powerpc/kvm
When using exit timing stats, we clobber r9 in the NEED_EMU case,
so better move that part down a few lines and fix it that way.
Signed-off-by: Alexander Graf ag...@suse.de
---
arch/powerpc/kvm/bookehv_interrupts.S |8
1 files changed, 4 insertions(+), 4 deletions(-)
diff --git
kvmppc_prepare_to_enter function for all ppc targets that
does signal and reschedule checking for us.
Signed-off-by: Alexander Graf ag...@suse.de
---
v2 - v3:
- check for signals earlier
---
arch/powerpc/include/asm/kvm_ppc.h |2 +-
arch/powerpc/kvm/book3s.c |4 +-
arch/powerpc/kvm
-by: Alexander Graf ag...@suse.de
---
v1 - v2:
- introduce and use constants
- drop e500mc ifdefs
---
arch/powerpc/include/asm/dbell.h |2 +
arch/powerpc/kvm/booke.c |2 +
arch/powerpc/kvm/e500_emulate.c | 68 ++
3 files changed, 72
Wood scottw...@freescale.com
Signed-off-by: Alexander Graf ag...@suse.de
---
arch/powerpc/kernel/head_44x.S | 23 +--
arch/powerpc/kernel/head_booke.h | 41 ++
arch/powerpc/kernel/head_fsl_booke.S | 52 +-
3 files
When setting MSR for an e500mc guest, we implicitly always set MSR_GS
to make sure the guest is in guest state. Since we have this implicit
rule there, we don't need to explicitly pass MSR_GS to set_msr().
Remove all explicit setters of MSR_GS.
Signed-off-by: Alexander Graf ag...@suse.de
...@freescale.com
Signed-off-by: Alexander Graf ag...@suse.de
---
arch/powerpc/kvm/e500.h |1 +
arch/powerpc/kvm/e500_emulate.c |9 ++
arch/powerpc/kvm/e500_tlb.c | 52 +++
3 files changed, 62 insertions(+), 0 deletions(-)
diff --git a/arch
From: Scott Wood scottw...@freescale.com
e500mc will want to do lpid allocation/deallocation here.
Signed-off-by: Scott Wood scottw...@freescale.com
Signed-off-by: Alexander Graf ag...@suse.de
---
arch/powerpc/kvm/44x.c |9 +
arch/powerpc/kvm/booke.c |9 -
arch/powerpc
-by: Scott Wood scottw...@freescale.com
[agraf: fix bisectability]
Signed-off-by: Alexander Graf ag...@suse.de
---
arch/powerpc/kvm/e500.h | 25 ++---
1 files changed, 14 insertions(+), 11 deletions(-)
diff --git a/arch/powerpc/kvm/e500.h b/arch/powerpc/kvm/e500.h
index
From: Scott Wood scottw...@freescale.com
We'll use it on e500mc as well.
Signed-off-by: Scott Wood scottw...@freescale.com
Signed-off-by: Alexander Graf ag...@suse.de
---
arch/powerpc/include/asm/kvm_book3s.h |3 ++
arch/powerpc/include/asm/kvm_booke.h |3 ++
arch/powerpc/include/asm
From: Scott Wood scottw...@freescale.com
This is in preparation for merging in the contents of
arch/powerpc/include/asm/kvm_e500.h.
Signed-off-by: Scott Wood scottw...@freescale.com
Signed-off-by: Alexander Graf ag...@suse.de
---
arch/powerpc/kvm/e500.c |2 +-
arch/powerpc
-by: Scott Wood scottw...@freescale.com
[agraf: fix bisectability]
Signed-off-by: Alexander Graf ag...@suse.de
---
arch/powerpc/include/asm/kvm_host.h |2 +
arch/powerpc/kvm/e500.c | 357 +++
arch/powerpc/kvm/e500.h | 62 -
arch/powerpc/kvm
to be referenced from outside arch/powerpc/kvm.
Signed-off-by: Scott Wood scottw...@freescale.com
[agraf: fix bisectability]
Signed-off-by: Alexander Graf ag...@suse.de
---
arch/powerpc/include/asm/kvm_e500.h | 96 ---
arch/powerpc/kvm/e500.c |1 -
arch
- sync host state instead of guest state to pt_regs
- optimize reinject code path to get out fast when not reinjecting
Alexander Graf (23):
KVM: PPC: e500mc: Add doorbell emulation support
KVM: PPC: e500mc: implicitly set MSR_GS
KVM: PPC: e500mc: Move r1/r2 restoration very early
KVM: PPC
From: Scott Wood scottw...@freescale.com
This gives us a place to put load/put actions that correspond to
code that is booke-specific but not specific to a particular core.
Signed-off-by: Scott Wood scottw...@freescale.com
Signed-off-by: Alexander Graf ag...@suse.de
---
arch/powerpc/kvm/44x.c
.
Reported-by: Stuart Yoder b08...@freescale.com
Signed-off-by: Alexander Graf ag...@suse.de
---
arch/powerpc/kernel/smp.c |6 --
1 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/arch/powerpc/kernel/smp.c b/arch/powerpc/kernel/smp.c
index 46695fe..670b453 100644
--- a/arch/powerpc
On 29.02.2012, at 18:50, Scott Wood scottw...@freescale.com wrote:
On 02/28/2012 08:16 PM, Alexander Graf wrote:
When we know that we're running inside of a KVM guest, we don't have to
worry about synchronizing timebases between different CPUs, since the
host already took care
When running inside a virtual machine, we can not modify timebase, so
let's just not call the functions for it then.
This resolves hangs when booting e500 SMP guests on overcommitted hosts.
Reported-by: Stuart Yoder b08...@freescale.com
Signed-off-by: Alexander Graf ag...@suse.de
---
arch
On 02.03.2012, at 17:20, Scott Wood wrote:
On Fri, Mar 02, 2012 at 03:12:33PM +0100, Alexander Graf wrote:
When running inside a virtual machine, we can not modify timebase, so
let's just not call the functions for it then.
This resolves hangs when booting e500 SMP guests on overcommitted
On PPC, CR2-CR4 are nonvolatile, thus have to be saved across function calls.
We didn't respect that for any architecture until Paul spotted it in his
patch for Book3S-HV. This patch saves/restores CR for all KVM capable PPC hosts.
Signed-off-by: Alexander Graf ag...@suse.de
---
arch/powerpc/kvm
-by: Alexander Graf ag...@suse.de
Thanks a lot for sending the patch nevertheless!
Alex
--
To unsubscribe from this list: send the line unsubscribe kvm-ppc in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
On 02/03/2012 11:53 AM, Paul Mackerras wrote:
The ABI specifies that CR fields CR2--CR4 are nonvolatile across function
calls. Currently __kvmppc_vcore_entry doesn't save and restore the CR,
leading to CR2--CR4 getting corrupted with guest values, possibly leading
to incorrect behaviour in its
On 01/31/2012 07:25 AM, Matt Evans wrote:
SPAPR support includes various in-kernel hypercalls, improving performance
by cutting out the exit to userspace. H_BULK_REMOVE is implemented in this
patch.
Signed-off-by: Matt Evansm...@ozlabs.org
Thanks, applied to kvm-ppc-next.
Alex
--
To
On 02/28/2012 08:09 AM, Yin Olivia-R63875 wrote:
Hi Scott,
This had been reviewed before and accepted by internal tree.
http://linux.freescale.net/patchwork/patch/11100/
http://git.am.freescale.net/gitolite/gitweb.cgi/sdk/kvm.git/commit/?h=for-sdk1.2id=c5088844dc665dbdae4fa51b8d58dc203bacc17e
On 03/01/2012 02:20 AM, Olivia Yin wrote:
From: Liu Yuyu@freescale.com
So that we can call it when improving SPE switch like book3e did for fp switch.
Timur / Scott, can you please (n)ack this one?
Alex
Signed-off-by: Liu Yuyu@freescale.com
Signed-off-by: Olivia
On 08.03.2012, at 00:12, Stuart Yoder wrote:
From: Liu Yu-B13201 yu@freescale.com
from the kvm guest paravirt init code.
Signed-off-by: Liu Yu yu@freescale.com
[stuart.yo...@freescale.com: misc minor fixes]
Signed-off-by: Stuart Yoder stuart.yo...@freescale.com
---
-v9: no
On 08.03.2012, at 00:12, Stuart Yoder wrote:
From: Liu Yu-B13201 yu@freescale.com
And add a new flag definition in kvm_ppc_pvinfo to indicate
whether host support EV_IDLE hcall.
Signed-off-by: Liu Yu yu@freescale.com
[stuart.yo...@freescale.com: fixes for conditions allowing
On 08.03.2012, at 00:12, Stuart Yoder wrote:
From: Liu Yu-B13201 yu@freescale.com
If the guest hypervisor node contains has-idle property.
Jeez those patch descriptions drive me insane. Could you please rewrite them to
actually describe what the patches are about?
Signed-off-by:
On 08.03.2012, at 00:12, Stuart Yoder wrote:
From: Liu Yu-B13201 yu@freescale.com
Discard the old way that invoke hypercall,
instead, use epapr paravirt.
Signed-off-by: Liu Yu yu@freescale.com
[stuart.yo...@freescale.com: kconfig fixes]
Signed-off-by: Stuart Yoder
On 08.03.2012, at 00:37, Scott Wood wrote:
On 03/07/2012 05:27 PM, Alexander Graf wrote:
On 08.03.2012, at 00:12, Stuart Yoder wrote:
if (vcpu-requests) {
+ /* kvm_vcpu_block() sets KVM_REQ_UNHALT, but it is
+* not cleared elsewhere as on x86. Clear it here
On 08.03.2012, at 05:18, Yoder Stuart-B08248 wrote:
-Original Message-
From: Alexander Graf [mailto:ag...@suse.de]
Sent: Wednesday, March 07, 2012 5:39 PM
To: Wood Scott-B07421
Cc: Yoder Stuart-B08248; kvm-ppc@vger.kernel.org; k...@vger.kernel.org
Subject: Re: [PATCH v9 2/4
that
information as value to put into the register.
While at it, also move the XOP variants of the above instructions to the new
scheme of using the already known vaddr instead of calculating it themselves.
Reported-by: Jörg Sommer jo...@alea.gnuu.de
Signed-off-by: Alexander Graf ag...@suse.de
---
arch/powerpc
On PPC, CR2-CR4 are nonvolatile, thus have to be saved across function calls.
We didn't respect that for any architecture until Paul spotted it in his
patch for Book3S-HV. This patch saves/restores CR for all KVM capable PPC hosts.
Signed-off-by: Alexander Graf ag...@suse.de
---
v1 - v2
On 07.03.2012, at 18:08, Scott Wood wrote:
On 03/07/2012 07:56 AM, Alexander Graf wrote:
On 03/01/2012 02:20 AM, Olivia Yin wrote:
From: Liu Yuyu@freescale.com
So that we can call it when improving SPE switch like book3e did for
fp switch.
Timur / Scott, can you please (n)ack
fixup code that keeps guest code from potentially crashing our host kernel.
Signed-off-by: Alexander Graf ag...@suse.de
---
v1 - v2:
- fix whitespace
- use explicit preempt counts
v2 - v3:
- fix whitespace (for real)
diff --git a/arch/powerpc/kvm/bookehv_interrupts.S
b/arch/powerpc/kvm
On 13.03.2012, at 03:49, Benjamin Herrenschmidt wrote:
There is nothing in the code for emulating TCE tables in the kernel
that prevents it from working on PR KVM... other than ifdef's and
location of the code.
This renames book3s_64_vio_hv.c to book3s_64_vio.c and moves the
bulk of the
Am 13.03.2012 um 21:09 schrieb Benjamin Herrenschmidt
b...@kernel.crashing.org:
On Tue, 2012-03-13 at 14:47 +0100, Alexander Graf wrote:
+++ b/arch/powerpc/include/asm/kvm_host.h
@@ -183,10 +183,14 @@ struct kvm_arch {
unsigned long lpcr;
unsigned long rmor;
struct
On 08.03.2012, at 22:44, Christoffer Dall wrote:
Any news on the status of this?
On Thu, Feb 9, 2012 at 8:45 PM, Alexander Graf ag...@suse.de wrote:
On 10.02.2012, at 02:40, Christoffer Dall wrote:
The kvm_vcpu_kick function performs roughly the same funcitonality on
most all
On 13.03.2012, at 21:47, Christoffer Dall wrote:
On Tue, Mar 13, 2012 at 4:34 PM, Alexander Graf ag...@suse.de wrote:
On 08.03.2012, at 22:44, Christoffer Dall wrote:
Any news on the status of this?
On Thu, Feb 9, 2012 at 8:45 PM, Alexander Graf ag...@suse.de wrote:
On 10.02.2012
is not declared yet, so we can't
dereference it.
This patch moves all logic into the generic inline function, at which
time we have all information necessary.
Signed-off-by: Alexander Graf ag...@suse.de
---
arch/powerpc/include/asm/kvm_host.h |6 +-
include/linux/kvm_host.h|6
far, so
let's also add support for the other two.
This fixes kernel booting with recents book3s_32 guest kernels.
Reported-by: Jörg Sommer jo...@alea.gnuu.de
Signed-off-by: Alexander Graf ag...@suse.de
---
arch/powerpc/kvm/emulate.c | 14 ++
1 files changed, 14 insertions(+), 0
is not declared yet, so we can't
dereference it.
This patch moves all logic into the generic inline function, at which
time we have all information necessary.
Signed-off-by: Alexander Graf ag...@suse.de
---
v1 - v2:
- fix typo
---
arch/powerpc/include/asm/kvm_host.h |6 +-
include/linux
On 14.03.2012, at 08:52, Benjamin Herrenschmidt wrote:
When the kernel calls into RTAS, it switches to 32-bit mode. The
magic page was is longer accessible in that case, causing the
patched instructions in the RTAS call wrapper to crash.
This fixes it by making available a 32-bit mapping
-by: Alexander Graf ag...@suse.de
---
arch/powerpc/kvm/book3s_pr.c |4
1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/arch/powerpc/kvm/book3s_pr.c b/arch/powerpc/kvm/book3s_pr.c
index e2be5ad..62d93b0 100644
--- a/arch/powerpc/kvm/book3s_pr.c
+++ b/arch/powerpc/kvm
We were leaking preemption counters. Fix the code to always toggle
between preempt and non-preempt properly.
Signed-off-by: Alexander Graf ag...@suse.de
---
arch/powerpc/kvm/book3s_pr.c |3 +--
1 files changed, 1 insertions(+), 2 deletions(-)
diff --git a/arch/powerpc/kvm/book3s_pr.c b/arch
-by: Alexander Graf ag...@suse.de
---
arch/powerpc/kvm/book3s_pr.c |1 +
arch/powerpc/kvm/book3s_pr_papr.c |1 +
arch/powerpc/kvm/booke.c |1 +
3 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/arch/powerpc/kvm/book3s_pr.c b/arch/powerpc/kvm/book3s_pr.c
index
-to-pointer-cast]
Fix this by explicity casting the u64 to long before we use it as a pointer.
Reported-by: Jörg Sommer jo...@alea.gnuu.de
Signed-off-by: Alexander Graf ag...@suse.de
---
arch/powerpc/kvm/book3s_pr.c |6 --
1 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/arch
From: Scott Wood scottw...@freescale.com
Currently 32-bit only cares about this for choice of exception
vector, which is done in core-specific code. However, KVM will
want to distinguish as well.
Signed-off-by: Scott Wood scottw...@freescale.com
Signed-off-by: Alexander Graf ag...@suse.de
From: Scott Wood scottw...@freescale.com
This gives us a place to put load/put actions that correspond to
code that is booke-specific but not specific to a particular core.
Signed-off-by: Scott Wood scottw...@freescale.com
Signed-off-by: Alexander Graf ag...@suse.de
---
arch/powerpc/kvm/44x.c
-by: Scott Wood scottw...@freescale.com
[agraf: fix bisectability]
Signed-off-by: Alexander Graf ag...@suse.de
---
arch/powerpc/kvm/e500.h | 25 ++---
1 files changed, 14 insertions(+), 11 deletions(-)
diff --git a/arch/powerpc/kvm/e500.h b/arch/powerpc/kvm/e500.h
index
-by: Scott Wood scottw...@freescale.com
[agraf: fix bisectability]
Signed-off-by: Alexander Graf ag...@suse.de
---
arch/powerpc/include/asm/kvm_host.h |2 +
arch/powerpc/kvm/e500.c | 357 +++
arch/powerpc/kvm/e500.h | 62 -
arch/powerpc/kvm
varun.se...@freescale.com, and
Liu Yu yu@freescale.com.
Signed-off-by: Scott Wood scottw...@freescale.com
Signed-off-by: Alexander Graf ag...@suse.de
---
arch/powerpc/include/asm/cputable.h |6 +-
arch/powerpc/include/asm/kvm.h|1 +
arch/powerpc/kernel
Wood scottw...@freescale.com
Signed-off-by: Alexander Graf ag...@suse.de
---
arch/powerpc/kernel/head_44x.S | 23 +--
arch/powerpc/kernel/head_booke.h | 41 ++
arch/powerpc/kernel/head_fsl_booke.S | 52 +-
3 files
to be referenced from outside arch/powerpc/kvm.
Signed-off-by: Scott Wood scottw...@freescale.com
[agraf: fix bisectability]
Signed-off-by: Alexander Graf ag...@suse.de
---
arch/powerpc/include/asm/kvm_e500.h | 96 ---
arch/powerpc/kvm/e500.c |1 -
arch
Yu yu@freescale.com.
Signed-off-by: Scott Wood scottw...@freescale.com
Signed-off-by: Alexander Graf ag...@suse.de
---
arch/powerpc/kvm/e500.h |5 +++
arch/powerpc/kvm/e500_tlb.c | 72 ---
2 files changed, 72 insertions(+), 5 deletions(-)
diff
From: Scott Wood scottw...@freescale.com
This is in preparation for merging in the contents of
arch/powerpc/include/asm/kvm_e500.h.
Signed-off-by: Scott Wood scottw...@freescale.com
Signed-off-by: Alexander Graf ag...@suse.de
---
arch/powerpc/kvm/e500.c |2 +-
arch/powerpc
When during guest context we get a performance monitor interrupt, we
currently bail out and oops. Let's route it to its correct handler
instead.
Signed-off-by: Alexander Graf ag...@suse.de
---
arch/powerpc/kvm/booke.c |4
1 files changed, 4 insertions(+), 0 deletions(-)
diff --git
. This adds instructions to save
and restore CR at the points where we save and restore the nonvolatile
GPRs.
Signed-off-by: Paul Mackerras pau...@samba.org
Signed-off-by: Alexander Graf ag...@suse.de
---
arch/powerpc/kvm/book3s_hv_interrupts.S |8 ++--
1 files changed, 6 insertions(+), 2
We were leaking preemption counters. Fix the code to always toggle
between preempt and non-preempt properly.
Signed-off-by: Alexander Graf ag...@suse.de
---
arch/powerpc/kvm/book3s_pr.c |3 +--
1 files changed, 1 insertions(+), 2 deletions(-)
diff --git a/arch/powerpc/kvm/book3s_pr.c b/arch
-by: Alexander Graf ag...@suse.de
---
arch/powerpc/kvm/book3s_pr.c |1 +
arch/powerpc/kvm/book3s_pr_papr.c |1 +
arch/powerpc/kvm/booke.c |1 +
3 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/arch/powerpc/kvm/book3s_pr.c b/arch/powerpc/kvm/book3s_pr.c
index
From: Matt Evans m...@ozlabs.org
SPAPR support includes various in-kernel hypercalls, improving performance
by cutting out the exit to userspace. H_BULK_REMOVE is implemented in this
patch.
Signed-off-by: Matt Evans m...@ozlabs.org
Signed-off-by: Alexander Graf ag...@suse.de
---
arch/powerpc
of the magic
page in that case. This mapping is flushed whenever we switch
the kernel back to 64-bit mode.
Signed-off-by: Benjamin Herrenschmidt b...@kernel.crashing.org
[agraf: add a check if the magic page is mapped]
Signed-off-by: Alexander Graf ag...@suse.de
---
arch/powerpc/kvm/book3s.c|3
-by: Alexander Graf ag...@suse.de
---
arch/powerpc/kvm/book3s_pr.c |4
1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/arch/powerpc/kvm/book3s_pr.c b/arch/powerpc/kvm/book3s_pr.c
index e2be5ad..62d93b0 100644
--- a/arch/powerpc/kvm/book3s_pr.c
+++ b/arch/powerpc/kvm
that
information as value to put into the register.
While at it, also move the XOP variants of the above instructions to the new
scheme of using the already known vaddr instead of calculating it themselves.
Reported-by: Jörg Sommer jo...@alea.gnuu.de
Signed-off-by: Alexander Graf ag...@suse.de
---
arch/powerpc
On PPC32 we can not use get_user/put_user for 64bit wide variables, as there
is no single instruction that could load or store variables that big.
So instead, we have to use copy_from/to_user which works everywhere.
Signed-off-by: Alexander Graf ag...@suse.de
---
arch/powerpc/kvm/book3s_pr.c
-volatile GPRs and the FPRs are done with the guest
setup of the PMU active.
Signed-off-by: Paul Mackerras pau...@samba.org
Signed-off-by: Alexander Graf ag...@suse.de
---
arch/powerpc/kvm/book3s_hv_interrupts.S |9 ++-
arch/powerpc/kvm/book3s_hv_rmhandlers.S | 93 ++-
2
far, so
let's also add support for the other two.
This fixes kernel booting with recents book3s_32 guest kernels.
Reported-by: Jörg Sommer jo...@alea.gnuu.de
Signed-off-by: Alexander Graf ag...@suse.de
---
arch/powerpc/kvm/emulate.c | 14 ++
1 files changed, 14 insertions(+), 0
...@freescale.com
Signed-off-by: Alexander Graf ag...@suse.de
---
arch/powerpc/kvm/bookehv_interrupts.S | 11 ---
1 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/arch/powerpc/kvm/bookehv_interrupts.S
b/arch/powerpc/kvm/bookehv_interrupts.S
index 57e2fa4..909e96e 100644
On PPC, CR2-CR4 are nonvolatile, thus have to be saved across function calls.
We didn't respect that for any architecture until Paul spotted it in his
patch for Book3S-HV. This patch saves/restores CR for all KVM capable PPC hosts.
Signed-off-by: Alexander Graf ag...@suse.de
---
arch/powerpc/kvm
Signed-off-by: Alexander Graf ag...@suse.de
---
arch/powerpc/kvm/book3s_hv_builtin.c |9 +
1 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/arch/powerpc/kvm/book3s_hv_builtin.c
b/arch/powerpc/kvm/book3s_hv_builtin.c
index bed1279..e1b60f5 100644
--- a/arch/powerpc/kvm
So far, we've always called prepare_to_enter even when all we did was return
to the host. This patch changes that semantic to only call prepare_to_enter
when we actually want to get back into the guest.
Signed-off-by: Alexander Graf ag...@suse.de
---
arch/powerpc/kvm/booke.c | 18
When we get a performance monitor interrupt, we need to make sure that
the host receives it. So reinject it like we reinject the other host
destined interrupts.
Signed-off-by: Alexander Graf ag...@suse.de
---
arch/powerpc/include/asm/hw_irq.h |1 +
arch/powerpc/kvm/booke.c |4
came from the interrupt reinject code.
This helps getting reasonable numbers out of perf.
Signed-off-by: Alexander Graf ag...@suse.de
---
arch/powerpc/kvm/booke.c | 56 +
1 files changed, 41 insertions(+), 15 deletions(-)
diff --git a/arch/powerpc/kvm
The tlbncfg registers should be populated with their respective TLB's
values. Fix the obvious typo.
Signed-off-by: Alexander Graf ag...@suse.de
---
arch/powerpc/kvm/e500_tlb.c |4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/powerpc/kvm/e500_tlb.c b/arch/powerpc
When during guest execution we get a machine check interrupt, we don't
know how to handle it yet. So let's add the error printing code back
again that we dropped accidently earlier and tell user space that something
went really wrong.
Signed-off-by: Alexander Graf ag...@suse.de
---
arch/powerpc
There was some unused code in the exit code path that must have been
a leftover from earlier iterations. While it did no harm, it's superfluous
and thus should be removed.
Signed-off-by: Alexander Graf ag...@suse.de
---
arch/powerpc/kvm/bookehv_interrupts.S |7 ---
1 files changed, 0
For BookE HV the guest visible MSR is shared-msr and is identical to
the MSR that is in use while the guest is running, because we can't trap
reads from/to MSR.
So shadow_msr is unused there. Indicate that with a comment.
Signed-off-by: Alexander Graf ag...@suse.de
---
arch/powerpc/include/asm
The SET_VCPU macro is a leftover from times when the vcpu struct wasn't
stored in the thread on vcpu_load/put. It's not needed anymore. Remove it.
Signed-off-by: Alexander Graf ag...@suse.de
---
arch/powerpc/kvm/bookehv_interrupts.S |8
1 files changed, 0 insertions(+), 8 deletions
Instead if doing
#ifndef CONFIG_64BIT
...
#else
...
#endif
we should rather do
#ifdef CONFIG_64BIT
...
#else
...
#endif
which is a lot easier to read. Change the bookehv implementation to
stick with this rule.
Signed-off-by: Alexander Graf ag...@suse.de
---
arch/powerpc
When using exit timing stats, we clobber r9 in the NEED_EMU case,
so better move that part down a few lines and fix it that way.
Signed-off-by: Alexander Graf ag...@suse.de
---
arch/powerpc/kvm/bookehv_interrupts.S |8
1 files changed, 4 insertions(+), 4 deletions(-)
diff --git
The semantics of BOOKE_IRQPRIO_MAX changed to denote the highest available
irqprio + 1, so let's reflect that in the code too.
Signed-off-by: Alexander Graf ag...@suse.de
---
arch/powerpc/kvm/booke.c |2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/arch/powerpc/kvm
kvmppc_prepare_to_enter function for all ppc targets that
does signal and reschedule checking for us.
Signed-off-by: Alexander Graf ag...@suse.de
---
arch/powerpc/include/asm/kvm_ppc.h |2 +-
arch/powerpc/kvm/book3s.c |4 +-
arch/powerpc/kvm/booke.c | 72
The e500mc patches left some debug code in that we don't need. Remove it.
Signed-off-by: Alexander Graf ag...@suse.de
---
arch/powerpc/kvm/booke.c |5 -
1 files changed, 0 insertions(+), 5 deletions(-)
diff --git a/arch/powerpc/kvm/booke.c b/arch/powerpc/kvm/booke.c
index 9fcc760
space however
decides that it wants to ignore the debug, we would at least do the right
thing afterwards.
Signed-off-by: Alexander Graf ag...@suse.de
---
arch/powerpc/kvm/booke.c |2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/arch/powerpc/kvm/booke.c b/arch/powerpc/kvm
We can't run e500v2 kvm on e500mc kernels, so indicate that by
making the 2 options mutually exclusive in kconfig.
Signed-off-by: Alexander Graf ag...@suse.de
---
arch/powerpc/kvm/Kconfig |2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/arch/powerpc/kvm/Kconfig b/arch
fixup code that keeps guest code from potentially crashing our host kernel.
Signed-off-by: Alexander Graf ag...@suse.de
---
arch/powerpc/kvm/bookehv_interrupts.S | 30 +-
1 files changed, 29 insertions(+), 1 deletions(-)
diff --git a/arch/powerpc/kvm
fix up our guest instruction read code. And
for that to work we need r1/r2 restored.
Signed-off-by: Alexander Graf ag...@suse.de
---
arch/powerpc/kvm/bookehv_interrupts.S | 12 ++--
1 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/arch/powerpc/kvm/bookehv_interrupts.S
b/arch
The CONFIG_KVM_E500 option really indicates that we're running on a V2 machine,
not on a machine of the generic E500 class. So indicate that properly and
change the config name accordingly.
Signed-off-by: Alexander Graf ag...@suse.de
---
arch/powerpc/kvm/Kconfig|8
arch/powerpc
901 - 1000 of 2818 matches
Mail list logo