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

281 commits

Author SHA1 Message Date
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
aa1592ae2b utils: read_random() now returns the number of bytes written 2018-03-26 16:17:26 +02:00
Daniel Krebs
2724622787 kernel/pci: make some arguments const and fix debug output 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
e8ef3e4380 lib/memory-manager: pass strings as const reference 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
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
33ba634d87 lib/directed-graph: add findVertex() and minor refactoring 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
f621cfc984 Merge branch 'fix/directed_graph_loop_detection_bug' into 'develop'
directed-graph: fix bug in loop detection

See merge request acs/public/villas/VILLASfpga-code!1
2018-02-14 07:22:59 +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
6dab50824b directed-graph: fix bug in loop detection 2018-02-13 09:54:31 +01:00
8206f867a5 logging: use similar log style in all modules 2018-01-31 20:24:11 +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
Daniel Krebs
ba7531ac46 lib/graph: allow stringifying of vertex and edge derived types
This yields nices debug messages and a much nice dump().
2018-01-30 19:16:59 +01:00
Daniel Krebs
22ce8f2b3f lib/graph: slightly change interface to allow for custom edges 2018-01-30 19:16:59 +01:00
Daniel Krebs
201bbde4b6 lib/graph: move identifiers into classes 2018-01-30 19:16:59 +01:00
293f496db0 pci: add function to get currently loaded kernel driver 2018-01-30 19:09:19 +01:00
Daniel Krebs
27c67f206e lib/graph: add path-finding with loop detection and corresponding unittest 2018-01-30 17:28:42 +01:00
Daniel Krebs
ec8e9a1cd1 lib/ip-node: remove dangling function prototype 2018-01-30 15:13:23 +01:00
Daniel Krebs
7582966e16 lib: first draft of memory manager 2018-01-30 15:13:23 +01:00
Daniel Krebs
f6c02b8429 lib: add directed graph implementation incl. unittest 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
f642fa6428 log: provide more macros for text colors 2018-01-23 14:42:26 +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
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
81db98e448 lib/ip-node: implement loopback mode if available 2018-01-10 11:02:08 +01:00