Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 16 Oct 2001 07:12:35 -0700 (PDT)
From:      Bruce Evans <bde@FreeBSD.org>
To:        cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/i386/isa npx.c
Message-ID:  <200110161412.f9GECZh63525@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
bde         2001/10/16 07:12:35 PDT

  Modified files:
    sys/i386/isa         npx.c 
  Log:
  Deleted most of npxprobe(), and merged npxprobe1() back into npxprobe().
  Use the normal interrupt handler (npx_intr()) instead of a special
  probe-time interrupt handler, although this causes problems due to
  the bus_teardown_intr() not actually even tearing down the interrupt
  (these problems were avoided by doing interrupt attachment for the
  special interrupt handler directly).  Fixed minor bitrot in comments.
  
  The reason for the npxprobe()/npxprobe1() split mostly went away at
  about the same time it was made (in 1992 or 1993 just before the
  beginning of history).  386BSD ran all probes with interrupts completely
  masked, and I didn't want to disturb this when I added an irq probe
  to npxprobe().  An irq (not necessarily npx) must be acked for at least
  external npx's to take the cpu out of the wait state that it enters
  when an npx error occurs, so the probe must be done with a suitable
  irq unmasked.  npxprobe() went to great lengths to unmask precisely
  the npx irq.
  
  Running probes with all interrupts masked was never really needed in
  FreeBSD, since FreeBSD always masked interrupts well enough using
  splhigh(), but it wasn't until rev.1.48 (1995/12/12) of autoconf.c
  that all probes were run with CPU interrupts enabled.  This permits
  npxprobe() to probe its irq using normal interrupt resources.  Note
  that most drivers still can't depend on this.  It depends on the
  interrupt handler being fast and the irq not being shared.
  
  Revision  Changes    Path
  1.116     +49 -127   src/sys/i386/isa/npx.c


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




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