At present, the KVM_GET_DIRTY_LOG ioctl doesn't report modifications
done by the host to the virtual processor areas (VPAs) and dispatch
trace logs (DTLs) registered by the guest. This is because those
modifications are done either in real mode or in the host kernel
context, and in neither case do
At present, the code that determines whether a HPT entry has changed,
and thus needs to be sent to userspace when it is copying the HPT,
doesn't consider a hardware update to the reference and change bits
(R and C) in the HPT entries to constitute a change that needs to
be sent to userspace. This
This series of two patches fixes a couple of bugs in live migration
under HV-style KVM on PPC. They only touch PPC/HV code and add no new
APIs. The patches are against Alex Graf's kvm-ppc-next branch. I
would like them to go in for 3.10.
Paul.
arch/powerpc/include/asm/kvm_book3s.h|3 +
We can provide this emulation to simplify more extension later.
Signed-off-by: Tiejun Chen
---
arch/powerpc/include/asm/disassemble.h |4
arch/powerpc/kvm/e500_emulate.c| 17 +
2 files changed, 21 insertions(+)
diff --git a/arch/powerpc/include/asm/disassemble
On 04/18/2013 08:09:23 PM, Alexander Graf wrote:
On 19.04.2013, at 02:50, Scott Wood wrote:
> On 04/18/2013 07:15:46 PM, Alexander Graf wrote:
>> On 18.04.2013, at 23:39, Scott Wood wrote:
>> > On 04/18/2013 09:11:55 AM, Alexander Graf wrote:
>> >> +static inline int irqchip_in_kernel(struct kv
On 19.04.2013, at 02:50, Scott Wood wrote:
> On 04/18/2013 07:15:46 PM, Alexander Graf wrote:
>> On 18.04.2013, at 23:39, Scott Wood wrote:
>> > On 04/18/2013 09:11:55 AM, Alexander Graf wrote:
>> >> +static inline int irqchip_in_kernel(struct kvm *kvm)
>> >> +{
>> >> + int ret = 0;
>> >> +
>> >>
On 04/18/2013 07:15:46 PM, Alexander Graf wrote:
On 18.04.2013, at 23:39, Scott Wood wrote:
> On 04/18/2013 09:11:55 AM, Alexander Graf wrote:
>> +static inline int irqchip_in_kernel(struct kvm *kvm)
>> +{
>> + int ret = 0;
>> +
>> +#ifdef CONFIG_KVM_MPIC
>> + ret = ret || (kvm->arch.
On 18.04.2013, at 23:39, Scott Wood wrote:
> On 04/18/2013 09:11:55 AM, Alexander Graf wrote:
>> Now that all the irq routing and irqfd pieces are generic, we can expose
>> real irqchip support to all of KVM's internal helpers.
>> This allows us to use irqfd with the in-kernel MPIC.
>> Signed-off
On 04/18/2013 09:11:55 AM, Alexander Graf wrote:
Now that all the irq routing and irqfd pieces are generic, we can
expose
real irqchip support to all of KVM's internal helpers.
This allows us to use irqfd with the in-kernel MPIC.
Signed-off-by: Alexander Graf
---
arch/powerpc/include/asm/kv
On 18.04.2013, at 16:29, Scott Wood wrote:
> On 04/18/2013 09:11:57 AM, Alexander Graf wrote:
>> The code as is doesn't make any sense on non-e500 platforms.
>
> Why? What actually breaks?
It broke even compiling, because book3s doesn't provide anything for EPR for
example. I fixed up the iss
On 04/18/2013 09:11:57 AM, Alexander Graf wrote:
The code as is doesn't make any sense on non-e500 platforms.
Why? What actually breaks?
You never answered my earlier question about whether 74xx is
supported. MPC86xx is 74xx-derived and has an FSL MPIC.
Plus, as pointed out earlier, this
The concept of routing interrupt lines to an irqchip is nothing
that is IOAPIC specific. Every irqchip has a maximum number of pins
that can be linked to irq lines.
So let's add a new define that allows us to reuse generic code for
non-IOAPIC platforms.
Signed-off-by: Alexander Graf
---
arch/x8
The IRQ routing set ioctl lives in the hacky device assignment code inside
of KVM today. This is definitely the wrong place for it. Move it to the much
more natural kvm_main.c.
Signed-off-by: Alexander Graf
---
virt/kvm/assigned-dev.c | 30 --
virt/kvm/kvm_main.c
The current irq_comm.c file contains pieces of code that are generic
across different irqchip implementations, as well as code that is
fully IOAPIC specific.
Split the generic bits out into irqchip.c.
Signed-off-by: Alexander Graf
---
arch/x86/kvm/Makefile |2 +-
include/trace/events/k
Now that all pieces are in place for reusing generic irq infrastructure,
we can copy x86's implementation of KVM_IRQ_LINE irq injection and simply
reuse it for PPC, as it will work there just as well.
Signed-off-by: Alexander Graf
---
arch/powerpc/include/uapi/asm/kvm.h |1 +
arch/powerpc/kv
Quite a bit of code in KVM has been conditionalized on availability of
IOAPIC emulation. However, most of it is generically applicable to
platforms that don't have an IOPIC, but a different type of irq chip.
Make code that only relies on IRQ routing, not an APIC itself, on
CONFIG_HAVE_KVM_IRQ_ROUT
From: Scott Wood
Currently, devices that are emulated inside KVM are configured in a
hardcoded manner based on an assumption that any given architecture
only has one way to do it. If there's any need to access device state,
it is done through inflexible one-purpose-only IOCTLs (e.g.
KVM_GET/SET_
Now that we have most irqfd code completely platform agnostic, let's move
irqfd's resample capability return to generic code as well.
Signed-off-by: Alexander Graf
---
arch/x86/kvm/x86.c |1 -
virt/kvm/kvm_main.c |3 +++
2 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/arc
Hi,
This patch set contains a fully working implementation of the in-kernel MPIC
from Scott with a few fixups and a new version of my irqfd generalization
patch set.
Major changes to my last irqfd set are:
- depend on CONFIG_ defines rather than __KVM defines
- fix compile issues
- fix the
Setting up IRQ routes is nothing IOAPIC specific. Extract everything
that really is generic code into irqchip.c and only leave the ioapic
specific bits to irq_comm.c.
Signed-off-by: Alexander Graf
---
include/linux/kvm_host.h |3 ++
virt/kvm/irq_comm.c | 76 ++-
The prototype has been stale for a while, I can't spot any real function
define behind it. Let's just remove it.
Signed-off-by: Alexander Graf
---
include/linux/kvm_host.h |5 -
1 files changed, 0 insertions(+), 5 deletions(-)
diff --git a/include/linux/kvm_host.h b/include/linux/kvm_ho
The code as is doesn't make any sense on non-e500 platforms. Restrict it
there, so that people don't get wrong ideas on what would actually work.
This patch should get reverted as soon as it's possible to either run e500
guests on non-e500 hosts or the MPIC emulation gains support for non-e500
mod
From: Scott Wood
Enabling this capability connects the vcpu to the designated in-kernel
MPIC. Using explicit connections between vcpus and irqchips allows
for flexibility, but the main benefit at the moment is that it
simplifies the code -- KVM doesn't need vm-global state to remember
which MPIC
From: Scott Wood
This is QEMU's hw/openpic.c from commit
abd8d4a4d6dfea7ddea72f095f993e1de941614e ("Update version for
1.4.0-rc0"), run through Lindent with no other changes to ease merging
future changes between Linux and QEMU. Remaining style issues
(including those introduced by Lindent) will
From: Scott Wood
Remove braces that Linux style doesn't permit, remove space after
'*' that Lindent added, keep error/debug strings contiguous, etc.
Substitute type names, debug prints, etc.
Signed-off-by: Scott Wood
Signed-off-by: Alexander Graf
---
arch/powerpc/kvm/mpic.c | 445 ++
From: Scott Wood
Remove some parts of the code that are obviously QEMU or Raven specific
before fixing style issues, to reduce the style issues that need to be
fixed.
Signed-off-by: Scott Wood
Signed-off-by: Alexander Graf
---
arch/powerpc/kvm/mpic.c | 344 ---
Now that all the irq routing and irqfd pieces are generic, we can expose
real irqchip support to all of KVM's internal helpers.
This allows us to use irqfd with the in-kernel MPIC.
Signed-off-by: Alexander Graf
---
arch/powerpc/include/asm/kvm_host.h |7 ++
arch/powerpc/include/uapi/asm/kvm
From: Scott Wood
Hook the MPIC code up to the KVM interfaces, add locking, etc.
Signed-off-by: Scott Wood
[agraf: add stub function for kvmppc_mpic_set_epr, non-booke, 64bit]
Signed-off-by: Alexander Graf
---
Documentation/virtual/kvm/devices/mpic.txt | 37 ++
arch/powerpc/include/asm/kvm_h
We have a capability enquire system that allows user space to ask kvm
whether a feature is available.
The point behind this system is that we can have different kernel
configurations with different capabilities and user space can adjust
accordingly.
Because features can always be non existent, we
29 matches
Mail list logo