[coreboot] PCI bus mastering

Carl-Daniel Hailfinger c-d.hailfinger.devel.2006 at gmx.net
Tue May 13 03:11:21 CEST 2008

On 09.05.2008 19:29, ron minnich wrote:
> On Fri, May 9, 2008 at 7:06 AM, Andrei Birjukov wrote:
>> 2. Another option would be to globally force the PCI_COMMAND_MASTER in
>> pci_probe_dev(), if the base class is PCI_BASE_CLASS_NETWORK.
> then we'll hit the same problem with disk potentially or any other bus
> master device? Not sure.
> I think we need to make it clear to the user: this is being done
> because their OS is defective, and it is dangerous. But we've got to
> support it, so that's life. It really ought to be a Kconfig option.
> (this is v3 I assume). And the help needs to make clear why this is
> being done. I don't mind it if you want to beat WinCE over the head.

Andrei was talking about v2. With v3, we can simply add a "busmaster"
property to the dts object which is used to set the busmastering flag in
stage6 or so.

> I'd rather have an this done in phase 6, as part of global PCI device
> processing. Recall that as soon as you enable DMA on a NIC, things get
> interesting: Once the NIC is enabled, will it receive packets? If so,
> where do broadcast packets end up? I don't know. So this is quite
> dangerous.
> Sorry to ramble, I'm just trying to figure this out. Any objections to
> making it something we do at the very end, as opposed to the probe
> step? That's what phase 6 is for.

Very much agreed.


More information about the coreboot mailing list