1
0
Fork 0
mirror of https://git.rwth-aachen.de/acs/public/villas/node/ synced 2025-03-30 00:00:11 +01:00
Commit graph

219 commits

Author SHA1 Message Date
Daniel Krebs
a93278b74e ips/dma: expose names of its treaming ports 2018-06-04 14:20:06 +02:00
Daniel Krebs
8e63785073 ips/dma: change interface, get byte count from {read,write}Complete() 2018-06-04 14:20:06 +02:00
Daniel Krebs
7479675361 ips/intc: remove unused code 2018-06-04 14:20:06 +02:00
Daniel Krebs
2e339b406d lib/ips: add data fifo IP needed for stream routing 2018-06-04 14:20:06 +02:00
Daniel Krebs
a0c5acce4c ip-node: implement connect interface and update AxiStreamSwitch implementation 2018-06-04 14:20:06 +02:00
Daniel Krebs
a1daf95202 lib/card: lookup IP by identifier 2018-06-04 14:20:06 +02:00
Daniel Krebs
967e39e36c ip-node: add implementation of StreamGraph for automatic routing 2018-06-04 14:20:06 +02:00
Daniel Krebs
5097827757 fix include paths, use <villas/...> style 2018-06-04 13:24:57 +02:00
Daniel Krebs
7dcdfaccd9 ips/dma: let user deal with making memory accessible to DMA
It is probably too costly to do (and verify) it on every read
or write. Furthermore, the user knows better how to make a certain
memory available to the DMA.
2018-05-15 18:04:24 +02:00
Daniel Krebs
89b5169a6e ips/pcie: parse AXI/PCI BARs and create mappings to/from PCIe address space
This is used for translations that don't use VFIO which used to bridge
the PCIe address space by creating direct mappings from process VA to
the FPGA. When we want to communicate directly via PCIe without the
involvment of the CPU/VFIO, we need the proper translations that are
configured in the FPGA hardware.
2018-05-15 18:04:24 +02:00
Daniel Krebs
364b137156 fpga/card: make pci device a class member (needed later) 2018-05-15 18:04:24 +02:00
Daniel Krebs
8f3833bc73 ips/dma: rename pingpong to memcpy and always connect loopback 2018-05-15 18:04:24 +02:00
Daniel Krebs
3e505c74bf ips/bram: add block RAM IP and use it with DMA test 2018-04-13 15:35:41 +02:00
Daniel Krebs
ae2bd2a41d lib/ip: alias type for memory block name and cache addres space IDs in IP 2018-04-13 15:35:41 +02:00
Daniel Krebs
507ea77ad6 ips/dma: add (simple) DMA driver 2018-03-26 16:17:26 +02:00
Daniel Krebs
4f6694420f lib: remove old and unused C files 2018-03-26 16:17:26 +02:00
Daniel Krebs
60882f1086 lib/memory: implement memory handling with allocators and blocks
This commit is 2/2 of a series of patches and not working on its own.
2018-03-26 16:17:20 +02:00
Daniel Krebs
b01a50184c kernel/vfio: port to C++
This commit is 1/2 of a series of patches and not working on its own.
2018-03-26 16:16:42 +02:00
Daniel Krebs
676fd9171c lib/ip: make logger a class member of IpCore
Logging is used everywhere and there's no justification of the clutter
and runtime overhead of `aut logger = getLogger();` everywhere.
2018-02-14 16:04:33 +01:00
Daniel Krebs
aa2b0b324f lib/ips/pcie: use cached address space id and supply interface to create mapping 2018-02-14 14:34:03 +01:00
Daniel Krebs
36259d00e0 lib/ip: save address space ids for each bus master interface 2018-02-14 14:34:03 +01:00
Daniel Krebs
5d99f11a34 lib/ip: move definition of getBaseAddr() back to header
This is a one-liner, so IMO increases readability.
2018-02-14 14:34:03 +01:00
Daniel Krebs
5940dcc0e5 lib/ips/fifo: remove useless code and old cruft 2018-02-14 07:28:25 +01:00
Daniel Krebs
3a8e332b42 lib/vlnv: add != operator and minor cleanup 2018-02-14 07:28:25 +01:00
Daniel Krebs
817d206243 lib/ip: formatting cleanup and more comments 2018-02-14 07:28:25 +01:00
Daniel Krebs
41e90bfda0 lib/ip: cleanup operators 2018-02-14 07:28:25 +01:00
Daniel Krebs
503d6b7f07 lib/ip: cleanup formatting and comments of IpCore's member variables 2018-02-14 07:28:25 +01:00
Daniel Krebs
e93b31bbf1 lib/ips: make use of MemoryManager and new config layout 2018-02-14 07:28:25 +01:00
Daniel Krebs
ef5f6fa3a8 lib/card: use memory manager to store vfio mapping 2018-02-14 07:27:37 +01:00
Daniel Krebs
5b0013b335 lib/card: add IP lookup by VLNV 2018-02-14 07:27:37 +01:00
Daniel Krebs
c3382b9e18 lib/card: pass string as const reference to lookupIp() 2018-02-14 07:27:37 +01:00
Daniel Krebs
409340433d enable -Wall, -Wextra and -Werror and fix new errors (fixes #20) 2018-02-13 16:04:34 +01:00
Daniel Krebs
ec8e9a1cd1 lib/ip-node: remove dangling function prototype 2018-01-30 15:13:23 +01:00
daniel-k
f14df8aa32 lib/ip: adapt to fit new config layout provided by hwdef-parse 2018-01-23 14:47:44 +01:00
daniel-k
fc98aaecb4 lib/ips/intc: C++-ify interface 2018-01-16 15:07:21 +01:00
daniel-k
e05ff515c7 lib/ips/timer: implement basic functionality 2018-01-16 15:05:37 +01:00
daniel-k
80bc9af0e7 lib/ips/intc: change waitForInterrupt() interface
Return -1 on failure, change type to `int`. int/2 bits should still
be enough to track overflowed interrupts.
2018-01-16 14:51:45 +01:00
daniel-k
f987c29d71 lib/ip: change interface: start() -> init() 2018-01-16 14:46:00 +01:00
daniel-k
09534e83a6 lib/plugin: make type an argument of constructor 2018-01-10 15:49:53 +01:00
daniel-k
3cf50db98d logging: use new spdlog library in favor of Logger 2018-01-10 15:49:53 +01:00
daniel-k
71a54eeab6 lib/ips: implement fifo driver and adapt test 2018-01-10 11:02:08 +01:00
daniel-k
e2e78cf8b3 lib: minor cleanup 2018-01-10 11:02:08 +01:00
daniel-k
81db98e448 lib/ip-node: implement loopback mode if available 2018-01-10 11:02:08 +01:00
daniel-k
6ee860971a ips/intc: supply methods to use with new IrqPort 2018-01-10 11:02:08 +01:00
daniel-k
c710a95352 lib/ip: generalize getting mapped addresses 2018-01-10 11:02:08 +01:00
daniel-k
4035aab49f lib/ip: dependencies cannot be private
Has to be used by derived classes of course!
2018-01-10 11:02:08 +01:00
daniel-k
e96b08c53c lib/ip: implement more comparison operators for IpCore 2018-01-10 11:02:08 +01:00
daniel-k
8345a15db0 lib/card: implement IP lookup
Search for an initialized IP by name.
2018-01-10 11:02:08 +01:00
daniel-k
af234e29c6 lib/ip: provide default implementation for getDependencies() 2018-01-10 11:02:08 +01:00
daniel-k
cb25861c7e ip: remove excess space in output of identifier 2018-01-10 11:02:08 +01:00