| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
ethernet controller. The ethernet controller is emulated by VMware
Fusion (for example) and is a good device to demonstrate how to use
the bus space and busdma functions due to its simple programming.
The program sets up the DMA structures, sends a DHCP discover packet,
waits 2 seconds, and iterates over the receive ring for an offer.
|
|
|
|
|
| |
base and size parameters to ofs and len (resp). Add a new
busdma_sync() that makes the entire MD coherent.
|
|
|
|
|
|
|
|
|
|
|
|
| |
identification (e.g. isa:0x3f0 or pci0:2:1:0). In libbus,
the device is turned into a path name. For bus_space_map(),
the resource is now specified in a second argument.
Before:
bus.map('/dev/proto/pci0:2:1:0/pcicfg')
busdma.tag_create('/dev/proto/pci0:2:1:0/busdma', ...)
Now:
bus.map('pci0:2:1:0', 'pcicfg')
busdma.tag_create('pci0:2:1:0', ...)
|
| |
|
|
|
|
|
|
|
|
| |
While here:
1. have the Python bindings contain constants for the space
identifiers and the sync operation.
2. change the segment iterators to return None when done,
not ENXIO.
|
| |
|
| |
|
|
|
|
|
| |
can be in bus address space, physical memory space or virtual
memory space.
|
|
|
|
|
| |
API match the convenience macros in <sys/bus.h>. Bus space
can now reference both bus and busdma.
|
| |
|
| |
|
| |
|
|
to bus_space(9) and that uses the proto(4) driver for talking to
hardware. If the I/O resource is a memory mapped I/O resource,
then mmap(2) will be attempted to avoid read(2)/write(2) overhead.
Sponsored by: Juniper Networks, Inc.
|