misc questions about the device&driver arch

kylin fierykylin at gmail.com
Sun Nov 6 03:14:32 PST 2005

On 11/6/05, M. Warner Losh <imp at bsdimp.com> wrote:
> 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.
> Warner
sorry for my poor grammar ,i think i confused the public:) i will make
myself clear with the words below about the  PCI Multi-level Rebalance

PCI Multi-level Rebalance in Windows Longhorn
Updated: November 25, 2003

The Microsoft(r) Windows(r) codename "Longhorn" operating system will
include support for resource rebalancing at multiple levels across a
PCI hierarchy. Windows Longhorn multi-level rebalancing supports
systems that use multiple PCI-to-PCI bridge levels, including CardBus
bridges, and also enhances support for hot plug technologies. However,
multi-level rebalancing can expose problems in device drivers that do
not handle Plug and Play I/O request packets (IRPs) correctly.

Problem Scenarios
Insufficient bridge resources appear when the platform BIOS cannot
assign appropriate PCI-bridge resource windows during POST. Systems
supporting hot-plug PCI devices are particularly problematic. When a
PCI device can be hot-plugged behind a PCI bridge at run time, it is
impossible for the BIOS to ascertain during POST how large a bridge
resource window must be to accommodate a device. Additionally, a PCI
bridge device might be hot plugged in certain situations—for example,
in generic docking solutions that connect through CardBus adapters, or
in the I/O expansion chassis often used in large server systems.

Dynamic reconfiguration implies that a PCI bridge, whose resource
windows are not being consumed by devices behind the bridge, might
lose resources to another bridge that needs supplemental resources.

Multi-level Rebalance Device Driver Requirements
Windows device drivers must be carefully designed and thoroughly
tested to properly support Windows Driver Model (WDM) stop semantics.
The Stop request is an operational pause where the driver takes
necessary steps to suspend an operation until the assignment of new
resources is completed.

Note: The rebalance process must remain transparent to applications
and end users. End users might experience a temporary delay in a
device's operation, but data must never be lost.

Several events can trigger a resource rebalance request. For example,
the system can fail to assign resources to a device behind a bridge
whose resource windows are not opened wide enough to support the
resource request. A device might also report that its resource
requirements have changed at run time. Windows can also determine that
a PCI bridge was configured to boot with a resource window that is
larger than necessary, then Windows will reduce the size of the
resource window and release associated resources.

we who r about to die,salute u!

More information about the freebsd-hackers mailing list