From owner-freebsd-hackers@FreeBSD.ORG Wed Apr 15 00:36:51 2009 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5D6F01065670; Wed, 15 Apr 2009 00:36:51 +0000 (UTC) (envelope-from babkin@verizon.net) Received: from vms173007pub.verizon.net (vms173007pub.verizon.net [206.46.173.7]) by mx1.freebsd.org (Postfix) with ESMTP id 3A2728FC18; Wed, 15 Apr 2009 00:36:50 +0000 (UTC) (envelope-from babkin@verizon.net) Received: from verizon.net ([98.109.134.167]) by vms173007.mailsrvcs.net (Sun Java(tm) System Messaging Server 6.3-7.04 (built Sep 26 2008; 32bit)) with ESMTPA id <0KI400LSU9OUSBNO@vms173007.mailsrvcs.net>; Tue, 14 Apr 2009 19:36:31 -0500 (CDT) Sender: root Message-id: <49E52E7B.34792757@verizon.net> Date: Tue, 14 Apr 2009 20:46:51 -0400 From: Sergey Babkin X-Mailer: Mozilla 4.7 [en] (X11; U; FreeBSD 4.7-RELEASE i386) X-Accept-Language: en, ru MIME-version: 1.0 To: John Baldwin References: <1366225354.253456.1238948619308.JavaMail.root@vms124.mailsrvcs.net> <200904070921.14294.jhb@freebsd.org> <49DBFA72.9E64AB4F@verizon.net> <200904131256.44692.jhb@freebsd.org> Content-type: text/plain; charset=koi8-r Content-transfer-encoding: 7bit X-Mailman-Approved-At: Wed, 15 Apr 2009 01:54:12 +0000 Cc: freebsd-hackers@freebsd.org, Ivan Voras Subject: Re: Patch for MS Hyper V (virtualization) X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Apr 2009 00:36:52 -0000 John Baldwin wrote: > > On Tuesday 07 April 2009 9:14:26 pm Sergey Babkin wrote: > > John Baldwin wrote: > > > > > > On Monday 06 April 2009 11:12:33 pm Sergey Babkin wrote: > > > > > > Anyway, as far as I can tell, it's only the base register of > > > > the simulated DEC21140 device that has this issue, so it's > > > > quite possible that the bug is in that device's simulator. > > > > > > > > I've attached a modified patch that checks conservatively for this > > > > precise situation, so it should not break compatibility with > > > > anything else. I've tested it on Hyper-V. > > > > > > Can you test unmodified FreeBSD 8 on Hyper-V? It has an extra fix > relative to > > > 7 to disable decoding via the PCI command register while sizing BARs that > may > > > address this. > > > > 8.0 (February snapshot) seems to have the same issue. > > Ok. > > > I've also saved the log of writes that 7.1 does for this device: > > > > reg 10 val ec01 > > reg 14 val febff000 > > reg 18 val 0 > > reg 1c val 0 > > reg 20 val 0 > > reg 24 val 0 > > reg 30 val febe0000 > > reg 4 val 117 > > reg 3c val b > > reg 3d val 1 > > reg 3e val 14 > > reg 3f val 28 > > reg c val 8 > > reg d val 40 > > reg 9 val 0 > > reg 8 val 20 > > reg 10 val ec00 > > reg 14 val febff000 > > reg 4 val 117 > > reg 4 val 117 > > > > I don't see any ffffffff values. > > Your printf() probably isn't in the right place. pci_add_map() uses > PCIB_READ_CONFIG() directly and doesn't use pci_read_config(), so if your > printf is in pci_read_config_method() in pci.c it won't see them. Try > hooking the cfg operations in sys/amd64/pci/pci_cfgreg.c instead. The printf was in pci_write_config(). -SB