[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: BIOS Bus Master Option
You can talk directly to hardware in WinNT iff you do it via a device driver
for that hardware. It is the responsibility of the PCI device's driver to
enable bus mastering on the device because only the device driver can ensure
that the device is properly initialized. Some early device driver authors
assumed that the BIOS would enable the bus mastering bit, but this is really
a no-no unless the BIOS installs a routine for interacting with that device
and actually initializes the device's busmastering interface for use with
that routine.
--
Brooks Lame'
Design Engineer, Motorola Monterey Design Center
brooks_lame@mcg.mot.com, blame@prolog.com
> -----Original Message-----
> From: Tony Clark [mailto:clark@MGI.com]
> Sent: Thursday, 09 December, 1999 11:49
> To: Mailing List Recipients
> Subject: Re: BIOS Bus Master Option
>
>
> I've been told that the BIOS folks disabled bus mastering
> during a soft
> reset as it is the correct thing to do according to the white
> paper. They
> then had the problem that lots of stuff didn't work because
> the drivers did
> not turn bus mastering back on. To work around that, the
> added the options
> in the BIOS to allow you to force bus mastering enable.
>
> Now the problem: Under windows NT you normally do not deal
> directly with
> the hardware because NT is designed to hide all of that. We
> currently use
> the BIOS to force the bus master bit to be enabled. Anybody
> have an opinion
> on what we should be doing? Perhaps NT has a function that
> we do not know
> about that someone could clue us in on.
>
> Thanks in advance,
>
> Tony Clark
>
> -----Original Message-----
> From: Olaf Birkeland [mailto:Olaf.Birkeland@fast.no]
> <mailto:[mailto:Olaf.Birkeland@fast.no]>
> Sent: Wednesday, December 08, 1999 6:01 AM
> To: Mailing List Recipients
> Cc: Lloyd Bircher
> Subject: RE: BIOS Bus Master Option
>
>
>
> > -----Original Message-----
> > From: Lloyd Bircher [mailto:nicad2@yahoo.com]
> <mailto:[mailto:nicad2@yahoo.com]>
> > Sent: 7 December, 1999 17:22
> > To: Mailing List Recipients
> > Subject: BIOS Bus Master Option
> >
> >
> > I am having an issue with a legacy PCI configuration
> > in an x86 PC. There is an option in many BIOS setups
> > for disabling Bus Mastering for ALL PCI devices in a
> > system. The original purpose of this option was to
> > allow broken Bus Masters to function. However, this
> > setting does not selectively disable problem adapters,
> > it disables Bus Mastering on ALL PCI devices.
> >
> > Does anyone know a good reason why this option should
> > exist in a modern PCI system? Are there many cards
> > that have broken BM capabilty?
> >
>
> I don't quite understand the issue on broken
> bus masters,
> but this setting
> might be related to a PCI SIG white paper on
> "soft reset"
> problems in PCI
> systems.
>
> Since soft reset does not trigger a PCI reset in all
> systems, bus master
> disabling is required to prevent a bus master
> with a pending
> access from
> before the reset to start an unintended
> operation after the
> reset (since the
> soft reset was not observed by the bus master
> device). If
> the BIOS assert
> PCIRST# also on soft reset, then explicit bus master
> disabling is not
> required as this is part of the PCI reset. In
> both cases,
> all PCI bus
> masters will and should be disabled when BIOS POST
> completes.
>
> Likewise, expansion ROM/device driver/operating system
> should always assume
> that bus mastering is initially disabled, and
> enable each
> through the PCI
> header after proper initialization.
>
> Regards,
> - Olaf
>