I will double check if current kernel need that for every onboard device.
YH
-----邮件原件----- 发件人: Eric W. Biederman [mailto:eric@lnxi.com] 代表 Eric W. Biederman 发送时间: 2004年4月25日 11:47 收件人: Yinghai Lu 抄送: 'Stefan Reinauer'; 'ron minnich'; 'Hendricks David W.'; 'Li-Ta Lo'; 'LinuxBIOS' 主题: Re: ATI rage xl.init
"Yinghai Lu" yhlu@tyan.com writes:
Sometimes, if you not enable PCI master, the device can not work properly
in
Linux.
But Eric/Ron didn't enable that in PCI main loop, because some devices
don't
need that.
As a general rule devices don't need that and it is the responsibility of the device driver to enable/os to enable it.
So the master bit should only be enabled for devices that are needed to boot. So we do need to enable this on the ioapic that transmit interrupts over the pci bus for example. Both because it is needed to boot and because it is architectural hardware.
Unless someone can show me a relevant passage of the pci spec, that says differently.
Any linux device driver that can't cope with a device that does not have it's bus master bit clear and needs it set is broken.
Devices with bus master set are allowed to DMA into main memory whenever they feel like it so it is dangerous to enable that bit indiscriminately.
Eric