1
0
Files
irix-657m-src/eoe/man/manD/pcibr_hints.d3
2022-09-29 17:59:04 +03:00

135 lines
3.4 KiB
Plaintext

.TH pcibr_hints D3
.IX "\f4pcibr_hints_dualslot\f1(D3)"
.IX "\f4pcibr_hints_fix_rrbs\f1(D3)"
.IX "\f4pcibr_hints_fix_some_rrbs\f1(D3)"
.IX "\f4pcibr_hints_handsoff\f1(D3)"
.IX "\f4pcibr_hints_subdevs\f1(D3)"
.SH NAME
.nf
\f4pcibr_hints_dualslot\f1 \- note device uses two PCI slots
\f4pcibr_hints_fix_rrbs\f1 \- prevent all automatic RRB allocation
\f4pcibr_hints_fix_some_rrbs\f1 \- prevent some automatic RRB allocation
\f4pcibr_hints_handsoff\f1 \- prevent generic handling
\f4pcibr_hints_subdevs\f1 \- specify subdevice mask
.fi
.SH SYNOPSIS
.ds fT \f1
.if t .ds fT \f4
.nf
\*(fT#include <sys/PCI/pcibr.h>
.sp .8v
void
pcibr_hints_dualslot(
vertex_hdl_t \f2xconn_vhdl\*(fT,
pciio_slot_t \f2host\*(fT,
pciio_slot_t \f2guest\*(fT)
.sp .8v
void
pcibr_hints_fix_rrbs(
vertex_hdl_t \f2xconn_vhdl\*(fT)
.sp .8v
void
pcibr_hints_fix_some_rrbs(
vertex_hdl_t \f2xconn_vhdl\*(fT,
unsigned \f2slot_mask\*(fT)
.sp .8v
void
pcibr_hints_handsoff(
vertex_hdl_t \f2xconn_vhdl\*(fT)
.sp .8v
void
pcibr_hints_subdevs(
vertex_hdl_t \f2xconn_vhdl\*(fT,
pciio_slot_t \f2pci_slot\*(fT,
ulong_t \f2subdev\*(fTs)
.fi
.SS Arguments
.IP "\f2guest\f1" 8n
A PCI slot number other than the host slot whose
resources are used by a dualslot device.
.IP "\f2host\f1" 8n
A PCI slot number in which a dualslot device responds to
Config space accesses.
.IP "\f2pci_slot\f1" 8n
The (possibly logical) PCI slot number of the device of
interest.
.IP "\f2slot_mask\f1" 8n
A bit mask specifying which PCI slots (or REQ/GNT pairs)
are affected by the call; the least significant bit is
REQ0/GNT0, and so on up to bit 0x80 is REQ7/GNT7.
.IP "\f2subdev\f1" 8n
A bitmask of populated subdevices for a specific PCI
slot. The exact bit layout is dependent on the PCI
device involved.
.IP "\f2xconn_vhdl\f1" 8n
The XIO connection point for the bridge, generally
obtained from a nic_vmc callback.
.IP
.SH DESCRIPTION
.P
Boards are sometimes built with onboard PCI
busses that route more than one REQ/GNT pair
to a single device.
.IR pcibr_hints_dualslot ()
is used to inform the infrastructure of
such devices.
.P
.IR pcibr_hints_fix_rrbs ()
disables automatic RRB adjustment for
all REQ/GNT pairs on the bus.
.P
.IR pcibr_hints_fix_some_rrbs ()
disables automatic RRB adjustment for
the specified REQ/GNT pairs on the bus;
the least significant bit coresponds to REQ0/GNT0
and bit 0x80 corresponds to REQ7/GNT7.
.P
.IR pcibr_hints_handsoff ()
prevents additional initialization of the
specified Bridge ASIC and the infrastructure
at and beyond the Bridge.
.P
.IR pcibr_hints_subdevs ()
is used to inform varous PCI device drivers
that have multiple subdevices
of which subdevices are meaningful;
for instance,
a chip supporting serial ports and
ethernet may be used
without serial port connectors,
and
.IR pcibr_hints_subdevs ()
would be called to inform the driver
that it need not provide support
for those particular serial ports.
.\".SH EXAMPLES
.\".nf
.\".if t .ft 4
.\".fi
.\".ft 1
.SH NOTES
.P
.IR pcibr_hints_dualslot ()
is limited to noting two REQ/GNT pairs
for a single device.
Using multiple calls to associate
additional REQ/GNT pairs with a
single device
has undefined results.
.P
If
.IR pcibr_hints_fix_rrbs ()
or
.IR pcibr_hints_fix_some_rrbs ()
is applied and RRBs are not manually
assigned to REQ/GNT pairs,
any DMA READ request from outside
the local PCI bus
using one of those REQ/GNT pairs
will stall forever.
.\" .SH FILES
.SH "SEE ALSO"
nic_vmc(D3)
pcibr_rrb(D3)
.\".SH DIAGNOSTICS