From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gleb Natapov Subject: Re: VT-d regression issue Date: Thu, 22 Jul 2010 11:52:09 +0300 Message-ID: <20100722085209.GF27177@redhat.com> References: <20100722082122.GE27177@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: "kvm@vger.kernel.org" To: "Hao, Xudong" Return-path: Received: from mx1.redhat.com ([209.132.183.28]:12814 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753049Ab0GVIwL (ORCPT ); Thu, 22 Jul 2010 04:52:11 -0400 Content-Disposition: inline In-Reply-To: Sender: kvm-owner@vger.kernel.org List-ID: On Thu, Jul 22, 2010 at 04:47:12PM +0800, Hao, Xudong wrote: > [root@vt-nhm1 ~]# lspci -vv -s 01:00.0 > 01:00.0 Ethernet controller: Intel Corporation 82572EI Gigabit Ethernet Controller (Copper) (rev 06) > Subsystem: Intel Corporation PRO/1000 PT Desktop Adapter > Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- > Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- SERR- Interrupt: pin A routed to IRQ 16 > Region 0: Memory at d3c20000 (32-bit, non-prefetchable) [size=128K] > Region 1: Memory at d3c00000 (32-bit, non-prefetchable) [size=128K] > Region 2: I/O ports at 5000 [size=32] > Expansion ROM at d3e00000 [size=128K] > Capabilities: [c8] Power Management version 2 > Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+) > Status: D0 PME-Enable- DSel=0 DScale=1 PME- > Capabilities: [d0] MSI: Mask- 64bit+ Count=1/1 Enable- > Address: 00000000fee00418 Data: 0000 > Capabilities: [e0] Express (v1) Endpoint, MSI 00 > DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s <512ns, L1 <64us > ExtTag- AttnBtn- AttnInd- PwrInd- RBE- FLReset- > DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported- > RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+ > MaxPayload 128 bytes, MaxReadReq 512 bytes > DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ TransPend- > LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM L0s, Latency L0 <4us, L1 <64us > ClockPM- Surprise- LLActRep- BwNot- > LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+ > ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt- > LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt- > Capabilities: [100] Advanced Error Reporting > UESta: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq+ ACSViol- > UEMsk: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol- > UESvrt: DLP+ SDES- TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol- > CESta: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr- > CEMsk: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr- > AERCap: First Error Pointer: 14, GenCap- CGenEn- ChkCap- ChkEn- > Capabilities: [140] Device Serial Number 82-ff-04-ff-ff-21-1b-00 > Kernel driver in use: pci-stub > Kernel modules: e1000e > Can you try this patch for qemu-kvm please? diff --git a/hw/device-assignment.c b/hw/device-assignment.c index 2bba22f..7240985 100644 --- a/hw/device-assignment.c +++ b/hw/device-assignment.c @@ -238,9 +238,10 @@ static void assigned_dev_iomem_map_slow(PCIDevice *pci_dev, int region_num, DEBUG("%s", "slow map\n"); if (region_num == PCI_ROM_SLOT) m = cpu_register_io_memory(slow_bar_read, NULL, region); - else + else { m = cpu_register_io_memory(slow_bar_read, slow_bar_write, region); - cpu_register_physical_memory(e_phys, e_size, m); + cpu_register_physical_memory(e_phys, e_size, m); + } /* MSI-X MMIO page */ if ((e_size > 0) && -- Gleb.