Hi Matthew, Thanks for repy. On Sat, Jan 25, 2020 at 5:01 AM Matthew Wilcox <willy@xxxxxxxxxxxxx> wrote: > > On Fri, Jan 24, 2020 at 10:42:48PM +0800, Chen Yu wrote: > > It was found that on some platforms the bogus pci device might bring > > troubles to the system. For example, on a MacBookPro the system could > > not be power off or suspended due to internal pci resource confliction > > between bogus pci device and [io 0x1804]. Another case is that, once > > resumed from hibernation on a VM, the pci config space of a pci device > > is corrupt. > > > > To narrow down and benefit future debugging for such kind of issues, > > introduce the command line blacklist_dev=<vendor:device_id>> to blacklist > > such pci devices thus they will not be scanned thus not visible after > > bootup. For example, > > > > pci.blacklist_dev=8086:293e > > > > forbid the audio device to be exposed to the OS. > > This feels really unsafe to me. Just because Linux ignores the device > doesn't mean the device will ignore I/O requests. I think we should > call this pci.disable_dev and clear the device's I/O Space Enable, > Memory Space Enable and Bus Master Enable bits (in the Command register, > config space offset 4). Oh right, the BIOS might already has enabled Memory/IO space in the config during boot up and thus has already claimed the resource range for this pci device. I'll summarize the problem I found currently in Bjorn's reply and let's discuss it there. Thanks, chenyu