libsupport_zynq/ram: split allocator for each core. #47
Loading…
Reference in New Issue
There is no content yet.
Delete Branch "pca006132:separate-alloc"
Deleting a branch is permanent. Although the deleted branch may exist for a short time before cleaning up, in most cases it CANNOT be undone. Continue?
Implementation for #46.
Allocation request would use the allocator for that core. Deallocation would check the pointer range to determine the correct memory allocator responsible for deallocating the memory, as it is possible to allocate a buffer in core1, send it to core0 and deallocate it in core0 for example.
The separate allocator feature is gated behind the feature
alloc_core
, so modules like experiments or szl in artiq-zynq which does not need this feature would not be affected.Tested using artiq-zynq, did not break anything currently after running several mandelbrot and complex return type examples.
@ -22,0 +33,4 @@
let end0 = &__heap0_end as *const usize as *const u8;
let start1 = &__heap1_start as *const usize as *const u8;
let end1 = &__heap1_end as *const usize as *const u8;
let const_ptr = ptr as *const u8;
let ptr = ptr as *const u8;
I don't think this works, as this does not work for
which the pointer has to be mutable here.
I would post a new PR with solution (Hack) for M-Labs/artiq-zynq#32
Pull request closed