On 12/08/2011 05:37 PM, Sasha Levin wrote:
> On Thu, 2011-12-08 at 20:52 +1030, Rusty Russell wrote:
> > Here's the patch series I ended up with. I haven't coded up the QEMU
> > side yet, so no idea if the new driver works.
> >
> > Questions:
> > (1) Do we win from separating ISR, NOTIFY and COMM
On Sun, 2011-12-11 at 11:05 +0200, Avi Kivity wrote:
> mmios are strictly ordered.
>
> Perhaps your printfs are reordered by buffering? Are they from
> different threads? Are you using coalesced mmio (which is still
> strictly ordered, if used correctly)?
I print the queue_selector and queue_a
The following series implements KVM support for ARM processors,
specifically on the Cortex A-15 platform.
The patch series applies to commit 0ec4044a029b5ba9ed6dc7c52390c25da717e184
on Catalin Marinas' linux-arm-arch tree.
This is Version 5 of the patch series, but the first two versions
were rev
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.
Most functionality is in arch/arm/kvm/* or arch/arm/include/asm/kvm_*.h.
Signed-off-by: Christoffer Dall
---
arch/arm/Kconfi
From: Christoffer Dall
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_identity_mapping_add(
Sets up the required registers to run code in HYP-mode from the kernel.
No major controversies, but we should consider how to deal with SMP
support for hypervisor stack page.
By setting the HVBAR the kernel can execute code in Hyp-mode with
the MMU disabled. The HVBAR initially points to initializ
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 tabled (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 ta
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 and whether the FIQ or
IRQ line is raised/lowe
Provides complete world-switch implementation to switch to other guests
runinng in non-secure modes. Includes Hyp exception handlers that
captures necessary exception information and stores the information on
the VCPU and KVM structures.
Switching to Hyp mode is done through a simple HVC instructi
From: Christoffer Dall
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 what caused the exit fr
From: Christoffer Dall
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.
Signed-off-by: Christoffer Dall
--
From: Christoffer Dall
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.
Certain classes of l
From: Christoffer Dall
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 puttin the
hardware into a low-power mode, since a KVM guest is essentiall
In order to support KVM on a SMP host, it is necessary to initialize the
hypervisor on all CPUs, mostly by making sure each CPU gets its own
hypervisor stack and runs the HYP init code.
We also take care of some missing locking of modifications to the
hypervisor page tables and ensure synchronized
From: Marc Zyngier
A guest may need to know which CPU it has booted on (and Linux does).
Now that we can run KVM on a SMP host, QEMU may be running on any
CPU. In that case, directly reading MPIDR will give an inconsistent
view on the guest CPU number (among other problems).
The solution is to u
This patch is a beginning attempt to support SMP guests. So far we only
add locking for the second stage PGD stored on the kvm_arch struct.
WARNING: This code is untested and does not yet support SMP guests.
Signed-off-by: Christoffer Dall
---
arch/arm/include/asm/kvm_host.h | 12 ++--
ar
This allows triggering NMI on guests using 'kvm debug -m [cpu]'.
Please note that the default behaviour of 'kvm debug' dumping guest's cpu
state has been modified to require a '-d'/--dump.
Signed-off-by: Sasha Levin
---
tools/kvm/builtin-debug.c| 22 +++
tools/kvm/
On 11 December 2011 10:24, Christoffer Dall
wrote:
> The following series implements KVM support for ARM processors,
> specifically on the Cortex A-15 platform.
> Still on the to-do list:
> - Reuse VMIDs
> - Fix SMP host support
> - Fix SMP guest support
> - Support guest Thumb mode for MMIO
On Sat, Dec 03, 2011 at 03:44:36PM +1030, Rusty Russell wrote:
> On Sat, 03 Dec 2011 10:09:44 +1100, Benjamin Herrenschmidt
> wrote:
> > On Tue, 2011-11-29 at 14:31 +0200, Ohad Ben-Cohen wrote:
> > > A trivial, albeit sub-optimal, solution would be to simply revert
> > > commit d57ed95 "virtio: u
On Sun, Dec 11, 2011 at 12:03:52PM +0200, Sasha Levin wrote:
> On Sun, 2011-12-11 at 11:05 +0200, Avi Kivity wrote:
> > mmios are strictly ordered.
> >
> > Perhaps your printfs are reordered by buffering? Are they from
> > different threads? Are you using coalesced mmio (which is still
> > stric
On 12/07/2011 04:41 PM, Avi Kivity wrote:
On 12/05/2011 10:18 PM, Eric B Munson wrote:
Changes from V4:
Rename KVM_GUEST_PAUSED to KVMCLOCK_GUEST_PAUSED
Add description of KVMCLOCK_GUEST_PAUSED ioctl to api.txt
Changes from V3:
Include CC's on patch 3
Drop clear flag ioctl and have the watchdog
On Thu, Dec 08, 2011 at 05:37:37PM +0200, Sasha Levin wrote:
> On Thu, 2011-12-08 at 20:52 +1030, Rusty Russell wrote:
> > Here's the patch series I ended up with. I haven't coded up the QEMU
> > side yet, so no idea if the new driver works.
> >
> > Questions:
> > (1) Do we win from separating IS
On Sun, 2011-12-11 at 14:30 +0200, Michael S. Tsirkin wrote:
> On Sun, Dec 11, 2011 at 12:03:52PM +0200, Sasha Levin wrote:
> > On Sun, 2011-12-11 at 11:05 +0200, Avi Kivity wrote:
> > > mmios are strictly ordered.
> > >
> > > Perhaps your printfs are reordered by buffering? Are they from
> > > d
On Sun, 2011-12-11 at 14:47 +0200, Michael S. Tsirkin wrote:
> First, I'd like to answer your questions from the PCI side.
> Look for PCI rules in the PCI spec.
> You will notices that a write is required to be able to
> pass a read request. It might also pass read completion.
> A read request will
On 11/10/2011 02:57 PM, Gleb Natapov wrote:
> This patchset exposes an emulated version 2 architectural performance
> monitoring unit to KVM guests. The PMU is emulated using perf_events,
> so the host kernel can multiplex host-wide, host-user, and the
> guest on available resources.
>
> The patch
On Thu, Nov 10, 2011, Avi Kivity wrote about "Re: [PATCH 08/10] nEPT: Nested
INVEPT":
> On 11/10/2011 12:01 PM, Nadav Har'El wrote:
> > If we let L1 use EPT, we should probably also support the INVEPT
> > instruction.
>..
> > + if (vmcs12 && nested_cpu_has_ept(vmcs12) &&
> > +
On 12/11/2011 04:24 PM, Nadav Har'El wrote:
> On Thu, Nov 10, 2011, Avi Kivity wrote about "Re: [PATCH 08/10] nEPT: Nested
> INVEPT":
> > On 11/10/2011 12:01 PM, Nadav Har'El wrote:
> > > If we let L1 use EPT, we should probably also support the INVEPT
> > > instruction.
> >..
> > > +
Just found two, maybe three nits while browsing by:
On 2011-12-11 11:24, Christoffer Dall wrote:
> 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 FI
Alexander Graf hat am Tue 22. Nov, 22:29 (+0100) geschrieben:
> On 22.11.2011, at 21:04, Jörg Sommer wrote:
> > Jörg Sommer hat am Mon 07. Nov, 20:48 (+0100) geschrieben:
> >> I'm trying to build the kernel with the git commit-id
> >> 31555213f03bca37d2c02e10946296052f4ecfcd, but it fails
> >>
> >
On 11 December 2011 15:18, Jan Kiszka wrote:
> Just found two, maybe three nits while browsing by:
>
> On 2011-12-11 11:24, Christoffer Dall wrote:
>> +ARM uses two types of interrupt lines per CPU, ie. IRQ and FIQ. The value
>> of the
>> +irq field should be (VCPU_INDEX * 2) for IRQs and ((VCPU_
On Sun, Dec 11, 2011 at 10:18 AM, Jan Kiszka wrote:
> Just found two, maybe three nits while browsing by:
>
> On 2011-12-11 11:24, Christoffer Dall wrote:
>> 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 ca
On Sun, Dec 11, 2011 at 6:32 AM, Peter Maydell wrote:
> On 11 December 2011 10:24, Christoffer Dall
> wrote:
>> The following series implements KVM support for ARM processors,
>> specifically on the Cortex A-15 platform.
>
>> Still on the to-do list:
>> - Reuse VMIDs
>> - Fix SMP host support
>
On 11 December 2011 19:23, Christoffer Dall
wrote:
> by TLS you mean the cp15, c13 registers (tid and friends?) If so, I
> handle these in the world-switch code (look at read_cp15_state and
> write_cp15_state).
>
> otherwise, help me out on the acronym...
Yes, those are the ones (TLS == thread lo
On Sun, Dec 11, 2011 at 11:03 AM, Peter Maydell
wrote:
> On 11 December 2011 15:18, Jan Kiszka wrote:
>> Just found two, maybe three nits while browsing by:
>>
>> On 2011-12-11 11:24, Christoffer Dall wrote:
>>> +ARM uses two types of interrupt lines per CPU, ie. IRQ and FIQ. The value
>>> of th
On 11 December 2011 19:30, Christoffer Dall
wrote:
> On Sun, Dec 11, 2011 at 11:03 AM, Peter Maydell
> wrote:
>> Removing the mask would be wrong since the irq field here
>> is encoding both cpu number and irq-vs-fiq. The default is
>> just an unreachable condition. (Why are we using % here
>> ra
Just set delivery mode directly without going through ugly casting.
This cleans up and simplifies the code.
Signed-off-by: Sasha Levin
---
tools/kvm/x86/kvm-cpu.c | 10 ++
1 files changed, 2 insertions(+), 8 deletions(-)
diff --git a/tools/kvm/x86/kvm-cpu.c b/tools/kvm/x86/kvm-cpu.c
On Dec 11, 2011, at 2:48 PM, Peter Maydell wrote:
> On 11 December 2011 19:30, Christoffer Dall
> wrote:
>> On Sun, Dec 11, 2011 at 11:03 AM, Peter Maydell
>> wrote:
>>> Removing the mask would be wrong since the irq field here
>>> is encoding both cpu number and irq-vs-fiq. The default is
>>>
On 11 December 2011 20:07, Christoffer Dall
wrote:
> Well, if it was just "irq & 1", then I hear you, but it would be "(irq
> >> cpu_idx) & 1" which I don't think is more clear.
Er, what? The fields are [31..1] CPU index and [0] irqtype,
right? So what you have now is:
vcpu_idx = irq_level->
On Sun, Dec 11, 2011 at 3:25 PM, Peter Maydell wrote:
> On 11 December 2011 20:07, Christoffer Dall
> wrote:
>> Well, if it was just "irq & 1", then I hear you, but it would be "(irq
>> >> cpu_idx) & 1" which I don't think is more clear.
>
> Er, what? The fields are [31..1] CPU index and [0] irqt
On Sat, Dec 10, 2011 at 01:35:39PM +0100, Carsten Otte wrote:
> This patch introduces an interface to access the guest visible
> storage keys. It supports three operations that model the behavior
> that SSKE/ISKE/RRBE instructions would have if they were issued by
> the guest. These instructions ar
On 11 December 2011 21:36, Christoffer Dall
wrote:
> On Sun, Dec 11, 2011 at 3:25 PM, Peter Maydell
> wrote:
>> On 11 December 2011 20:07, Christoffer Dall
>> wrote:
>>> Well, if it was just "irq & 1", then I hear you, but it would be "(irq
>>> >> cpu_idx) & 1" which I don't think is more clear
This patch set fixes mmu_shrink() as I said last week.
Though I did not change tuning parameters, we can do that in the future
on top of this: I think the batch size, 128, may be too large.
Takuya
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message t
From: Takuya Yoshikawa
Make it clear that this is not related to virtual memory.
Remove vm_ prefix from the corresponding member of the struct kvm to
avoid kvm->vm_ redundancy alongside.
Signed-off-by: Takuya Yoshikawa
---
Documentation/virtual/kvm/locking.txt |2 +-
arch/x86/include/asm/
From: Takuya Yoshikawa
Use list_entry() instead of container_of() for taking a shadow page from
the active_mmu_pages list.
Note: the return value of pre_zap_one_sp() will be used later.
Signed-off-by: Takuya Yoshikawa
---
arch/x86/kvm/mmu.c | 45 +++--
From: Takuya Yoshikawa
This will be used for mmu_shrink() in the following patch.
Signed-off-by: Takuya Yoshikawa
---
arch/x86/kvm/mmu.c | 36 ++--
1 files changed, 26 insertions(+), 10 deletions(-)
diff --git a/arch/x86/kvm/mmu.c b/arch/x86/kvm/mmu.c
index b
From: Takuya Yoshikawa
Currently, mmu_shrink() tries to free a shadow page from one kvm and
does not use nr_to_scan correctly.
This patch fixes this by making it try to free some shadow pages from
each kvm. The number of shadow pages each kvm frees becomes
proportional to the number of shadow p
On Sun, 2011-12-11 at 14:25 +0200, Michael S. Tsirkin wrote:
> Forwarding some results by Amos, who run multiple netperf streams in
> parallel, from an external box to the guest. TCP_STREAM results were
> noisy. This could be due to buffering done by TCP, where packet size
> varies even as messa
On 11 December 2011 22:12, Peter Maydell wrote:
> (Actually what would be clearest would be if the ioctl took the
> (interrupt-target, interrupt-line-for-that-target, value-of-line)
> tuple as three separate values rather than encoding two of them into
> a single integer, but I assume there's a re
On Sun, Dec 11, 2011 at 5:35 PM, Peter Maydell wrote:
> On 11 December 2011 22:12, Peter Maydell wrote:
>> (Actually what would be clearest would be if the ioctl took the
>> (interrupt-target, interrupt-line-for-that-target, value-of-line)
>> tuple as three separate values rather than encoding tw
On 2011-12-11 23:53, Christoffer Dall wrote:
> On Sun, Dec 11, 2011 at 5:35 PM, Peter Maydell
> wrote:
>> On 11 December 2011 22:12, Peter Maydell wrote:
>>> (Actually what would be clearest would be if the ioctl took the
>>> (interrupt-target, interrupt-line-for-that-target, value-of-line)
>>>
On 09/12/11 19:29, Pekka Enberg wrote:
> On Fri, Dec 9, 2011 at 10:24 AM, Sasha Levin wrote:
>> If you also got kernel patches that add __SANE_USERSPACE_TYPES__ to the
>> headers, and KVM_CAP_NR_VCPUS to KVM PPC, we can carry them in the KVM
>> tools tree as well.
>
> Yup, all we need is ACKs fro
On 09/12/11 18:53, Sasha Levin wrote:
> On Fri, 2011-12-09 at 17:56 +1100, Matt Evans wrote:
>> @@ -30,4 +31,18 @@ struct kvm_cpu {
>> struct kvm_coalesced_mmio_ring *ring;
>> };
>>
>> +/*
>> + * As these are such simple wrappers, let's have them in the header so
>> they'll
>> + * be c
Takuya Yoshikawa wrote:
> @@ -2010,17 +2032,11 @@ static void kvm_mmu_commit_zap_page(struct kvm *kvm,
> void kvm_mmu_change_mmu_pages(struct kvm *kvm, unsigned int
> goal_nr_mmu_pages)
> {
> LIST_HEAD(invalid_list);
> - /*
> - * If we set the number of mmu pages to be smaller b
This patch enables allocating new refcount blocks and so then kvm tools
could expand qcow2 image much larger.
Signed-off-by: Lan Tianyu
---
tools/kvm/disk/qcow.c | 105 +---
1 files changed, 89 insertions(+), 16 deletions(-)
diff --git a/tools/kvm/di
Hi All,
I am running on CentOS Released 6.1 final. Been using and running Linux KVM
quite well for quite some time, something goes wrong after I perform yum
upgrade.
I created new VM yesterday without any problem, same exact installation
procedure, installed FreeBSD 8.2. I tried to create a
From: Liu Ping Fan
Currently, vcpu can be destructed only when kvm instance destroyed.
Change this to vcpu's destruction taken when its refcnt is zero,
and then vcpu MUST and CAN be destroyed before kvm's destroy.
Signed-off-by: Liu Ping Fan
---
arch/x86/kvm/i8254.c | 10 --
arch/x86
On 12/12/11 06:27, Benjamin Herrenschmidt wrote:
On Sun, 2011-12-11 at 14:25 +0200, Michael S. Tsirkin wrote:
Forwarding some results by Amos, who run multiple netperf streams in
parallel, from an external box to the guest. TCP_STREAM results were
noisy. This could be due to buffering done by
On 12/12/2011 06:24 AM, Takuya Yoshikawa wrote:
> From: Takuya Yoshikawa
>
> Make it clear that this is not related to virtual memory.
>
'vm' means 'virtual machine'...
> Remove vm_ prefix from the corresponding member of the struct kvm to
> avoid kvm->vm_ redundancy alongside.
>
> Signed-o
(2011/12/12 12:16), Xiao Guangrong wrote:
On 12/12/2011 06:24 AM, Takuya Yoshikawa wrote:
From: Takuya Yoshikawa
Make it clear that this is not related to virtual memory.
'vm' means 'virtual machine'...
Of course I know. So I wrote "not related" to virtual memory.
What's your point?
Hi All,
I have tried to install Centos on guest, it has the same problem, cannot read
the HDD. I format it in qcow2 for linux and raw in FreeBSD.
--
Paul Ooi
On Dec 12, 2011, at 10:13 AM, takizo wrote:
> Hi All,
>
> I am running on CentOS Released 6.1 final. Been using and running Linux
On 12/12/2011 12:04 PM, Takuya Yoshikawa wrote:
> (2011/12/12 12:16), Xiao Guangrong wrote:
>> On 12/12/2011 06:24 AM, Takuya Yoshikawa wrote:
>>
>>> From: Takuya Yoshikawa
>>>
>>> Make it clear that this is not related to virtual memory.
>>>
>>
>>
>> 'vm' means 'virtual machine'...
>
> Of course
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/380
Buildbot URL: http://buildbot.b1-systems.de/kvm/
Buildslave for this Build: b1_kvm_1
Build Reason: The Nightly schedule
On 09/12/11 18:39, Sasha Levin wrote:
> On Fri, 2011-12-09 at 17:55 +1100, Matt Evans wrote:
>> Add a --hugetlbfs commandline option to give a path to hugetlbfs-map guest
>> memory (down in kvm__arch_init()). For x86, guest memory is a normal
>> ANON mmap() if this option is not provided, otherwis
On Mon, 12 Dec 2011 11:06:53 +0800, Amos Kong wrote:
> On 12/12/11 06:27, Benjamin Herrenschmidt wrote:
> > On Sun, 2011-12-11 at 14:25 +0200, Michael S. Tsirkin wrote:
> >
> >> Forwarding some results by Amos, who run multiple netperf streams in
> >> parallel, from an external box to the guest.
On 09/12/11 19:42, Pekka Enberg wrote:
> On Fri, Dec 9, 2011 at 8:55 AM, Matt Evans wrote:
>> Add a --hugetlbfs commandline option to give a path to hugetlbfs-map guest
>> memory (down in kvm__arch_init()). For x86, guest memory is a normal
>> ANON mmap() if this option is not provided, otherwise
The Buildbot has detected a new failure on builder next-x86_64 while building
kvm.
Full details are available at:
http://buildbot.b1-systems.de/kvm/builders/next-x86_64/builds/378
Buildbot URL: http://buildbot.b1-systems.de/kvm/
Buildslave for this Build: b1_kvm_1
Build Reason: The Nightly sch
The Buildbot has detected a new failure on builder next-i386 while building kvm.
Full details are available at:
http://buildbot.b1-systems.de/kvm/builders/next-i386/builds/378
Buildbot URL: http://buildbot.b1-systems.de/kvm/
Buildslave for this Build: b1_kvm_1
Build Reason: The Nightly schedule
On Mon, 2011-12-12 at 12:03 +1100, Matt Evans wrote:
> On 09/12/11 19:29, Pekka Enberg wrote:
> > On Fri, Dec 9, 2011 at 10:24 AM, Sasha Levin
> > wrote:
> >> If you also got kernel patches that add __SANE_USERSPACE_TYPES__ to the
> >> headers, and KVM_CAP_NR_VCPUS to KVM PPC, we can carry them i
On Mon, Dec 12, 2011 at 7:17 AM, Matt Evans wrote:
> Well, I'm manually mapping from hugetlbfs as currently* PPC KVM requires
> hugepages to back guest RAM and MADV_HUGEPAGE is just a hint, no? I also
> wanted
> things to work on kernels without transparent hugepages enabled. I think it's
> saf
On 09/12/11 19:38, Pekka Enberg wrote:
> On Fri, Dec 9, 2011 at 8:55 AM, Matt Evans wrote:
>> Add a --hugetlbfs commandline option to give a path to hugetlbfs-map guest
>> memory (down in kvm__arch_init()). For x86, guest memory is a normal
>> ANON mmap() if this option is not provided, otherwise
On 11.12.2011, at 20:48, Peter Maydell wrote:
> On 11 December 2011 19:30, Christoffer Dall
> wrote:
>> On Sun, Dec 11, 2011 at 11:03 AM, Peter Maydell
>> wrote:
>>> Removing the mask would be wrong since the irq field here
>>> is encoding both cpu number and irq-vs-fiq. The default is
>>> jus
(2011/12/12 13:51), Xiao Guangrong wrote:
On 12/12/2011 12:04 PM, Takuya Yoshikawa wrote:
(2011/12/12 12:16), Xiao Guangrong wrote:
On 12/12/2011 06:24 AM, Takuya Yoshikawa wrote:
From: Takuya Yoshikawa
Make it clear that this is not related to virtual memory.
'vm' means 'virtual machin
On 11.12.2011, at 16:16, Jörg Sommer wrote:
> Alexander Graf hat am Tue 22. Nov, 22:29 (+0100) geschrieben:
>> On 22.11.2011, at 21:04, Jörg Sommer wrote:
>>> Jörg Sommer hat am Mon 07. Nov, 20:48 (+0100) geschrieben:
I'm trying to build the kernel with the git commit-id
31555213f03bca3
73 matches
Mail list logo