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

285 commits

Author SHA1 Message Date
Daniel Krebs
94ba899b21 vfio: track if IOMMU is enabled to prepare for non-IOMMU mode 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
5242b87e4c lib/memory: rework allocators to make them extensible and more abstract
This is change renders memory allocators only dependend on an address
space id that they are managing, allowing easy implementation of other
algorithms and instantiation in memory IP blocks.
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
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