How to hotplug a PCI device (such as VF) on FreeBSD

John Baldwin jhb at FreeBSD.org
Mon Mar 25 17:26:04 UTC 2019


On 3/25/19 7:05 AM, Ian Lepore wrote:
> On Mon, 2019-03-25 at 08:49 +0000, Hongxiong Xian (Wicresoft North
> America Ltd) wrote:
>> Hi,
>>
>> I'm looking for a way to refresh the pci device list.
>> In Linux, we can remove a particular pci device, and then after
>> preforming a "rescan" the device will appear again.
>> For example, disable/rescind PCI (such as VF) :
>> echo 1 >  /sys/bus/pci/devices/0001\:00\:02.0/remove
>> # Get the device back
>> echo 1 > /sys/bus/pci/rescan
>>
>> I'm looking for a similar way in FreeBSD. Does the FreeBSD support
>> the hotplug of a PCI device?  Thanks in advance!
>>
>>
> 
> I think 'devctl rescan' will do that, 'man devctl' for details.

For VFs you can create/remote them using iovctl on the PF device.

You can also use 'devctl rescan' to force a rescan of a PCI bus as
Ian noted.  For native PCI-express hotplug you should not need to
do manual rescans (though FreeBSD does not support PCI-e hotplug
via Thunderbolt).

-- 
John Baldwin


More information about the freebsd-current mailing list