All of lore.kernel.org
 help / color / mirror / Atom feed
From: linas@austin.ibm.com (Linas Vepstas)
To: Robert Hancock <hancockr@shaw.ca>
Cc: linux-kernel <linux-kernel@vger.kernel.org>
Subject: Re: PCI reset using x86 or x86-64 BIOS calls?
Date: Fri, 26 May 2006 17:01:15 -0500	[thread overview]
Message-ID: <20060526220115.GA21605@austin.ibm.com> (raw)
In-Reply-To: <44765F57.90703@shaw.ca>

On Thu, May 25, 2006 at 07:52:23PM -0600, Robert Hancock wrote:
> Linas Vepstas wrote:
> >I've go a newbie x86 BIOS question:  is there a BIOS function that 
> >can be called to reset a PCI device? (By "reset a device" I mean
> >raise the #RST PCI signal line to electrical high for 1.5 seconds).
> >I know that BIOS does this during a soft reboot, but I was wondering
> >if there's a stand-alone function for doing this while the system is up
> >and running.
> 
> Unlikely - if you mean just resetting one PCI device, it's likely 
> electrically impossible on many, if not most machines as the RST lines 
> will be tied together on all slots.

I was afraid of that.

> In any case, I don't think - or at least would hope - that a PCI device 
> going so far into the weeds that it can't be recovered without a RST 
> would be a rare situation.

Well, this comes up in the case of having kexec take over from a crashed 
kernel; the state of any given PCI card is unclear, and its conceptually
easiest to hit them with a hammer to put them back into a known state.

For hotplug slots, this can be accomplished by toggling power to a slot,
but not all slots out there are hot-pluggable. 

The other situation where this is useful is in recovering from a PCI bus
error (e.g. parity error); but his has additional complications.

I've got someone here  asking about the LSI megaraid controller; 
appearently its under-documented, and it can hang hard on kexec. 
Hitting it with a reset would make life simpler.

--linas


  parent reply	other threads:[~2006-05-26 22:01 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <6gr2t-1Pp-9@gated-at.bofh.it>
2006-05-26  1:52 ` PCI reset using x86 or x86-64 BIOS calls? Robert Hancock
2006-05-26 14:38   ` Lennart Sorensen
2006-05-26 22:01   ` Linas Vepstas [this message]
2006-05-25 16:35 Linas Vepstas

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20060526220115.GA21605@austin.ibm.com \
    --to=linas@austin.ibm.com \
    --cc=hancockr@shaw.ca \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.