misc questions about the device&driver arch

M. Warner Losh imp at bsdimp.com
Sat Nov 5 13:05:55 PST 2005

In message: <87ab37ab0511032030o134b9316j83295dd303e4e44b at mail.gmail.com>
            kylin <fierykylin at gmail.com> writes:
: ///////////////
: pci bridge dynamic resize
: /////////////
: it seems that the device arch of freebsd is similar to what is revealed in
: window OS. i have read the pcie hotplug tps of windows longhorn ,it is said
: that with some hardware mechanisms the pci bridge driver can do global pci
: resource window reconfiguration.so good to the hotplugin pci device for it
: avoid prelocating resource for the device .
: i wonder ,if the mem /io/irq reconfiguration possible under freebsd .:)
:  1

Yes.  Cardbus does it all the time.  However, there's no pcie hot-plug
support yet, so the process for kicking off configuration of the new
device doesn't happen.

: //////////////
:  is bus_data_generation
: /////////
: what idoes bus_data_generation for, is it the generation count for the
: device manager tree?
: void
: bus_data_generation_update(void)
: {
: bus_data_generation++;
: }

Anytime the device_t tree changes, this gets updated.  It is used by
devinfo and friends.

: //////////////
: pci_write_config vs pci_write_config_method
: //////////////
: under the source code /dev/pci .there are functions name pci_write_config (
: pcivar.h) and pci_write_config_method(pci.c)
: they both call the parent method ,though the content is different ,but does
: that a liitle overlap whit each other?

pci_write_config is the user's interface.  This gets translated into a
series of calls up the tree using pci_write_config_method to find the
right place in the tree to actually write to the configuration


More information about the freebsd-hackers mailing list