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

11 commits

Author SHA1 Message Date
Daniel Krebs
5097827757 fix include paths, use <villas/...> style 2018-06-04 13:24:57 +02:00
Daniel Krebs
2bfb9e2450 common/memory: expose method to dump memory graph to file 2018-05-15 18:04:24 +02:00
Daniel Krebs
2477ed4b4b common/memory: provide getPciAddressSpace() for a common PCIe address space 2018-05-15 18:04:24 +02:00
Daniel Krebs
1470490747 common/memory: provide findPath() to get a path of address spaces 2018-05-15 18:04:24 +02:00
Daniel Krebs
105f47d2d0 common/memory: add check-callback to getPath() to select desired path
This is a workaround until we have a better heuristic (maybe shortest
path?) to choose between multiple paths in the graph. Since the (abstract)
graph has no idea about memory translations, getPath() may even yield
paths that are no valid translation because a pair of inbound/outbound
edges must not neccessarily share a common address window, but from the
perspective of the abstract graph present a valid path.
The callback function is used by the MemoryManager to verify if a path
candidate represents a valid translation.
2018-05-15 18:04:24 +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
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
e8ef3e4380 lib/memory-manager: pass strings as const reference 2018-02-14 14:34:03 +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
5a7989d552 lib/memory-manager: start implementation using DirectedGraph 2018-01-30 19:16:59 +01:00
Daniel Krebs
7582966e16 lib: first draft of memory manager 2018-01-30 15:13:23 +01:00