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 cheaper to call:
> + */
> +static inline bool kvm
On 2011-12-09 08:45, Jan Kiszka wrote:
> On 2011-12-08 22:16, Blue Swirl wrote:
>> On Thu, Dec 8, 2011 at 11:52, Jan Kiszka wrote:
>>> This introduces the alternative APIC backend which makes use of KVM's
>>> in-kernel device model. External NMI injection via LINT1 is emulated by
>>> checking the
On 2011-12-08 22:16, Blue Swirl wrote:
> On Thu, Dec 8, 2011 at 11:52, Jan Kiszka wrote:
>> This introduces the alternative APIC backend which makes use of KVM's
>> in-kernel device model. External NMI injection via LINT1 is emulated by
>> checking the current state of the in-kernel APIC, only inj
On 2011-12-08 22:25, Blue Swirl wrote:
> On Thu, Dec 8, 2011 at 11:52, Jan Kiszka wrote:
>> Changes in v4:
>> - rebased of current uq/master
>> - fixed stupid bugs that broke bisectability and user space irqchip mode
>> - integrated NMI-over-LINT1 injection logic
>
> I had comments to one patch,
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, otherwise a hugetlbfs mmap.
>
> Signed-off-by: Mat
On 2011年12月06日 22:55, Daniel P. Berrange wrote:
On Fri, Nov 11, 2011 at 07:57:06PM +0800, Osier Yang wrote:
Basically, the drivers is implemented by using kvm tool binary
currently, (see ./kvm help for more info).
Current implementation supports define/undefine, start/destroy/,
suspend/resume,
On 2011年12月06日 22:46, Daniel P. Berrange wrote:
On Fri, Nov 11, 2011 at 07:57:04PM +0800, Osier Yang wrote:
It's named as "kvmtool".
---
src/conf/domain_conf.c |4 +++-
src/conf/domain_conf.h |1 +
2 files changed, 4 insertions(+), 1 deletions(-)
diff --git a/src/conf/domain_conf.c
On 2011年12月06日 22:39, Daniel P. Berrange wrote:
On Fri, Nov 11, 2011 at 07:57:00PM +0800, Osier Yang wrote:
Which is named as "KVMTOOL_STATE_DIR", so that the user can
configure the path of state directly as he wants.
---
tools/kvm/main.c |7 ++-
1 files changed, 6 insertions(+), 1 de
Different architectures will deal with MMIO exits differently. For example,
KVM_EXIT_IO is x86-specific, and I/O cycles are often synthesised by steering
into windows in PCI bridges on other architectures.
This patch calls arch-specific kvm_cpu__emulate_io() and kvm_cpu__emulate_mmio()
from the m
pci_get_io_space_block() used to grab addresses from
KVM_32BIT_GAP_START + 0x100, which is x86-specific. Create a new define,
KVM_PCI_MMIO_AREA, to specify a bus address these allocations can come from.
Signed-off-by: Matt Evans
---
tools/kvm/pci.c |8 ++--
tool
This allows config space access in a more natural manner than clunky x86 IO
ports,
and is useful for other architectures. Internally, the x86 IO port access uses
these new config space interfaces.
Signed-off-by: Matt Evans
---
tools/kvm/include/kvm/pci.h |9 +-
tools/kvm/pci.c
The BAR addresses are set up fine, but missed the bar_size[] array which is now
updated correspondingly.
Use PCI_IO_SIZE instead of '0x100'.
Signed-off-by: Matt Evans
---
tools/kvm/virtio/pci.c |7 +--
1 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/tools/kvm/virtio/pci.c
vesa, pci-shmem and virtio-pci devices need to set up config space with
little-endian conversions (as config space is LE). The pci_config_address
bitfield also needs to be reversed when building on BE systems.
Signed-off-by: Matt Evans
---
tools/kvm/hw/pci-shmem.c | 23 +++--
Other pieces of kvmtool may be interested in PCI_MAX_DEVICES.
Signed-off-by: Matt Evans
---
tools/kvm/include/kvm/pci.h |1 +
tools/kvm/pci.c |1 -
2 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/tools/kvm/include/kvm/pci.h b/tools/kvm/include/kvm/pci.h
index f
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 a hugetlbfs mmap.
Signed-off-by: Matt Evans
---
tools/kvm/builtin-run.c |4 ++-
tools/kv
IRQ init may involve per-CPU setup/allocation of resources, so make sure
kvm->nrcpus is initialised before calling irq__init().
Signed-off-by: Matt Evans
---
tools/kvm/builtin-run.c |4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/tools/kvm/builtin-run.c b/tools/kvm/bu
Currently some devices (in this case kbd, fb, vesa) are initialised after
CPU/firmware setup. On some platforms (e.g. PPC) kvm__arch_setup_firmware() may
be making a device tree. Any devices added after this point will be missed!
Tiny refactor of builtin-run.c, moving timer start, firmware setup
Re-arrange pci__init() in builtin-run such that it comes before devices are
initialised.
Signed-off-by: Matt Evans
---
tools/kvm/builtin-run.c |4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/tools/kvm/builtin-run.c b/tools/kvm/builtin-run.c
index c067685..99db522 1006
This patch passes the initrd fd and commandline to load_flat_binary(), which may
be used to load both the kernel & an initrd (stashing or inserting the
commandline as appropriate) in the same way that load_bzimage() does. This is
especially useful when load_bzimage() is unused for a particular
arc
cpios are valid as initrds too, so allow them through the check.
Signed-off-by: Matt Evans
---
tools/kvm/kvm.c |8 +---
1 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/tools/kvm/kvm.c b/tools/kvm/kvm.c
index 0bbe9ba..d26e3d7 100644
--- a/tools/kvm/kvm.c
+++ b/tools/kvm/kvm
term_getc()'s int c has one byte written into it (at its lowest address) by
read_in_full(). This is expected to be the least significant byte, but that
isn't the case on BE! Use correct type, unsigned char. A similar issue exists
in term_getc_iov(), which needs to write a char to the iov rather
This patch paves the way for adding a hypervisor console, useful on systems that
support one out of the box yet don't have either serial port or virtio console
support (e.g. kernels expecting POWER SPAPR).
Signed-off-by: Matt Evans
---
tools/kvm/builtin-run.c |8 ++--
tools/kvm/incl
Different systems will want different base kernel commandlines, e.g. non-x86
systems probably don't need noapic, i8042.* etc., so set the commandline up in
arch-specific code. Then, if the resulting commandline is empty, don't strcat a
space onto the front.
Signed-off-by: Matt Evans
---
tools/k
Currently, the SIGALRM handler calls device poll functions (for serial, virtio
console) directly. Which devices are present and which require polling is a
system-specific decision, so create a new function called from common code &
move the x86-specific poll calls into it.
Signed-off-by: Matt Eva
kvm_cpu__run() currently die()s if KVM_RUN returns non-zero. Some architectures
may return positive values in non-error cases, whereas real errors are always
negative return values. Check for those instead.
Signed-off-by: Matt Evans
---
tools/kvm/kvm-cpu.c |2 +-
1 files changed, 1 inserti
We die() if we can't read KVM_CAP_NR_VCPUS, but the API docs suggest to assume
the value 4 in this case. This is pertinent to PPC KVM, which currently
does not support this CAP.
Signed-off-by: Matt Evans
---
tools/kvm/kvm.c |6 +-
1 files changed, 5 insertions(+), 1 deletions(-)
diff -
This patch creates a new function in x86/kvm-cpu.c, kvm_cpu__handle_exit(), in
which arch-specific exit reasons can be handled outside of the common runloop.
Signed-off-by: Matt Evans
---
tools/kvm/include/kvm/kvm-cpu.h |2 ++
tools/kvm/kvm-cpu.c | 10 --
tools/kvm/x86/
kvmtool's types.h includes , which by default on PPC64 brings in
int-l64.h; define __SANE_USERSPACE_TYPES__ to get LL64 types.
This patch also adds CFLAGS to the final link, so that any -m64 is obeyed
when linking, too.
Signed-off-by: Matt Evans
---
tools/kvm/Makefile |2 +-
to
This patch adds an 'I' parameter to override the default kernel include path of
'../../include'.
Signed-off-by: Matt Evans
---
tools/kvm/Makefile |9 +++--
1 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/tools/kvm/Makefile b/tools/kvm/Makefile
index f58a1d8..f85a154 100644
The checks for optional libraries build code to perform the tests, so should
respect certain CFLAGS -- in particular, -m64 so we check for 64bit libraries if
they're required.
Signed-off-by: Matt Evans
---
tools/kvm/Makefile | 86 ++-
1 files cha
Not every architecture has an i8042 kbd controller, so only use this when
building for x86.
Signed-off-by: Matt Evans
---
tools/kvm/Makefile |2 +-
tools/kvm/builtin-run.c |2 ++
2 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/tools/kvm/Makefile b/tools/kvm/Makefile
i
Hi,
This patch series rearranges and tidies various parts of kvmtool to pave the way
for the addition of support for another architecture -- SPAPR PPC64. A second
patch series will follow to present the PPC64 support.
Building on the separation of x86-specific code into tools/kvm/x86, this seri
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
From: Amos Kong
Dynamically checking hardware, use a dict to record the pin status,
pin process to single cpu by 'taskset' command.
Guest memory pining is already implemented in framework.
process pining needs to be done in the testcases.
Example:
| numa_node = -1 # last node
| p = virt_utils
On 12/7/2011 3:02 AM, Jason Wang wrote:
On 12/06/2011 11:42 PM, Sridhar Samudrala wrote:
On 12/6/2011 5:15 AM, Stefan Hajnoczi wrote:
On Tue, Dec 6, 2011 at 10:21 AM, Jason Wang
wrote:
On 12/06/2011 05:18 PM, Stefan Hajnoczi wrote:
On Tue, Dec 6, 2011 at 6:33 AM, Jason Wang
wrote:
On 12/
On Thu, Dec 8, 2011 at 11:52, Jan Kiszka wrote:
> Changes in v4:
> - rebased of current uq/master
> - fixed stupid bugs that broke bisectability and user space irqchip mode
> - integrated NMI-over-LINT1 injection logic
I had comments to one patch, others look fine.
Overall, string based subtype
Changes from V5:
Collapse generic check_and_clear_guest_stopped into patch 2
Include check_and_clear_guest_stopped defintion to ia64, s390, and powerpc
Change check_and_clear_guest_stopped to use __get_cpu_var instead of taking the
cpuid arg.
Protect check_and_clear_guest_stopped declaration with
When a host stops or suspends a VM it will set a flag to show this. The
watchdog will use these functions to determine if a softlockup is real, or the
result of a suspended VM.
Signed-off-by: Eric B Munson
Cc: mi...@redhat.com
Cc: h...@zytor.com
Cc: a...@arndb.de
Cc: ry...@linux.vnet.ibm.com
Cc:
Now that we have a flag that will tell the guest it was suspended, create an
interface for that communication using a KVM ioctl.
Signed-off-by: Eric B Munson
Cc: mi...@redhat.com
Cc: h...@zytor.com
Cc: a...@arndb.de
Cc: ry...@linux.vnet.ibm.com
Cc: aligu...@us.ibm.com
Cc: mtosa...@redhat.com
Cc:
A suspended VM can cause spurious soft lockup warnings. To avoid these, the
watchdog now checks if the kernel knows it was stopped by the host and skips
the warning if so. When the watchdog is reset successfully, clear the guest
paused flag.
Signed-off-by: Eric B Munson
Cc: mi...@redhat.com
Cc:
This flag will be used to check if the vm was stopped by the host when a soft
lockup was detected. The host will set the flag when it stops the guest. On
resume, the guest will check this flag if a soft lockup is detected and skip
issuing the warning.
Signed-off-by: Eric B Munson
Cc: mi...@redh
On Thu, Dec 8, 2011 at 11:52, Jan Kiszka wrote:
> This introduces the alternative APIC backend which makes use of KVM's
> in-kernel device model. External NMI injection via LINT1 is emulated by
> checking the current state of the in-kernel APIC, only injecting a NMI
> into the VCPU if LINT1 is unm
Thanks a lot Lucas,
I've applied the patches. And sorry for the delay, I'm pretty busy at the
moment.
--
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
This patch add tests for testing cpu flags in qemu:
a) interface cpu flags tests
1) qemu -cpu ?model
2)dump
3)cpuid
b) guest run cpu flags tests
1) Test boot cpu model.
2) Test boot cpu model and additiona/nonstandard model flags.
3) Test boot fail with host un
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 COMMON?
> (2) I used a "u8 bar"; should I use a bir and pac
On 2011年12月08日 01:24, Pekka Enberg wrote:
On Wed, 7 Dec 2011, Daniel P. Berrange wrote:
On Wed, Dec 07, 2011 at 06:28:12PM +0200, Pekka Enberg wrote:
On Wed, Dec 7, 2011 at 11:37 AM, Sasha Levin
wrote:
This allows users to pass a pre-configured fd to use for the network
interface.
For examp
On Wed, 07 Dec 2011, Avi Kivity wrote:
> On 12/05/2011 10:19 PM, Eric B Munson wrote:
> >
> > diff --git a/include/asm-generic/kvm_para.h b/include/asm-generic/kvm_para.h
> > new file mode 100644
> > index 000..177e1eb
> > --- /dev/null
> > +++ b/include/asm-generic/kvm_para.h
> > @@ -0,0 +1,1
On Wed, 07 Dec 2011, Avi Kivity wrote:
> On 12/05/2011 10:19 PM, Eric B Munson wrote:
> > Now that we have a flag that will tell the guest it was suspended, create an
> > interface for that communication using a KVM ioctl.
> >
> > @@ -3295,6 +3295,10 @@ long kvm_arch_vcpu_ioctl(struct file *filp,
On Wed, 07 Dec 2011, Avi Kivity wrote:
> On 12/05/2011 10:19 PM, Eric B Munson wrote:
> > When a host stops or suspends a VM it will set a flag to show this. The
> > watchdog will use these functions to determine if a softlockup is real, or
> > the
> > result of a suspended VM.
> >
> > +bool k
On Mon, Nov 14, 2011, Avi Kivity wrote about "Re: [PATCH 02/10] nEPT: MMU
context for nested EPT":
> > >> +#if PTTYPE == EPT
> > >> +real_gfn = mmu->translate_gpa(vcpu,
> > >> gfn_to_gpa(table_gfn),
> > >> + EPT_WRITABLE_MASK);
> > >>
On Wed, 07 Dec 2011, 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 ioc
On 2011-12-07 11:49, Avi Kivity wrote:
> On 12/06/2011 04:34 PM, Jan Kiszka wrote:
>> Save the qemu-kvm release helper before deleting the kvm directory.
>
> Thanks, applied.
>
>> Anything else useful remaining in /kvm? Otherwise I would release my
>> dinosaur extinction patch.
>
> Are we clear
On 12/08/2011 12:48 PM, Carsten Otte wrote:
On 08.12.2011 11:18, Alexander Graf wrote:
If you really have to do this, please
1) make it s390 only. I don't even want to have to see this
uglyness in other archs
It pretty much is. The only interference is a) checking the machine
type in arch_i
The KVM in-kernel APIC model will reuse parts of the user space model
while providing the same frontend view to guest and most management
interfaces. Introduce an APIC backend concept to encapsulate those
parts that will tell user space and KVM model apart. The backend offers
callback hooks for ini
Changes in v4:
- rebased of current uq/master
- fixed stupid bugs that broke bisectability and user space irqchip mode
- integrated NMI-over-LINT1 injection logic
CC: Lai Jiangshan
Jan Kiszka (15):
msi: Generalize msix_supported to msi_supported
kvm: Move kvmclock into hw/kvm folder
apic:
Introduce the alternative i8259 backend that exploits KVM in-kernel
acceleration.
The PIIX3 initialization code is furthermore extended by KVM specific
IRQ route setup. GSI injection differs in KVM mode from the user space
model. As we can dispatch ISA-range IRQs to both IOAPIC and PIC inside
the
This introduces the KVM-accelerated IOAPIC backend and extends the IRQ
routing setup by the 0->2 redirection when needed.
The IOAPIC gains a KVM-specific property that allows to define the GSI
base for injecting interrupts into the kernel model. This will allow to
disentangle PIC and IOAPIC pins f
Add the basic infrastructure to active in-kernel irqchip support, inject
interrupts into these models, and maintain IRQ routes.
Routing is optional and depends on the host arch supporting
KVM_CAP_IRQ_ROUTING. When it's not available on x86, we looe the HPET as
we can't route GSI0 to IOAPIC pin 2.
Split up the IOAPIC analogously to APIC and i8259. KVM will share the
device description, reset logic and certain init parts with the user
space model.
Signed-off-by: Jan Kiszka
---
Makefile.target |2 +-
hw/ioapic.c | 130 ---
hw/io
This introduces the alternative APIC backend which makes use of KVM's
in-kernel device model. External NMI injection via LINT1 is emulated by
checking the current state of the in-kernel APIC, only injecting a NMI
into the VCPU if LINT1 is unmasked and configured to DM_NMI.
MSI is not yet supported
On real hardware, NMI button events are injected via the LINT1 line of
the APICs. E.g. kdump expect this wiring and gets upset if the per-APIC
LINT1 mask is not respected, i.e. if NMIs are injected to VCPUs that
should not receive them. Change the APIC emulation code to reflect this.
Based on qemu
Make the basic in-kernel irqchip support selectable via
-machine ...,kernel_irqchip=on. Leave it off by default until it can
fully replace user space models.
Signed-off-by: Jan Kiszka
---
qemu-config.c |4
qemu-options.hx |5 -
2 files changed, 8 insertions(+), 1 deletions(-)
Analogously to the APIC, we will reuse some parts of the user space
i8259 model for KVM. Again, we create a PIC backend infrastructure and
provide hooks for init, reset, and vmload/save. This also introduces a
common helper to instantiate a single i8259 chip from the cascade-
creating i8259_init fu
To enable migration between accelerated and non-accelerated APIC models,
we will need to handle the timer saving and restoring specially and can
no longer rely on the automatics of VMSTATE_TIMER. Specifically,
accelerated model will not start any QEMUTimer.
This patch therefore factors out the gen
Rename msix_supported to msi_supported and control MSI and MSI-X
activation this way. That was likely to original intention for this
flag, but MSI support came after MSI-X.
Signed-off-by: Jan Kiszka
---
hw/msi.c |8
hw/msi.h |2 ++
hw/msix.c |9 -
hw/msix.h |2
Introduce a memory region type that can reserve I/O space. Such regions
are useful for modeling I/O that is only handled outside of QEMU, i.e.
in the context of an accelerator like KVM.
Any access to such a region from QEMU is a bug, but could theoretically
be triggered by guest code (DMA to reser
All LVTs are masked on reset, so the timer becomes ineffective. Letting
it tick nevertheless is harmless, but will at least create a spurious
trace event.
Signed-off-by: Jan Kiszka
---
hw/apic.c |2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/hw/apic.c b/hw/apic.c
index
More KVM-specific devices will come, so let's start with moving the
kvmclock into a dedicated folder.
Signed-off-by: Jan Kiszka
---
Makefile.target|4 ++--
configure |1 +
hw/{kvmclock.c => kvm/clock.c} |4 ++--
hw/{kvmclock.h => kvm/clock.h} |
KVM is forced to disable the IRQ0 override when we run with in-kernel
irqchip but without IRQ routing support of the kernel. Set the fwcfg
value correspondingly. This aligns us with qemu-kvm.
Signed-off-by: Jan Kiszka
---
hw/pc.c|3 ++-
kvm-all.c |5 +
kvm-stub.c |5 +
k
On 08.12.2011 11:18, Alexander Graf wrote:
If you really have to do this, please
1) make it s390 only. I don't even want to have to see this uglyness in other
archs
It pretty much is. The only interference is a) checking the machine
type in arch_init_vm now that I've introduced that paramete
On (Mon) 05 Dec 2011 [15:18:59], Eric B Munson wrote:
> When a guest kernel is stopped by the host hypervisor it can look like a soft
> lockup to the guest kernel. This false warning can mask later soft lockup
> warnings which may be real. This patch series adds a method for a host
> hypervisor t
It seemed like a good idea, but it's actually a pain when we get more
than 32 feature bits. Just change it to a u32 for now.
---
drivers/char/virtio_console.c |2 +-
drivers/lguest/lguest_device.c |2 +-
drivers/s390/kvm/kvm_virtio.c |2 +-
drivers/virtio/virtio.c| 10
On Thu, 2011-12-08 at 20:14 +1030, Rusty Russell wrote:
> On Wed, 7 Dec 2011 17:48:17 +0200, "Michael S. Tsirkin"
> wrote:
> > On Wed, Dec 07, 2011 at 04:02:45PM +0200, Sasha Levin wrote:
> > > On Sun, 2011-12-04 at 20:23 +0200, Sasha Levin wrote:
> > >
> > > [snip]
> > >
> > > Rusty, Michael,
Rusty, I can't find the actual patches, could you verify that they were
indeed sent?
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
On Wed, 7 Dec 2011 17:48:17 +0200, "Michael S. Tsirkin" wrote:
> On Wed, Dec 07, 2011 at 04:02:45PM +0200, Sasha Levin wrote:
> > On Sun, 2011-12-04 at 20:23 +0200, Sasha Levin wrote:
> >
> > [snip]
> >
> > Rusty, Michael, does the below looks a reasonable optimization for you?
>
> OK overall b
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 COMMON?
(2) I used a "u8 bar"; should I use a bir and pack it instead? BIR
seems a little obscure (noone else in the ker
On 2011-12-08 10:42, Jan Kiszka wrote:
> On 2011-12-07 11:29, Avi Kivity wrote:
>> On 10/17/2011 06:00 PM, Lai Jiangshan wrote:
>>> From: Lai Jiangshan
>>>
>>> Currently, NMI interrupt is blindly sent to all the vCPUs when NMI
>>> button event happens. This doesn't properly emulate real hardware o
On 08.12.2011, at 10:59, Avi Kivity wrote:
> On 12/08/2011 11:53 AM, Sasha Levin wrote:
>> On Thu, 2011-12-08 at 11:45 +0200, Avi Kivity wrote:
>>> On 12/08/2011 11:25 AM, Sasha Levin wrote:
On Thu, 2011-12-08 at 10:12 +0100, Carsten Otte wrote:
> plain text document attachment (enable-
On 12/08/2011 01:02 AM, Ben Hutchings wrote:
On Wed, 2011-12-07 at 19:31 +0800, Jason Wang wrote:
On 12/07/2011 03:30 PM, Rusty Russell wrote:
On Mon, 05 Dec 2011 16:58:37 +0800, Jason Wang wrote:
multiple queue virtio-net: flow steering through host/guest cooperation
Hello all:
This is a
On 12/08/2011 11:53 AM, Sasha Levin wrote:
> On Thu, 2011-12-08 at 11:45 +0200, Avi Kivity wrote:
> > On 12/08/2011 11:25 AM, Sasha Levin wrote:
> > > On Thu, 2011-12-08 at 10:12 +0100, Carsten Otte wrote:
> > > > plain text document attachment (enable-ucontrol.patch)
> > > > This patch introduces
On Thu, 2011-12-08 at 11:45 +0200, Avi Kivity wrote:
> On 12/08/2011 11:25 AM, Sasha Levin wrote:
> > On Thu, 2011-12-08 at 10:12 +0100, Carsten Otte wrote:
> > > plain text document attachment (enable-ucontrol.patch)
> > > This patch introduces a new config option for user controlled kernel
> > >
On 12/08/2011 11:25 AM, Sasha Levin wrote:
> On Thu, 2011-12-08 at 10:12 +0100, Carsten Otte wrote:
> > plain text document attachment (enable-ucontrol.patch)
> > This patch introduces a new config option for user controlled kernel
> > virtual machines. It introduces an optional parameter to
> > KV
On 2011-12-07 11:29, Avi Kivity wrote:
> On 10/17/2011 06:00 PM, Lai Jiangshan wrote:
>> From: Lai Jiangshan
>>
>> Currently, NMI interrupt is blindly sent to all the vCPUs when NMI
>> button event happens. This doesn't properly emulate real hardware on
>> which NMI button event triggers LINT1. Be
On 12/07/2011 06:46 PM, Raghavendra K T wrote:
> On 12/07/2011 08:22 PM, Avi Kivity wrote:
>> On 12/07/2011 03:39 PM, Marcelo Tosatti wrote:
Also I think we can keep the kicked flag in vcpu->requests, no need
for
new storage.
>>>
>>> Was going to suggest it but it violates the curren
On 08.12.2011 10:25, Sasha Levin wrote:
Why is it s390 specific? why isn't it KVM_VM_UCONTROL which is currently
only implemented on s390?
Good point. Maybe the subject line for the patch should be fixed along
with that ;-)
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
t
On Thu, 2011-12-08 at 10:12 +0100, Carsten Otte wrote:
> plain text document attachment (enable-ucontrol.patch)
> This patch introduces a new config option for user controlled kernel
> virtual machines. It introduces an optional parameter to
> KVM_CREATE_VM in order to create a user controlled virt
This patch fixes the return code of kvm_arch_vcpu_ioctl in case
of an unkown ioctl number.
Signed-off-by: Carsten Otte
---
---
arch/s390/kvm/kvm-s390.c |2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/arch/s390/kvm/kvm-s390.c
+++ b/arch/s390/kvm/kvm-s390.c
@@ -884,7 +884,7 @@ long
This patch disables in-kernel handling of SIE intercepts for user
controlled virtual machines. All intercepts are passed to userspace
via KVM_EXIT_SIE exit reason just like SIE intercepts that cannot be
handled in-kernel for regular KVM guests.
Signed-off-by: Carsten Otte
---
Index: linux-2.5-cec
This patch exports the s390 SIE hardware control block to userspace
via the mapping of the vcpu file descriptor. In order to do so,
a new arch callback named kvm_arch_vcpu_fault is introduced for all
architectures. It allows to map architecture specific pages.
Signed-off-by: Carsten Otte
---
---
This patch disables the in-kernel interrupt stack for KVM virtual
machines that are controlled by user. Userspace has to take care
of handling interrupts on its own.
Signed-off-by: Carsten Otte
---
Index: linux-2.5-cecsim/arch/s390/kvm/kvm-s390.c
==
This patch fixes definition of the idle_mask and the local_int array
in kvm_s390_float_interrupt. Previous definition had 64 cpus max
hardcoded instead of using KVM_MAX_VCPUS.
Signed-off-by: Carsten Otte
---
Index: linux-2.5-cecsim/arch/s390/include/asm/kvm_host.h
This patch introduces a new config option for user controlled kernel
virtual machines. It introduces an optional parameter to
KVM_CREATE_VM in order to create a user controlled virtual machine.
The parameter is passed to kvm_arch_init_vm for all architectures.
Valid values for the new parameter are
This patch introduces a new exit reason in the kvm_run structure
named KVM_EXIT_UCONTROL. This exit indicates, that a virtual cpu
has regognized a fault on the host page table. The idea is that
userspace can handle this fault by mapping memory at the fault
location into the cpu's address space and
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 are all documented in the z architecture
principles of operation book.
This patch introduces two ioctls for virtual cpus, that are only
valid for kernel virtual machines that are controlled by userspace.
Each virtual cpu has its individual address space in this mode of
operation, and each address space is backed by the gmap
implementation just like the address space f
This patch announces a new capability KVM_CAP_S390_UCONTROL that
indicates that kvm can now support virtual machines that are
controlled by userspace.
Signed-off-by: Carsten Otte
---
---
arch/s390/kvm/kvm-s390.c |3 +++
include/linux/kvm.h |1 +
2 files changed, 4 insertions(+)
---
This patch makes sure user controlled virtual machines do not use a
system control area (sca). This is needed in order to create
virtual machines with more cpus than the size of the sca [64].
Signed-off-by: Carsten Otte
---
Index: linux-2.5-cecsim/arch/s390/kvm/kvm-s390.c
Hi Avi, Hi Marcelo,
I think I've integrated all feedback from last round. The race
between KVM_S390_ENABLE_UCONTROL and creation of vcpus has been
resolved by adding a parameter to KVM_CREATE_VM. The default
KVM_VM_REGULAR (==0) is backward compatible to KVM_CREATE_VM
without parameters, and KVM_V
This patch allows the user to fault in pages on a virtual cpus
address space for user controlled virtual machines. Typically this
is superfluous because userspace can just create a mapping and
let the kernel's page fault logic take are of it. There is one
exception: SIE won't start if the lowcore i
Dynamically checking hardware, use a dict to record the pin status,
pin process to single cpu by 'taskset' command.
Guest memory pining is already implemented in framework.
process pining needs to be done in the testcases.
Example:
| numa_node = -1 # last node
| p = virt_utils.NumaNode(numa_nod
1 - 100 of 102 matches
Mail list logo