From owner-cvs-all@FreeBSD.ORG Mon May 24 07:53:07 2004 Return-Path: Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1CD0F16A4CE; Mon, 24 May 2004 07:53:07 -0700 (PDT) Received: from harmony.village.org (rover.village.org [168.103.84.182]) by mx1.FreeBSD.org (Postfix) with ESMTP id 452D843D3F; Mon, 24 May 2004 07:53:04 -0700 (PDT) (envelope-from imp@bsdimp.com) Received: from localhost (warner@rover2.village.org [10.0.0.1]) by harmony.village.org (8.12.11/8.12.11) with ESMTP id i4OEnqZd084215; Mon, 24 May 2004 08:49:52 -0600 (MDT) (envelope-from imp@bsdimp.com) Date: Mon, 24 May 2004 08:50:02 -0600 (MDT) Message-Id: <20040524.085002.23011650.imp@bsdimp.com> To: gavin.atkinson@ury.york.ac.uk From: "M. Warner Losh" In-Reply-To: <1085391163.6814.6.camel@buffy.york.ac.uk> References: <20040523204728.U66525@root.org> <20040523.215736.44518029.imp@bsdimp.com> <1085391163.6814.6.camel@buffy.york.ac.uk> X-Mailer: Mew version 3.3 on Emacs 21.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit cc: cvs-src@freebsd.org cc: src-committers@freebsd.org cc: scottl@freebsd.org cc: cvs-all@freebsd.org cc: nate@root.org Subject: Re: cvs commit: src/sys/dev/pci pci.c X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 24 May 2004 14:53:07 -0000 In message: <1085391163.6814.6.camel@buffy.york.ac.uk> Gavin Atkinson writes: : On Mon, 2004-05-24 at 04:57, M. Warner Losh wrote: : > In message: <20040523204728.U66525@root.org> : > Nate Lawson writes: : > : On Sat, 22 May 2004, M. Warner Losh wrote: : > : > Well, we're talking exclusively about the vendor, device, subvendor, : > : > subdevice, class, subclass and progif fields, which are obstensively : > : > read-only. However, the pci standards are self-contradictory. The : > : > main 2.2 one says they are read-only (without defining what that means : > : > that I could find), yet the pciide spec says that progif had writable : > : > bits... : > : : > : I think the progif is the only one of that list that you need to restore, : > : as per your reading of the specs. Since the others are identifiers, they : > : probably don't need to be restored. : > : > Things are vague enough in the spec that this is totally : > unsatisfying. We're just guessing based on hunches, which I really : > don't like, which is why I saved/restored everything. : : Could we perhaps read them on restore and only write to them if : necessary? That way we reduce the possibility of tickling bugs in the : silicon by writing to read-only registers for chips that don't actually : need it? How do you know it is necessary? No, this whole arm-chair generaling thing is getting out of hand. Either we do it or we don't. If someone can find *ANY* chip *AT*ALL* that has a problem, I'd be much less grumpy about the shots from the sidelines, but there simply aren't any. Scott is worried that there might be based on his experience, but he's unable to give an example. I respect that experience, but at the same time I'm not going to make this code overly complex based purely on speculation of what might be a problem. If there are real problems, of course I'll deal. Warner