Daniel Krebs
26abf44d2f
villas/memory: add sanity check to deny allocating zero-sized memory
2018-07-20 16:50:54 +02:00
Daniel Krebs
375b6b5cd3
common/memory: let allocators own a memory block
...
This is useful when we sub-delegate management of a memory block
to another allocator.
2018-07-20 16:44:50 +02:00
Daniel Krebs
010e0c3681
hls: add base HLS IP and enable virtual multi-inheritance
...
Virtual inheritance is required because (for example) the Rtds2Gpu
IP inherits from Hls and IpNode who both inherit from IpCore.
2018-06-04 17:36:36 +02:00
Daniel Krebs
5097827757
fix include paths, use <villas/...>
style
2018-06-04 13:24:57 +02:00
Daniel Krebs
c15189b74b
common/memory: implement freeing for LinearAllocator
...
This is still very simple. Only really free memory, when all allocation
have been deallocated so we only need to keep track of the current
number of allocations.
2018-05-16 11:27:03 +02:00
Daniel Krebs
1b2e7d312e
common/memory: add host DMA memory allocator using udmabuf
2018-05-15 18:04:24 +02:00
Daniel Krebs
6b7d694103
common/BaseAllocator: test allocated memory for accessibility
...
Write to and read-verify allocated memory block when using allocate()
wrapper.
2018-05-15 18:04:24 +02:00
Daniel Krebs
9490594167
allocator: properly remove memory block from memory graph
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