Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 24 May 2004 10:06:00 -0700 (PDT)
From:      Nate Lawson <nate@root.org>
To:        Warner Losh <imp@FreeBSD.org>
Cc:        cvs-all@FreeBSD.org
Subject:   Re: cvs commit: src/sys/dev/pci pci.c
Message-ID:  <20040524100528.A70614@root.org>
In-Reply-To: <20040524155332.505A016A548@hub.freebsd.org>
References:  <20040524155332.505A016A548@hub.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 24 May 2004, Warner Losh wrote:
> imp         2004/05/24 08:52:57 PDT
>
>   FreeBSD src repository
>
>   Modified files:
>     sys/dev/pci          pci.c
>   Log:
>   Do not write to those config registers that are unambiguously defined
>   in the various pci specifications as readonly.  vendor, subvendor,
>   device and subdevice are required to be loaded in hardware by some
>   means that isn't the system BIOS or other system software (although
>   some devices do have ways of accomplishing this).  class and subclass
>   are defined to be read-only in section 6.2.1 (v2.2).  Apart from the
>   status register, which we weren't touching, these are the only
>   read-only registers I could find in the 2.2 spec.
>
>   progif is also defined as being read-only in section 6.2.1.  However,
>   the PCI IDE programming document specifically states that some of the
>   bits are read/write.  Since we may have to restore registers before we
>   have a driver attached, go ahead and restore this one byte when
>   transitioning between D3 and D0.
>
>   The PCI spec also says that writes to reserved and unimplemented
>   registers must be completed normally.  It makes no statements about
>   writes to read-only registers, so be as conservative as possible,
>   while covering the exception to the rule that is documented in a
>   subpart of the standard.
>
>   Requested by: socttl
>
>   Revision  Changes    Path
>   1.260     +0 -19     src/sys/dev/pci/pci.c

Excellent, I think this is the right way to go.

-Nate



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040524100528.A70614>