aboutsummaryrefslogtreecommitdiff
path: root/tools/bus_space
Commit message (Collapse)AuthorAgeFilesLines
* Add support for Python 3 and make it the default.Marcel Moolenaar2019-06-303-23/+75
| | | | | | | Python 2.7 will retire on Januari 1, 2020. Notes: svn path=/head/; revision=349551
* Add an example program (in Python) for the AMD Am79c900 (ILACC)Marcel Moolenaar2015-08-021-0/+344
| | | | | | | | | | | | 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. Notes: svn path=/head/; revision=286212
* Rename busdma_sync() to busdma_sync_range() and rename theMarcel Moolenaar2015-08-025-11/+36
| | | | | | | | base and size parameters to ofs and len (resp). Add a new busdma_sync() that makes the entire MD coherent. Notes: svn path=/head/; revision=286176
* Change the dev argument from a full path to just the deviceMarcel Moolenaar2015-07-266-12/+26
| | | | | | | | | | | | | | | 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', ...) Notes: svn path=/head/; revision=285903
* Remove debugging output. We should have tracing instead.Marcel Moolenaar2015-07-261-9/+0
| | | | Notes: svn path=/head/; revision=285893
* Implement busdma_md_unload() and busdma_sync().Marcel Moolenaar2015-07-035-25/+147
| | | | | | | | | | | 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. Notes: svn path=/head/; revision=285075
* Add busdma_md_create, busdma_md_destroy and busdma_md_load.Marcel Moolenaar2015-07-035-47/+212
| | | | Notes: svn path=/head/; revision=285071
* Free the segment objects properly.Marcel Moolenaar2015-06-121-12/+48
| | | | Notes: svn path=/head/; revision=284322
* Add accessor functions for iterating over segments. A segmentMarcel Moolenaar2015-06-115-12/+245
| | | | | | | | can be in bus address space, physical memory space or virtual memory space. Notes: svn path=/head/; revision=284253
* Rename bus_space to bus (i.e. drop _space). This makes theMarcel Moolenaar2015-06-108-29/+29
| | | | | | | | API match the convenience macros in <sys/bus.h>. Bus space can now reference both bus and busdma. Notes: svn path=/head/; revision=284228
* Map the allocated DMA memory into the address space.Marcel Moolenaar2015-06-081-1/+9
| | | | Notes: svn path=/head/; revision=284169
* Add busdma_mem_alloc & busdma_mem_free.Marcel Moolenaar2015-06-085-73/+205
| | | | Notes: svn path=/head/; revision=284146
* Add DMA tag management to the C library and Python binding.Marcel Moolenaar2015-06-067-12/+385
| | | | Notes: svn path=/head/; revision=284080
* Add a C libary and a Python module that implements an API similarMarcel Moolenaar2014-04-289-0/+672
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. Notes: svn path=/head/; revision=265056