From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jan Kiszka Subject: Re: [PATCH v4 3/4] pci-assign: Use PCI-2.3-based shared legacy interrupts Date: Thu, 08 Mar 2012 18:08:49 +0100 Message-ID: <4F58E7A1.5010708@siemens.com> References: <19ba6ca054e9b3fcdfd02f41d1994493002627b8.1331201422.git.jan.kiszka@siemens.com> <1331226058.25831.19.camel@ul30vt> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Cc: Avi Kivity , Marcelo Tosatti , "kvm@vger.kernel.org" , "Michael S. Tsirkin" To: Alex Williamson Return-path: Received: from goliath.siemens.de ([192.35.17.28]:15276 "EHLO goliath.siemens.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753896Ab2CHRIz (ORCPT ); Thu, 8 Mar 2012 12:08:55 -0500 In-Reply-To: <1331226058.25831.19.camel@ul30vt> Sender: kvm-owner@vger.kernel.org List-ID: On 2012-03-08 18:00, Alex Williamson wrote: > On Thu, 2012-03-08 at 11:10 +0100, Jan Kiszka wrote: >> Enable the new KVM feature that allows legacy interrupt sharing for >> PCI-2.3-compliant devices. This requires to synchronize any guest >> change of the INTx mask bit to the kernel. >> >> The feature is controlled by the property 'share_intx' and is off by >> default for now. >> >> Signed-off-by: Jan Kiszka >> --- >> hw/device-assignment.c | 25 +++++++++++++++++++++++++ >> hw/device-assignment.h | 10 ++++++---- >> qemu-kvm.c | 9 +++++++++ >> qemu-kvm.h | 2 ++ >> 4 files changed, 42 insertions(+), 4 deletions(-) >> >> diff --git a/hw/device-assignment.c b/hw/device-assignment.c >> index a5f1abb..b7cabd4 100644 >> --- a/hw/device-assignment.c >> +++ b/hw/device-assignment.c >> @@ -782,6 +782,13 @@ static int assign_device(AssignedDevice *dev) >> "cause host memory corruption if the device issues DMA write " >> "requests!\n"); >> } >> + if (dev->features & ASSIGNED_DEVICE_SHARE_INTX_MASK) { >> + assigned_dev_data.flags |= KVM_DEV_ASSIGN_PCI_2_3; >> + >> + /* hide host-side INTx masking from the guest */ >> + dev->emulate_config_read[PCI_COMMAND + 1] |= >> + PCI_COMMAND_INTX_DISABLE >> 8; >> + } > > I think this also needs a kvm_has_intx_set_mask() check or else we're > emulating pci2.3 intx disable support without actually backing it. Hmm... true. Jan -- Siemens AG, Corporate Technology, CT T DE IT 1 Corporate Competence Center Embedded Linux