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

369 commits

Author SHA1 Message Date
Daniel Krebs
e8ef3e4380 lib/memory-manager: pass strings as const reference 2018-02-14 14:34:03 +01:00
Daniel Krebs
6cb3b77c7a ips/intc: don't fail if setting IRQ affinity is not possible
This is the case when the application is not executed as root which is
now possible, with the drawback that we cannot set the IRQ affinity
anymore.
2018-02-14 14:32:07 +01:00
Daniel Krebs
e2ce250288 lib: remove leftover (warning) compiler options
These are now set in the root CMakeLists.txt
2018-02-14 10:06:55 +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
21333379a9 lib/ips/fifo: fix decision if AXI4 data interface is present 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
95e29f2706 memory-manager: allow for traversing address spaces
Major rework of the memory manager. Adds a memory translation class to
resolve addresses across address spaces and extents the memory manager
in order to do so.
2018-02-14 07:27:37 +01:00
Daniel Krebs
035c6f8b2a lib/kernel/vfio: add function to get size of device memory region 2018-02-14 07:27:37 +01:00
Daniel Krebs
02e873e8ff lib/ip: remove dependency graph
Replace by static list of VLNVs that will be initialized first.
2018-02-14 07:27:37 +01:00
Daniel Krebs
912c3729d4 lib/ip: improve readability 2018-02-14 07:26:39 +01:00
Daniel Krebs
409340433d enable -Wall, -Wextra and -Werror and fix new errors (fixes #20) 2018-02-13 16:04:34 +01:00
1b6d0d7700 Merge branch 'feature/hw-testing' into feature/cpp (closes #14 and #15) 2018-01-30 19:38:49 +01:00
Daniel Krebs
5a7989d552 lib/memory-manager: start implementation using DirectedGraph 2018-01-30 19:16:59 +01:00
3047f5bb7a vfio: only rebind pci device to VFIO driver if not already bound 2018-01-30 19:09:56 +01:00
293f496db0 pci: add function to get currently loaded kernel driver 2018-01-30 19:09:19 +01:00
Daniel Krebs
7582966e16 lib: first draft of memory manager 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
05131258d4 lib/card: use new logger 2018-01-16 14:52:09 +01:00
daniel-k
77135feebc lib/ips/intc: use new logger 2018-01-16 14:51:45 +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
82204990cd lib/card: remove unused C code 2018-01-16 14:46:59 +01:00
daniel-k
f987c29d71 lib/ip: change interface: start() -> init() 2018-01-16 14:46:00 +01:00
daniel-k
687f1e5bba lib/ips/fifo: use std:min in favor of old macro 2018-01-10 15:49:53 +01:00
daniel-k
44e78643ea lib/log: purge remaining of old logger 2018-01-10 15:49:53 +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
da88b15af3 lib/ip: fail making if configureJson() fails 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
c710a95352 lib/ip: generalize getting mapped addresses 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
25d5552197 ips/intc: remove early return in start() 2018-01-10 11:02:08 +01:00
daniel-k
f94476b716 ip/node: rename OtherIpNode to StreamPort and other to to 2018-01-10 11:02:08 +01:00
daniel-k
4d3e4dd931 ips: make irqs a list 2018-01-10 11:02:08 +01:00
daniel-k
79f37ce352 ips/switch: add C++ implementation of switch 2018-01-10 11:02:08 +01:00
daniel-k
12024d53e5 lib/ip-node: add IpNode class, IpCore which has streaming ports 2018-01-10 11:02:08 +01:00
daniel-k
f3f0f4d630 lib/ip: pass ip core by reference to factory instead of unique_ptr 2018-01-10 11:02:08 +01:00
daniel-k
9676a9535d lib/ip: re-add IRQ to IpCore 2018-01-10 11:02:08 +01:00
daniel-k
a5b5e317d4 wip implementing dependency parsing and proper memeory handling
works and compiles so for. next is to implement different IP interfaces
(Model, Interface, DataMover, Infrastructure, ...)
2018-01-10 11:02:08 +01:00
daniel-k
61ca7aa44f fpga/ip: add C++ timer implementation 2018-01-10 11:02:08 +01:00
daniel-k
3d0afd671e lib/utils: add string tokenizer 2018-01-10 11:02:08 +01:00
daniel-k
e590d1a350 add namespace villas::fpga and villas::fpga::ip and some renaming 2018-01-10 11:02:08 +01:00