The following series implements KVM support for ARM processors,
specifically on the Cortex A-15 platform.
The patch series applies to a mashup of v3.3-rc6, the vexpress support,
and kvm-next. I apologize for this mess, but there's really no good way
around this, since we need vexpress support and
This is a prepatory patch for the KVM/ARM implementation. KVM/ARM will use
the KVM_IRQ_LINE ioctl, which is currently conditional on
__KVM_HAVE_IOAPIC, but ARM obviously doesn't have any IOAPIC support and we
need a separate define.
Signed-off-by: Christoffer Dall c.d...@virtualopensystems.com
From: Marc Zyngier marc.zyng...@arm.com
In order to avoid compilation failure when KVM is not compiled in,
guard the mmu_notifier specific sections with both CONFIG_MMU_NOTIFIER
and KVM_ARCH_WANT_MMU_NOTIFIER, like it is being done in the rest of
the KVM code.
Signed-off-by: Marc Zyngier
From: Christoffer Dall cd...@cs.columbia.edu
Targets KVM support for Cortex A-15 processors.
Contains no real functionality but all the framework components,
make files, header files and some tracing functionality.
“Nothing to see here. Move along, move along...
Most functionality is in
From: Christoffer Dall cd...@cs.columbia.edu
Sets up the required registers to run code in HYP-mode from the kernel.
By setting the HVBAR the kernel can execute code in Hyp-mode with
the MMU disabled. The HVBAR initially points to initialization code,
which initializes other Hyp-mode registers
Adds support in the identity mapping feature that allows KVM to setup
identity mapping for the Hyp mode with the AP[1] bit set as required by
the specification and also supports freeing created sub pmd's after
finished use.
These two functions:
- hyp_idmap_add(pgd, addr, end);
-
This commit introduces the framework for guest memory management
through the use of 2nd stage translation. Each VM has a pointer
to a level-1 table (the pgd field in struct kvm_arch) which is
used for the 2nd stage translations. Entries are added when handling
guest faults (later patch) and the
From: Christoffer Dall cd...@cs.columbia.edu
Userspace can inject IRQs and FIQs through the KVM_IRQ_LINE VM ioctl.
This ioctl is used since the sematics are in fact two lines that can be
either raised or lowered on the VCPU - the IRQ and FIQ lines.
KVM needs to know which VCPU it must operate on
From: Christoffer Dall cd...@cs.columbia.edu
Provides complete world-switch implementation to switch to other guests
running in non-secure modes. Includes Hyp exception handlers that
capture necessary exception information and stores the information on
the VCPU and KVM structures.
Switching to
From: Christoffer Dall cd...@cs.columbia.edu
Adds a new important function in the main KVM/ARM code called
handle_exit() which is called from kvm_arch_vcpu_ioctl_run() on returns
from guest execution. This function examines the Hyp-Syndrome-Register
(HSR), which contains information telling KVM
From: Christoffer Dall cd...@cs.columbia.edu
Handles the guest faults in KVM by mapping in corresponding user pages
in the 2nd stage page tables.
Introduces new ARM-specific kernel memory types, PAGE_KVM_GUEST and
pgprot_guest variables used to map 2nd stage memory for KVM guests.
Leverages MMU
From: Christoffer Dall cd...@cs.columbia.edu
When the guest accesses I/O memory this will create data abort
exceptions and they are handled by decoding the HSR information
(physical address, read/write, length, register) and forwarding reads
and writes to QEMU which performs the device emulation.
From: Christoffer Dall cd...@cs.columbia.edu
When the guest executes a WFI instruction the operation is trapped to
KVM, which emulates the instruction in software. There is no correlation
between a guest executing a WFI instruction and actually putting the
hardware into a low-power mode, since a
Hi,
it caused problems so I had to modify it a bit. It's already fixed and
applied in upstream.
Regards,
Lukáš
Dne 12.3.2012 04:34, lei yang napsal(a):
Howerver, you did the opposite thing or you did it two times
commit 6e4b5cffe999714357116884fcc4eb27fae41260
Author: Lucas Meneghel
Takuya Yoshikawa yoshikawa.tak...@oss.ntt.co.jp wrote:
-int kvm_mmu_rmap_write_protect(struct kvm *kvm, u64 gfn,
-struct kvm_memory_slot *slot)
+static int __rmap_write_protect(struct kvm *kvm, unsigned long *rmapp, int
level)
{
- unsigned long *rmapp;
-
Takuya Yoshikawa yoshikawa.tak...@oss.ntt.co.jp wrote:
Something may change here: when level PT_PAGE_TABLE_LEVEL, this loop
does not handle lower level mappings after dropping large-ptes.
This may be incorrect.
On second thoughts, this seems to be no problem.
I was just confused.
Thanks,
On Mon, Mar 12, 2012 at 3:15 PM, Lukáš Doktor ldok...@redhat.com wrote:
Hi,
it caused problems so I had to modify it a bit. It's already fixed and
applied in upstream.
You mean you want put include subtests.cfg on the top or in the end?
from your idea you seems want it to be the end to
Yes, as I mentioned before, I wanted to put subtests.cfg after the other
imports, but it caused a lot of trouble. So I find another solution
without changing the import order.
Dne 12.3.2012 08:49, lei yang napsal(a):
On Mon, Mar 12, 2012 at 3:15 PM, Lukáš Doktorldok...@redhat.com wrote:
Hi,
On 03/11/2012 05:57 PM, Davidlohr Bueso wrote:
From: Davidlohr Bueso d...@gnu.org
Add a new tracepoint for vpid allocation and freeing associated to all vCPUs.
Why?
--
I have a truly marvellous patch that fixes the bug which this
signature is too narrow to contain.
--
To unsubscribe from
On Wed, Mar 07, 2012 at 09:11:40AM -0500, Jamal Hadi Salim wrote:
Why so? (I think the switch chips should just never do learning at
all..)
I agree that learning in software gives you more flexibility;
however, I am for providing interface flexibility as well - switches
have learning
On Fri, Mar 9, 2012 at 6:33 PM, Paolo Bonzini pbonz...@redhat.com wrote:
Il 09/03/2012 10:00, zwu.ker...@gmail.com ha scritto:
+ /* TODO use qemu_send_packet() or need to call *_deliver_*
directly? */
+ /* TODO ignore return value? */
+ qemu_send_packet(port-nc, buf,
At 03/09/2012 09:21 AM, Wen Congyang Wrote:
At 03/08/2012 07:13 PM, Avi Kivity Wrote:
On 03/08/2012 09:57 AM, Wen Congyang wrote:
We can know the guest is paniced when the guest runs on xen.
But we do not have such feature on kvm.
Another purpose of this feature is: management app(for
Currently, we call ioapic_service() immediately when we find the irq is still
active during eoi broadcast. But for real hardware, there's some dealy between
the EOI writing and irq delivery (system bus latency?). So we need to emulate
this behavior. Otherwise, for a guest who haven't register a
Il 12/03/2012 09:59, Zhi Yong Wu ha scritto:
However, then I noticed that qemu_can_send_packet is not called very
much, and I do not understand why qemu_net_queue_send and
qemu_net_queue_send_iov do not call qemu_can_send_packet before calling
deliver/deliver_iov.
If they did, hubs could
On Mon, Mar 12, 2012 at 05:07:35PM +0800, Jason Wang wrote:
Currently, we call ioapic_service() immediately when we find the irq is still
active during eoi broadcast. But for real hardware, there's some dealy between
the EOI writing and irq delivery (system bus latency?). So we need to emulate
On 02/21/2012 07:33 PM, Peter Maydell wrote:
Short summary:
* switch wp groups to bitfield rather than int array
* convert sd.c to use memory_region_init_ram() to allocate the wp groups
(being careful to use memory_region_set_dirty() when we touch them)
* we don't need variable-length
On 03/12/2012 05:23 PM, Gleb Natapov wrote:
On Mon, Mar 12, 2012 at 05:07:35PM +0800, Jason Wang wrote:
Currently, we call ioapic_service() immediately when we find the irq is still
active during eoi broadcast. But for real hardware, there's some dealy
between
the EOI writing and irq
On Mon, Mar 12, 2012 at 05:44:00PM +0800, Jason Wang wrote:
On 03/12/2012 05:23 PM, Gleb Natapov wrote:
On Mon, Mar 12, 2012 at 05:07:35PM +0800, Jason Wang wrote:
Currently, we call ioapic_service() immediately when we find the irq is
still
active during eoi broadcast. But for real
On Mon, 2012-03-12 at 10:22 +0200, Avi Kivity wrote:
On 03/11/2012 05:57 PM, Davidlohr Bueso wrote:
From: Davidlohr Bueso d...@gnu.org
Add a new tracepoint for vpid allocation and freeing associated to all
vCPUs.
Why?
We have been using this tracepoint for some time now to help
On 03/09/2012 03:21 AM, Wen Congyang wrote:
Changes from v2 to v3:
1. correct spelling
Changes from v1 to v2:
1. split up host and guest-side changes
2. introduce new request flag to avoid changing return values.
I see no Documentation/ changes.
What shoude be writen into
On 03/12/2012 11:04 AM, Wen Congyang wrote:
Do you have any other comments about this patch?
Not really, but I'm not 100% convinced the patch is worthwhile. It's
likely to only be used by Linux, which has kexec facilities, and you can
put talk to management via virtio-serial and describe the
On 03/12/2012 01:29 PM, Davidlohr Bueso wrote:
On Mon, 2012-03-12 at 10:22 +0200, Avi Kivity wrote:
On 03/11/2012 05:57 PM, Davidlohr Bueso wrote:
From: Davidlohr Bueso d...@gnu.org
Add a new tracepoint for vpid allocation and freeing associated to all
vCPUs.
Why?
We
On 03/09/2012 02:08 AM, Marcelo Tosatti wrote:
So, it would be helpful if you can apply the patch series and I can work
on top of that: although I cannot use servers with 100GB memory now,
migrating a guest with 16GB memory or so may be possible later: I need
to reserve servers for that.
On 03/09/2012 04:13 PM, Stefan Hajnoczi wrote:
The kvm kernel module includes a number of trace events which can be
useful when debugging system behavior. Even on production systems these
trace events can be used to observe guest behavior and identify the
source of problems.
The
On 03/08/2012 05:47 PM, Christian Borntraeger wrote:
On 08/03/12 12:45, Davidlohr Bueso wrote:
From: Davidlohr Bueso d...@gnu.org
Since most guests will have paging enabled for memory management, add
likely() optimization
around CR0.PG checks.
{
- return
On Mon, Mar 12, 2012 at 5:12 PM, Paolo Bonzini pbonz...@redhat.com wrote:
Il 12/03/2012 09:59, Zhi Yong Wu ha scritto:
However, then I noticed that qemu_can_send_packet is not called very
much, and I do not understand why qemu_net_queue_send and
qemu_net_queue_send_iov do not call
Hi
Please send in any agenda items you are interested in covering.
Cheers,
Juan.
--
To unsubscribe from this list: send the line unsubscribe kvm in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
The command I use is something like:
sudo /home/kvm/linux-kvm/tools/kvm/lkvm run -p root=/dev/vda1 -d
/home/kvm/Internato/debian_squeeze_i386_standard.raw -n
vhost=on,guest_mac=00:16:35:AF:94:4B,guest_ip=192.168.0.3,host_ip=192.168.0.9
and then in order to connect the tap interface to the host
On 12/03/12 06:52, Christoffer Dall wrote:
From: Christoffer Dall cd...@cs.columbia.edu
Handles the guest faults in KVM by mapping in corresponding user pages
in the 2nd stage page tables.
Introduces new ARM-specific kernel memory types, PAGE_KVM_GUEST and
pgprot_guest variables used to
On Mon, Mar 12, 2012 at 11:31 AM, Marc Zyngier marc.zyng...@arm.com wrote:
On 12/03/12 06:52, Christoffer Dall wrote:
From: Christoffer Dall cd...@cs.columbia.edu
Handles the guest faults in KVM by mapping in corresponding user pages
in the 2nd stage page tables.
Introduces new ARM-specific
On 12/03/12 16:23, Christoffer Dall wrote:
On Mon, Mar 12, 2012 at 11:31 AM, Marc Zyngier marc.zyng...@arm.com wrote:
On 12/03/12 06:52, Christoffer Dall wrote:
From: Christoffer Dall cd...@cs.columbia.edu
Handles the guest faults in KVM by mapping in corresponding user pages
in the 2nd
On Mon, Mar 12, 2012 at 02:08:10PM +0200, Avi Kivity wrote:
On 03/09/2012 04:13 PM, Stefan Hajnoczi wrote:
The kvm kernel module includes a number of trace events which can be
useful when debugging system behavior. Even on production systems these
trace events can be used to observe guest
I have a use case where I need to cleanup resource allocated for Virtual
Functions after a guest OS that used it crashed. This cleanup needs to
be done before the VF is being FLRed. The only possible way to do this
seems to be by using pci_dev_specific_reset() function.
This patch adds specific
https://bugzilla.kernel.org/show_bug.cgi?id=42829
--- Comment #17 from Kurk k...@shiftmail.org 2012-03-12 17:15:16 ---
Steve, thank you for finding this bug.
Is there a chance you could test without vhost but with the event_idx=off ?
This is the xml line in case you use libvirt:
interface
On Fri, Mar 09, 2012 at 09:52:29PM +0100, Jan Kiszka wrote:
On 2012-03-09 20:09, Liu, Jinsong wrote:
Jan Kiszka wrote:
On 2012-03-09 19:27, Liu, Jinsong wrote:
Jan Kiszka wrote:
On 2012-03-06 08:49, Liu, Jinsong wrote:
Jan,
Any comments? I feel some confused about your point
On 03/12/2012 04:48 PM, Stefan Hajnoczi wrote:
That said, I agree that integrating flightrecorder mode into perf would
be very nice. I'm not sure I'll be able to come up with patches soon
but if someone is interested in doing this that would be fantastic.
I'm in the same boat - my comment
On 03/12/2012 08:51 AM, Christoffer Dall wrote:
The following series implements KVM support for ARM processors,
specifically on the Cortex A-15 platform.
The patch series applies to a mashup of v3.3-rc6, the vexpress support,
and kvm-next. I apologize for this mess, but there's really no good
Hi,
Can anyone explain me the routing from IOAPIC to LAPIC and how the
LAPIC/vcpu is choosen for the given IRQ.
I found two different structures for IRQ routing and I am little
confused with them.
1. kvm_kernel_irq_routing_entry
2. kvm_irq_routing_entry
And also it will
On 03/01/2012 12:32 PM, Takuya Yoshikawa wrote:
Dropped such mappings when we enabled dirty logging and we will never
create new ones until we stop the logging.
For this we introduce a new function which can be used to write protect
a range of PT level pages: although we do not need to care
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 this
On 08.03.2012, at 23:45, Christoffer Dall wrote:
Any comments on this one?
While at it, how about you also add the PID? Otherwise it's pretty pointless to
write information into the kernel log, as you still won't know which VM it
origins from.
Also, I don't like the long function name. How
There's always a chance we're unable to read a guest instruction. The guest
could have its TLB mapped execute-, but not readable, something odd happens
and our TLB gets flushed. So it's a good idea to be prepared for that case
and have a fallback that allows us to fix things up in that case.
Add
Hi Folks,
We have some fundamental questions on vhost-net performance.
we are testing kvm network I/O performance by connecting two
server class machines back to back
(cisco UCS boxes with 32GB memory and 24 cores).
We tested with and without vhost-net.
Qemu version 0.15
latest libvirt
VFIO is completely stalled waiting on a poorly defined device isolation
infrastructure to take shape. Rather than waiting any longer, I've
decided to write my own. This is nowhere near ready for upstream, but
attempts to hash out some of the interactions of isolation groups.
To recap, an
Signed-off-by: Alex Williamson alex.william...@redhat.com
---
drivers/base/Kconfig | 10 +
drivers/base/Makefile |1
drivers/base/base.h |5
drivers/base/isolation.c | 798 +
include/linux/device.h|4
Signed-off-by: Alex Williamson alex.william...@redhat.com
---
drivers/iommu/intel-iommu.c | 70 +++
1 files changed, 70 insertions(+), 0 deletions(-)
diff --git a/drivers/iommu/intel-iommu.c b/drivers/iommu/intel-iommu.c
index c9c6053..2e5a709 100644
Am 12.03.2012 13:40, schrieb Juan Quintela:
Please send in any agenda items you are interested in covering.
* QEMU 1.1 roadmap
If we're still aiming for a release in early May that would mean a
feature freeze in about four weeks.
http://wiki.qemu.org/Planning/1.1
My stake is that I'd like to
On Mon, Mar 12, 2012 at 3:32 PM, Alexander Graf ag...@suse.de wrote:
On 08.03.2012, at 23:45, Christoffer Dall wrote:
Any comments on this one?
While at it, how about you also add the PID? Otherwise it's pretty pointless
to write information into the kernel log, as you still won't know
https://bugzilla.kernel.org/show_bug.cgi?id=42829
--- Comment #18 from Jason Wang jasow...@redhat.com 2012-03-13 03:23:30 ---
Hi all:
I suspect the issue were fixed by this commit:
The Buildbot has detected a new failure on builder s390 while building kvm.
Full details are available at:
http://buildbot.b1-systems.de/kvm/builders/s390/builds/481
Buildbot URL: http://buildbot.b1-systems.de/kvm/
Buildslave for this Build: b1_kvm_1
Build Reason: The Nightly scheduler named
The Buildbot has detected a new failure on builder ppc64 while building kvm.
Full details are available at:
http://buildbot.b1-systems.de/kvm/builders/ppc64/builds/485
Buildbot URL: http://buildbot.b1-systems.de/kvm/
Buildslave for this Build: b1_kvm_1
Build Reason: The Nightly scheduler named
The Buildbot has detected a new failure on builder ppc44x while building kvm.
Full details are available at:
http://buildbot.b1-systems.de/kvm/builders/ppc44x/builds/488
Buildbot URL: http://buildbot.b1-systems.de/kvm/
Buildslave for this Build: b1_kvm_1
Build Reason: The Nightly scheduler
The Buildbot has detected a new failure on builder next-s390 while building kvm.
Full details are available at:
http://buildbot.b1-systems.de/kvm/builders/next-s390/builds/472
Buildbot URL: http://buildbot.b1-systems.de/kvm/
Buildslave for this Build: b1_kvm_1
Build Reason: The Nightly
The Buildbot has detected a new failure on builder next-ppc64 while building
kvm.
Full details are available at:
http://buildbot.b1-systems.de/kvm/builders/next-ppc64/builds/471
Buildbot URL: http://buildbot.b1-systems.de/kvm/
Buildslave for this Build: b1_kvm_1
Build Reason: The Nightly
On Sun, 11 Mar 2012 18:24:03 -0400, Christoffer Dall
c.d...@virtualopensystems.com wrote:
On Thu, Feb 23, 2012 at 11:00 PM, Rusty Russell ru...@rustcorp.com.au wrote:
On Thu, 23 Feb 2012 02:32:39 -0500, Christoffer Dall
c.d...@virtualopensystems.com wrote:
+ /*
+ * Allocate
The Buildbot has detected a new failure on builder next-ppc44x while building
kvm.
Full details are available at:
http://buildbot.b1-systems.de/kvm/builders/next-ppc44x/builds/470
Buildbot URL: http://buildbot.b1-systems.de/kvm/
Buildslave for this Build: b1_kvm_1
Build Reason: The Nightly
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 this
There's always a chance we're unable to read a guest instruction. The guest
could have its TLB mapped execute-, but not readable, something odd happens
and our TLB gets flushed. So it's a good idea to be prepared for that case
and have a fallback that allows us to fix things up in that case.
Add
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 code there.
This speeds things up a bit on my G5.
---
71 matches
Mail list logo