On 12/07/2015 20:59, Xiao Guangrong wrote:
>
>
> On 07/13/2015 01:33 AM, Alex Williamson wrote:
>> On Wed, 2015-05-13 at 14:42 +0800, Xiao Guangrong wrote:
>>> There are some bugs in current get_mtrr_type();
>>> 1: bit 1 of mtrr_state->enabled is corresponding bit 11 of
>>> IA32_MTRR_DEF_TY
Hi Andre,
On 07/11/2015 12:42 AM, Andre Przywara wrote:
> On 09/07/15 09:22, Eric Auger wrote:
>> On ARM, the MSI msg (address and data) comes along with
>> out-of-band device ID information. The device ID encodes the
>> device that writes the MSI msg. Let's convey the device id in
>> kvm_irq_routi
On Thu, 9 Jul 2015 09:49:05 +0200
Thomas Huth wrote:
> The option for supporting cross-endianness legacy guests in
> the vhost and tun code should only be available on systems
> that support cross-endian guests.
>
> Signed-off-by: Thomas Huth
Acked-by: Greg Kurz
--
To unsubscribe from this
On Fri, Jul 10, 2015 at 06:44:54PM +0200, Andrew Jones wrote:
> Add support to convert unit tests to standalone scripts that
> can be run outside the framework. This is almost an RFC, but
> it doesn't impact the current framework (except for 'make install',
> but was that ever used?). The scripting
Move struct kvm_irq_routing_table from irqchip.c to kvm_host.h,
so we can use it outside of irqchip.c.
Signed-off-by: Feng Wu
---
include/linux/kvm_host.h | 15 +++
virt/kvm/irqchip.c | 11 ---
2 files changed, 15 insertions(+), 11 deletions(-)
diff --git a/include/lin
This patch adds the routine to update IRTE for posted-interrupts
when guest changes the interrupt configuration.
Signed-off-by: Feng Wu
---
arch/x86/kvm/x86.c | 73 ++
1 file changed, 73 insertions(+)
diff --git a/arch/x86/kvm/x86.c b/arch/x86
Currently, we don't support urgent interrupt, all interrupts
are recognized as non-urgent interrupt, so we cannot post
interrupts when 'SN' is set.
If the vcpu is in guest mode, it cannot have been scheduled out,
and that's the only case when SN is set currently, warning if
SN is set.
Signed-off-
Hi Andre,
On 07/11/2015 01:15 AM, Andre Przywara wrote:
> Hi Eric,
>
> On 09/07/15 09:22, Eric Auger wrote:
>> This patch adds compilation and link against irqchip.
>>
>> On ARM, irqchip routing is not really useful since there is
>> a single irqchip. However main motivation behind using irqchip
>
This patch updates the Posted-Interrupts Descriptor when vCPU
is preempted.
sched out:
- Set 'SN' to suppress furture non-urgent interrupts posted for
the vCPU.
sched in:
- Clear 'SN'
- Change NDST if vCPU is scheduled to a different CPU
- Set 'NV' to POSTED_INTR_VECTOR
Signed-off-by: Feng Wu
-
From: Eric Auger
This patch adds the registration/unregistration of an
irq_bypass_consumer on irqfd assignment/deassignment.
Signed-off-by: Eric Auger
Signed-off-by: Feng Wu
---
virt/kvm/eventfd.c | 7 +++
1 file changed, 7 insertions(+)
diff --git a/virt/kvm/eventfd.c b/virt/kvm/eventfd
This patch updates the Posted-Interrupts Descriptor when vCPU
is blocked.
pre-block:
- Add the vCPU to the blocked per-CPU list
- Set 'NV' to POSTED_INTR_WAKEUP_VECTOR
post-block:
- Remove the vCPU from the per-CPU list
Signed-off-by: Feng Wu
---
arch/x86/include/asm/kvm_host.h | 3 +
arch/x
Enable irq bypass manager for kvm-intel.
Signed-off-by: Feng Wu
---
arch/x86/kvm/Kconfig | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/x86/kvm/Kconfig b/arch/x86/kvm/Kconfig
index 921a8f9..be125bc 100644
--- a/arch/x86/kvm/Kconfig
+++ b/arch/x86/kvm/Kconfig
@@ -61,6 +61,7 @@ config KV
From: Eric Auger
This patch adds the following new members in 'struct kvm_kernel_irqfd'
- struct irq_bypass_consumer consumer
- struct irq_bypass_producer *producer
Signed-off-by: Eric Auger
Signed-off-by: Feng Wu
---
include/linux/kvm_irqfd.h | 3 +++
1 file changed, 3 insertions(+)
From: Eric Auger
Move _irqfd_resampler and _irqfd struct declarations in a new
public header: kvm_irqfd.h. They are respectively renamed into
kvm_kernel_irqfd_resampler and kvm_kernel_irqfd. Those datatypes
will be used by architecture specific code, in the context of
IRQ bypass manager integrati
This patch adds the registration/unregistration of an
irq_bypass_producer for MSI/MSIx on vfio pci devices.
Signed-off-by: Feng Wu
---
drivers/vfio/pci/vfio_pci_intrs.c | 19 +++
drivers/vfio/pci/vfio_pci_private.h | 2 ++
2 files changed, 21 insertions(+)
diff --git a/driver
This patch adds an arch specific hooks 'arch_update' in
'struct kvm_kernel_irqfd'. On Intel side, it is used to
update the IRTE when VT-d posted-interrupts is used.
Signed-off-by: Feng Wu
---
arch/x86/kvm/x86.c| 5 +
include/linux/kvm_host.h | 3 +++
include/linux/kvm_irqfd.h | 2
Add the following x86 specific routines for irqbypass manger:
- kvm_arch_irq_bypass_add_producer
- kvm_arch_irq_bypass_del_producer
Signed-off-by: Feng Wu
---
arch/x86/include/asm/kvm_host.h | 1 +
arch/x86/kvm/x86.c | 40
include/linux/kvm
Extend struct pi_desc for VT-d Posted-Interrupts.
Signed-off-by: Feng Wu
---
arch/x86/kvm/vmx.c | 20 ++--
1 file changed, 18 insertions(+), 2 deletions(-)
diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c
index e11dd59..765539e 100644
--- a/arch/x86/kvm/vmx.c
+++ b/arch/x86/
Make kvm_set_msi_irq() public, we can use this function outside.
Signed-off-by: Feng Wu
---
arch/x86/include/asm/kvm_host.h | 4
arch/x86/kvm/irq_comm.c | 4 ++--
2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/arch/x86/include/asm/kvm_host.h b/arch/x86/include/asm/kv
This patch adds pi_clear_sn and pi_set_sn to struct kvm_x86_ops,
so we can set/clear SN outside vmx.
Signed-off-by: Feng Wu
---
arch/x86/include/asm/kvm_host.h | 3 +++
arch/x86/kvm/vmx.c | 13 +
2 files changed, 16 insertions(+)
diff --git a/arch/x86/include/asm/kvm_h
This patch defines a new interface kvm_intr_is_single_vcpu(),
which can returns whether the interrupt is for single-CPU or not.
It is used by VT-d PI, since now we only support single-CPU
interrupts, For lowest-priority interrupts, if user configures
it via /proc/irq or uses irqbalance to make it
Define an interface to get PI descriptor address from the vCPU structure.
Signed-off-by: Feng Wu
---
arch/x86/include/asm/kvm_host.h | 2 ++
arch/x86/kvm/vmx.c | 11 +++
2 files changed, 13 insertions(+)
diff --git a/arch/x86/include/asm/kvm_host.h b/arch/x86/include/asm/k
VT-d Posted-Interrupts is an enhancement to CPU side Posted-Interrupt.
With VT-d Posted-Interrupts enabled, external interrupts from
direct-assigned devices can be delivered to guests without VMM
intervention when guest is running in non-root mode.
You can find the VT-d Posted-Interrtups Spec. in
Enable irq bypass manager for vfio PCI devices.
Signed-off-by: Feng Wu
---
drivers/vfio/pci/Kconfig | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/vfio/pci/Kconfig b/drivers/vfio/pci/Kconfig
index 579d83b..02912f1 100644
--- a/drivers/vfio/pci/Kconfig
+++ b/drivers/vfio/pci/Kconfig
This patch adds some helper functions to manipulate the
Posted-Interrupts Descriptor.
Signed-off-by: Feng Wu
---
arch/x86/kvm/vmx.c | 26 ++
1 file changed, 26 insertions(+)
diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c
index 765539e..1e815b6 100644
--- a/arch/x86
Hi Paolo,
we (Pavel, Eric and me) need your quick advice on how to proceed with a
small API extension:
(tl;dr: skip to the numbered list at the end)
For using MSIs in a guest when running on an ARM(64) system using a
GICv3 interrupt controller we need to have a device ID available. On
real hardwa
On 2015/7/9 19:50, Christoffer Dall wrote:
> On Tue, Jul 07, 2015 at 11:24:06AM +0100, Will Deacon wrote:
>> On Tue, Jul 07, 2015 at 11:06:57AM +0100, Zhichao Huang wrote:
>>> Chazy and me are talking about how to reduce the saving/restoring
>>> overhead for debug registers.
>>> We want to add a s
On 13/07/2015 12:25, Andre Przywara wrote:
>
> For using MSIs in a guest when running on an ARM(64) system using a
> GICv3 interrupt controller we need to have a device ID available. On
> real hardware this information is sampled from the bus by the ITS part
> of the interrupt controller.
> To m
Hi Feng,
On 07/13/2015 11:47 AM, Feng Wu wrote:
> This patch adds the registration/unregistration of an
> irq_bypass_producer for MSI/MSIx on vfio pci devices.
may be worth mentioning this is a dummy producer with callbacks not yet
implemented.
>
> Signed-off-by: Feng Wu
> ---
> drivers/vfio/pci
On 07/13/2015 11:47 AM, Feng Wu wrote:
> This patch adds an arch specific hooks 'arch_update' in
> 'struct kvm_kernel_irqfd'. On Intel side, it is used to
> update the IRTE when VT-d posted-interrupts is used.
>
> Signed-off-by: Feng Wu
> ---
> arch/x86/kvm/x86.c| 5 +
> include/lin
Hi Feng,
On 07/13/2015 11:47 AM, Feng Wu wrote:
> From: Eric Auger
>
> This patch adds the registration/unregistration of an
> irq_bypass_consumer on irqfd assignment/deassignment.
>
> Signed-off-by: Eric Auger
> Signed-off-by: Feng Wu
> ---
> virt/kvm/eventfd.c | 7 +++
> 1 file changed,
On 07/13/2015 11:47 AM, Feng Wu wrote:
> Add the following x86 specific routines for irqbypass manger:
>
> - kvm_arch_irq_bypass_add_producer
> - kvm_arch_irq_bypass_del_producer
>
> Signed-off-by: Feng Wu
> ---
> arch/x86/include/asm/kvm_host.h | 1 +
> arch/x86/kvm/x86.c | 40 ++
Hi Feng,
On 07/13/2015 11:47 AM, Feng Wu wrote:
> VT-d Posted-Interrupts is an enhancement to CPU side Posted-Interrupt.
> With VT-d Posted-Interrupts enabled, external interrupts from
> direct-assigned devices can be delivered to guests without VMM
> intervention when guest is running in non-root
Hi Alex,
On 07/08/2015 04:37 PM, Eric Auger wrote:
> Hi Alex,
> On 07/07/2015 11:40 PM, Alex Williamson wrote:
>> When a physical I/O device is assigned to a virtual machine through
>> facilities like VFIO and KVM, the interrupt for the device generally
>> bounces through the host system before bei
Hello!
> I think I prefer the flag. Offhand it sounds easier to add support for
> it to non-ARM architectures, compared to KVM_IRQ_ROUTING_EXTENDED_MSI.
Actually i also voted for flag, because it is already introduced in (2), and
i'm not a fan of
adding new definitions where we can reuse exis
13/07/2015 15:16, Eric Auger wrote:
>> >
>> > + irqfd->consumer.token = (void *)irqfd->eventfd;
>> > + kvm_arch_irq_consumer_init(&irqfd->consumer);
> what if the architecture does not implement kvm_arch_irq_consumer_init?
>
> Also you are using here this single function kvm_arch_irq_consumer
On 07/13/2015 03:32 PM, Pavel Fedin wrote:
> Hello!
>
>> I think I prefer the flag. Offhand it sounds easier to add support for
>> it to non-ARM architectures, compared to KVM_IRQ_ROUTING_EXTENDED_MSI.
>
> Actually i also voted for flag, because it is already introduced in (2), and
> i'm not
Hi,
On 13/07/15 15:24, Eric Auger wrote:
> On 07/13/2015 03:32 PM, Pavel Fedin wrote:
>> Hello!
>>
>>> I think I prefer the flag. Offhand it sounds easier to add support for
>>> it to non-ARM architectures, compared to KVM_IRQ_ROUTING_EXTENDED_MSI.
>>
>> Actually i also voted for flag, because
On 07/13/2015 03:32 PM, Paolo Bonzini wrote:
I'm seeing a significant regression in boot performance on Intel
hardware with assigned devices that bisects back to this patch. There's
a long delay with Seabios between the version splash and execution of
option ROMs, and a _very_ long delay with
On 13/07/2015 16:45, Xiao Guangrong wrote:
>> +/* MTRR is completely disabled, use UC for all of physical
>> memory. */
>> +if (!(mtrr_state->enabled & 0x2))
>> +return MTRR_TYPE_UNCACHABLE;
>>
>> actually disappears in commit fa61213746a7 (KVM: MTRR: simplify
>> kvm_mtrr_get_guest_
On 07/13/2015 11:13 PM, Paolo Bonzini wrote:
On 13/07/2015 16:45, Xiao Guangrong wrote:
+/* MTRR is completely disabled, use UC for all of physical
memory. */
+if (!(mtrr_state->enabled & 0x2))
+return MTRR_TYPE_UNCACHABLE;
actually disappears in commit fa61213746a7 (KVM: MTRR
Hi Alex,
On 07/10/2015 07:52 PM, Alex Williamson wrote:
> When a physical I/O device is assigned to a virtual machine through
> facilities like VFIO and KVM, the interrupt for the device generally
> bounces through the host system before being injected into the VM.
> However, hardware technologies
The proprietary system doesn't have a virtio driver, that is the problem.
What are the steps that Linux performs to work correctly with virtio
devices?
Thank you,
Pavel
On 07/12/2015 05:31 PM, Fam Zheng wrote:
On Fri, 07/10 22:34, Pavel Davydov wrote:
Hello,
I've got the following problem
To avoid duplicating unittests.cfg parsing code in other scripts,
let's put it in a file where it can be shared.
Signed-off-by: Andrew Jones
---
run_tests.sh | 46 ++
scripts/functions.bash | 42 ++
2 f
Add support to convert unit tests to standalone scripts that
can be run outside the framework. This is almost an RFC, but
it doesn't impact the current framework (except for 'make install',
but was that ever used?). The scripting is ugly, but I see value
in having easily distributable unit tests.
make install wasn't very useful without also installing scripts for
the qemu command lines. I suspect 'make install' was never used.
Installing standalone tests could be useful though, so let's do
that instead.
Signed-off-by: Andrew Jones
---
Makefile | 6 +++---
config/confi
This is a pretty ugly bash script, wrapped around a couple ugly
bash scripts, and it generates an ugly sh script. But, it gets the
job done. What's the job? Take a unit test and generate a standalone
script that can be run on any appropriate system with an appropriate
qemu. This makes distributing
Signed-off-by: Andrew Jones
---
arm/unittests.cfg | 10 +-
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/arm/unittests.cfg b/arm/unittests.cfg
index ee655b2678a4e..e068a0cdd9c1f 100644
--- a/arm/unittests.cfg
+++ b/arm/unittests.cfg
@@ -11,27 +11,27 @@
# that the configur
Only execute the test if DRYRUN isn't set to yes. This is used
by mkstandalone.sh
Signed-off-by: Andrew Jones
---
arm/run | 12 +++-
x86/run | 11 +++
2 files changed, 14 insertions(+), 9 deletions(-)
diff --git a/arm/run b/arm/run
index 662a8564674a3..8cc2fa2571967 100755
--- a
Signed-off-by: Andrew Jones
---
README | 10 ++
1 file changed, 10 insertions(+)
diff --git a/README b/README
index e9869d12bfa20..eab5ea28f7fab 100644
--- a/README
+++ b/README
@@ -16,6 +16,16 @@ To select a specific qemu binary, specify the QEMU=
environment variable, e.g.
QEMU=/tm
On Mon, 2015-07-13 at 17:32 +0200, Eric Auger wrote:
> Hi Alex,
> On 07/10/2015 07:52 PM, Alex Williamson wrote:
> > When a physical I/O device is assigned to a virtual machine through
> > facilities like VFIO and KVM, the interrupt for the device generally
> > bounces through the host system befor
On Fri, 2015-07-10 at 23:09 +0200, Paolo Bonzini wrote:
>
> On 10/07/2015 19:52, Alex Williamson wrote:
> > Perhaps if a second consumer comes along that would be justification for
> > tying it elsewhere in the build system. ARM will obviously need to do
> > similar. Are there better options?
>
On Mon, 2015-07-13 at 17:47 +0800, Feng Wu wrote:
> This patch adds the registration/unregistration of an
> irq_bypass_producer for MSI/MSIx on vfio pci devices.
>
> Signed-off-by: Feng Wu
> ---
> drivers/vfio/pci/vfio_pci_intrs.c | 19 +++
> drivers/vfio/pci/vfio_pci_private.h
Hi Alex,
On 07/13/2015 08:25 PM, Alex Williamson wrote:
> On Mon, 2015-07-13 at 17:32 +0200, Eric Auger wrote:
>> Hi Alex,
>> On 07/10/2015 07:52 PM, Alex Williamson wrote:
>>> When a physical I/O device is assigned to a virtual machine through
>>> facilities like VFIO and KVM, the interrupt for th
On Mon, 2015-07-13 at 22:58 +0200, Eric Auger wrote:
> Hi Alex,
> On 07/13/2015 08:25 PM, Alex Williamson wrote:
> > On Mon, 2015-07-13 at 17:32 +0200, Eric Auger wrote:
> >> Hi Alex,
> >> On 07/10/2015 07:52 PM, Alex Williamson wrote:
> >>> When a physical I/O device is assigned to a virtual machi
> -Original Message-
> From: Eric Auger [mailto:eric.au...@linaro.org]
> Sent: Monday, July 13, 2015 9:19 PM
> To: Wu, Feng; kvm@vger.kernel.org; linux-ker...@vger.kernel.org
> Cc: pbonz...@redhat.com; alex.william...@redhat.com; j...@8bytes.org
> Subject: Re: [v5 00/19] Add VT-d Posted-I
On Mon, 07/13 10:41, Pavel Davydov wrote:
> The proprietary system doesn't have a virtio driver, that is the problem.
>
> What are the steps that Linux performs to work correctly with virtio
> devices?
It's done with a specific driver that talks to virtio interface:
http://github.com/torvalds/li
57 matches
Mail list logo