Lines Matching +full:write +full:- +full:data
19 .\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
47 .\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
627 machine-independent access to bus memory and register areas.
640 creating a non-linear register space).
655 compile-time errors if possible.
661 (type-checked) versions of these interfaces, but may implement them as
663 Machine-dependent types, variables, and functions
667 machine-independent types and functions, and, if possible, should be
668 given names which make the machine-dependence clear.
671 machine-dependent code.
708 The offset used to access data
709 relative to a given handle must be such that all of the data being
712 access data outside that region is an error.
718 in the bus space read and write stream.
720 are three types of barriers: read, write, and read/write.
725 write barriers.)
726 Read/write barriers force all reads and writes started
729 Correctly-written drivers will include all
730 appropriate barriers, and assume only the read/write ordering imposed by
733 People trying to write portable drivers with the
742 written must point to properly-aligned data).
749 or arguments that are out of range (e.g.\& trying to access data outside of
758 or which return data read from bus space (i.e., functions which
797 contents are machine-dependent and should be considered opaque by
798 machine-independent code.
807 contents are machine-dependent and should be considered opaque by
808 machine-independent code.
826 Some drivers need to be able to pass a subregion of already-mapped bus
845 it will return non-zero and leave the bus space handle pointed
854 .Bl -tag -width ".Dv BUS_SPACE_MAP_CACHEABLE"
878 Try to map the space using non-posted device memory.
901 non-cacheable mapping when the system can only provide a cacheable one)
907 for bus spaces which have no notion of slot-specific space addressing,
909 (e.g.\& PCI memory and I/O spaces co-existing with ISA memory and
915 bus-dependent.
946 new handle to some subregion of an already-mapped region of bus space.
960 If unsuccessful, it returns non-zero and leaves the bus space handle
1013 If unsuccessful, it returns non-zero and leaves the bus address pointed to by
1034 constraint, if non-zero, ensures that the region is allocated so that
1054 parameter is the same as the like-named parameter to
1096 .Sh READING AND WRITING SINGLE DATA ITEMS
1097 The simplest way to access bus space is to read or write a single data
1104 the ability to read and write 1, 2, 4, and 8 byte data items on buses
1112 family of functions reads a 1, 2, 4, or 8 byte data item from
1124 plus the offset should be a multiple of the size of data item being read.
1125 On some systems, not obeying this requirement may cause incorrect data to
1131 of order with respect to other pending read and write operations unless
1147 family of functions writes a 1, 2, 4, or 8 byte data item to the offset
1160 plus the offset should be a multiple of the size of data item being
1163 incorrect data to be written, on others it may cause a system crash.
1165 Write operations done by the
1168 out of order with respect to other pending read and write operations
1185 device responds to the read or write cycles.
1186 In such a situation, the system typically would panic due to a kernel-mode
1200 write 1, 2, 4, and 8 byte data items on busses which support those
1221 A non-zero return value indicates that the kernel intercepted a
1225 non-existent hardware is accessed.
1227 the data read by
1235 functions are not re-entrant and should not, therefore, be used
1239 .Bl -ohang -compact
1247 family of functions cautiously read a 1, 2, 4, or 8 byte data item from
1254 The data item read is stored in the location pointed to by
1258 to be NULL, in which case the data item will be discarded after being read.
1267 family of functions cautiously write a 1, 2, 4, or 8 byte data item
1278 In order to allow high-performance buffering implementations to avoid bus
1279 activity on every operation, read and write ordering should be specified
1287 function enforces ordering of bus space read and write operations
1301 .Bl -tag -width ".Dv BUS_SPACE_BARRIER_WRITE"
1305 Synchronize write operations.
1308 Those flags can be combined (or-ed together) to enforce ordering on both
1309 read and write operations.
1315 Example: Consider a hypothetical device with two single-byte ports, one
1316 write-only input port (at offset 0) and a read-only output port (at
1318 Operation of the device is as follows: data bytes are written
1322 write two data bytes to the device then read those two data bytes back
1324 .Bd -literal
1340 The first barrier makes sure that the first write finishes before the
1341 second write is issued, so that two writes to the input port are done
1342 in order and are not collapsed into a single write.
1344 the data bytes are written to the device correctly and in order.
1348 that all of the writes are finished before data is read.
1354 second read is issued, ensuring that data is read correctly and in order.
1390 1, 2, 4, or 8 byte data items from bus space
1399 Each successive data item is read from an offset
1400 1, 2, 4, or 8 bytes after the previous data item (depending on which
1408 plus the offset should be a multiple of the size of data items being
1409 read and the data array pointer should be properly aligned.
1411 systems, not obeying these requirements may cause incorrect data to be
1418 of order with respect to other pending read and write operations unless
1440 1, 2, 4, or 8 byte data items from the array
1450 Each successive data item is written to an offset 1, 2, 4,
1451 or 8 bytes after the previous data item (depending on which function is
1459 plus the offset should be a multiple of the size of data items being
1460 written and the data array pointer should be properly aligned.
1462 systems, not obeying these requirements may cause incorrect data to be
1465 Write operations done by the
1470 respect to other pending read and write operations unless order is
1496 1, 2, 4, or 8 byte data items in bus space
1508 Each successive data item read or written has
1509 an offset 1, 2, 4, or 8 bytes after the previous data item (depending
1516 of data items being copied.
1518 requirement may cause incorrect data to be copied, on others it may cause
1521 Read and write operations done by the
1525 of order with respect to other pending read and write operations unless
1555 data items in bus space starting at byte offset
1561 Each successive data item has an offset 1, 2, 4, or 8 bytes after the
1562 previous data item (depending on which function is used).
1570 plus the offset should be a multiple of the size of data items being
1573 incorrect data to be written, on others it may cause a system crash.
1575 Write operations done by the
1580 respect to other pending read and write operations unless order is
1596 or written multiple times to communicate data, e.g.\& some ethernet
1613 1, 2, 4, or 8 byte data items from bus space
1622 Each successive data item is read from the same location in bus
1630 plus the offset should be a multiple of the size of data items being
1631 read and the data array pointer should be properly aligned.
1633 systems, not obeying these requirements may cause incorrect data to be
1639 executed out of order with respect to other pending read and write
1662 1, 2, 4, or 8 byte data items from the array
1671 Each successive data item is written to the same location in
1679 plus the offset should be a multiple of the size of data items being
1680 written and the data array pointer should be properly aligned.
1682 systems, not obeying these requirements may cause incorrect data to be
1685 Write operations done by the
1688 read and write operations unless order is enforced by use of the
1693 functions write the same bus space location multiple times, they
1694 place an implicit write barrier between each successive write of that
1724 plus the offset should be a multiple of the size of data items being
1725 written and the data array pointer should be properly aligned.
1727 systems, not obeying these requirements may cause incorrect data to be
1730 Write operations done by the
1733 read and write operations unless order is enforced by use of the
1738 functions write the same bus space location multiple times, they
1739 place an implicit write barrier between each successive write of that
1750 functions imply a host byte-order and a bus byte-order and take care of
1753 for which the caller may want to use multi-word, yet untranslated access.
1758 .Bl -tag -compact -width Fn
1797 These functions are defined just as their non-stream counterparts,
1798 except that they provide no byte-order translation.
1837 .An -nosplit