Re: [PATCH V2 0/2] kvm tools: PPC64 basic support

2011-12-14 Thread Benjamin Herrenschmidt
On Wed, 2011-12-14 at 08:35 +0200, Sasha Levin wrote:
> 
> In that case, KVM_CAP_IOEVENTFD is simply not set, so we're better off
> checking the cap dynamically instead of having it defined statically
> in the makefile.
> 
> I'll send a short patch that does that.

Indeed, and in general, even if it was set, a failure of the ioctl could
be handled gracefully by switching to not using it from the generic code
without an arch override.

Cheers,
Ben.


--
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


Re: [PATCH V2 0/2] kvm tools: PPC64 basic support

2011-12-13 Thread Sasha Levin
On Wed, 2011-12-14 at 11:34 +1100, Matt Evans wrote:
> On 13/12/11 21:23, Sasha Levin wrote:
> > On Tue, 2011-12-13 at 18:00 +1100, Matt Evans wrote:
> >> The second patch is a small fix for generic virtio code (now that we have a
> >> PPC build) which removes reliance on ioeventfds for PPC, which doesn't 
> >> provide
> >> them. 
> > 
> > Hm... ioeventfds are located in the generic code and should be available
> > on all archs (it doesn't use any arch specific code at all afaik).
> > 
> > Why don't they work on ppc?
> > 
> 
> Well, there are two problems: you're right that it's generic code, but it's
> configurable and CONFIG_HAVE_KVM_EVENTFD isn't set for PPC KVM (thus the ioctl
> fails).  That's probably off because ioevents won't work anyway-- the 
> in-kernel
> MMIO exit route isn't wired up to kvm_io_bus_read/write() yet.  (It looks like
> KVM_IRQFD will also fail, which virtio-pci /would/ use if I supported MSIs,
> which I currently don't.)
> 
> Yes, this can be fixed, but relying on it means that virtio on kvmtool/PPC 
> won't
> work on today's kernels. :(

In that case, KVM_CAP_IOEVENTFD is simply not set, so we're better off
checking the cap dynamically instead of having it defined statically in
the makefile.

I'll send a short patch that does that.

-- 

Sasha.

--
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


Re: [PATCH V2 0/2] kvm tools: PPC64 basic support

2011-12-13 Thread Matt Evans
On 13/12/11 21:23, Sasha Levin wrote:
> On Tue, 2011-12-13 at 18:00 +1100, Matt Evans wrote:
>> The second patch is a small fix for generic virtio code (now that we have a
>> PPC build) which removes reliance on ioeventfds for PPC, which doesn't 
>> provide
>> them. 
> 
> Hm... ioeventfds are located in the generic code and should be available
> on all archs (it doesn't use any arch specific code at all afaik).
> 
> Why don't they work on ppc?
> 

Well, there are two problems: you're right that it's generic code, but it's
configurable and CONFIG_HAVE_KVM_EVENTFD isn't set for PPC KVM (thus the ioctl
fails).  That's probably off because ioevents won't work anyway-- the in-kernel
MMIO exit route isn't wired up to kvm_io_bus_read/write() yet.  (It looks like
KVM_IRQFD will also fail, which virtio-pci /would/ use if I supported MSIs,
which I currently don't.)

Yes, this can be fixed, but relying on it means that virtio on kvmtool/PPC won't
work on today's kernels. :(


Cheers,


Matt
--
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


Re: [PATCH V2 0/2] kvm tools: PPC64 basic support

2011-12-13 Thread Sasha Levin
On Tue, 2011-12-13 at 18:00 +1100, Matt Evans wrote:
> The second patch is a small fix for generic virtio code (now that we have a
> PPC build) which removes reliance on ioeventfds for PPC, which doesn't provide
> them. 

Hm... ioeventfds are located in the generic code and should be available
on all archs (it doesn't use any arch specific code at all afaik).

Why don't they work on ppc?

-- 

Sasha.

--
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


[PATCH V2 0/2] kvm tools: PPC64 basic support

2011-12-12 Thread Matt Evans
These two patches build on the previous "split out arch-specific" work.  The
first adds a PPC64 build, basic CPU support, guest RAM mapping (using 
hugepages),
flat kernel loading and all required arch-specific definitions & structures.

With patches to date, this should build PPC but not necessarily run much.
Subsequent patches add support to emulate an SPAPR-esque machine.

This patch does not include any code borrowed from outside kvmtool.

The second patch is a small fix for generic virtio code (now that we have a
PPC build) which removes reliance on ioeventfds for PPC, which doesn't provide
them.

Matt Evans (2):
  kvm tools: Add initial SPAPR PPC64 architecture support
  kvm tools: Make virtio-pci's ioeventfd__add_event() fall back
gracefully if ioeventfds unavailable

 tools/kvm/Makefile   |   10 +
 tools/kvm/include/kvm/ioeventfd.h|3 +-
 tools/kvm/ioeventfd.c|   12 +-
 tools/kvm/kvm.c  |3 +
 tools/kvm/powerpc/include/kvm/barrier.h  |6 +
 tools/kvm/powerpc/include/kvm/kvm-arch.h |   72 
 tools/kvm/powerpc/include/kvm/kvm-cpu-arch.h |   66 
 tools/kvm/powerpc/ioport.c   |   18 ++
 tools/kvm/powerpc/irq.c  |   40 +
 tools/kvm/powerpc/kvm-cpu.c  |  233 ++
 tools/kvm/powerpc/kvm.c  |  187 +
 tools/kvm/virtio/pci.c   |   13 ++-
 12 files changed, 658 insertions(+), 5 deletions(-)
 create mode 100644 tools/kvm/powerpc/include/kvm/barrier.h
 create mode 100644 tools/kvm/powerpc/include/kvm/kvm-arch.h
 create mode 100644 tools/kvm/powerpc/include/kvm/kvm-cpu-arch.h
 create mode 100644 tools/kvm/powerpc/ioport.c
 create mode 100644 tools/kvm/powerpc/irq.c
 create mode 100644 tools/kvm/powerpc/kvm-cpu.c
 create mode 100644 tools/kvm/powerpc/kvm.c

--
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