lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Tue, 30 Mar 2021 15:04:02 +0200 (CEST)
From:   "Maciej W. Rozycki" <macro@...am.me.uk>
To:     David Laight <David.Laight@...LAB.COM>
cc:     'Amey Narkhede' <ameynarkhede03@...il.com>,
        Pali Rohár <pali@...nel.org>,
        "alex.williamson@...hat.com" <alex.williamson@...hat.com>,
        "helgaas@...nel.org" <helgaas@...nel.org>,
        "lorenzo.pieralisi@....com" <lorenzo.pieralisi@....com>,
        "kabel@...nel.org" <kabel@...nel.org>,
        "linux-pci@...r.kernel.org" <linux-pci@...r.kernel.org>,
        "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
        "raphael.norwitz@...anix.com" <raphael.norwitz@...anix.com>
Subject: RE: How long should be PCIe card in Warm Reset state?

On Thu, 25 Mar 2021, David Laight wrote:

> I can't see the value in the (nice bound) copy of the PCI 2.0 spec I have.
> But IIRC it is 100ms (it might just me 500ms).
> While this might seem like ages it can be problematic if targets have
> to load large FPGA images from serial EEPROMs.

 AFAICT it is 100ms for the Conventional Reset before Configuration 
Requests are allowed to be issued in the first place, and then they are 
allowed to fail with the Configuration Request Retry Status (CRS) status 
until the device is ready to respond.  Then it is 1.0s before the Root 
Complex and/or system software is allowed to consider a device broken that 
does not return a Successful Completion status for a valid Configuration 
Request.

 This 1.0s period is analogous to the Trhfa parameter for PCI/PCI-X buses 
(2^25/2^27 bus clocks respectively; I don't know why the PCIe spec quotes 
the latter value as 2^26, contrary to what the original PCI-X spec says, 
but obviously the latter document is what sets the norm), which also has 
to be respected for the respective bus segments in the presence of PCIe to 
PCI/PCI-X bridges.

 For Function-level reset the timeout is 100ms.

 This is specified in sections 6.6.1. "Conventional Reset" and 6.6.2. 
"Function-Level Reset (FLR)" respectively in the copy of PCIe 2.0 base 
spec I have access to; I imagine other versions may have different section 
numbers, but will have them named similarly.

 If I were to implement this stuff, for good measure I'd give it a safety 
margin beyond what the spec requires and use a timeout of say 2-4s while 
actively querying the status of the device.  The values given in the spec 
are only the minimum requirements.

 HTH,

  Maciej

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ