mazen Adel commented: 
https://gitlab.rtems.org/rtems/rtos/rtems/-/work_items/5633#note_156479


We currently have a working TLSF implementation tested on both 32-bit 
xilinx_zynq_a9_qemu and 64-bit riscv/rv64imafdc.

However not all the old first-fit APIs are supported, this stems from the 
design difference and that the old implementation has a lot of very specific 
functions.

Currently the TLSF allocator supports 2 sets of functions.

1. What I would call the classic interface functions those are the functions 
that it inherited from the original TLSF implementation.
2. RTEMS interface functions: Those were implemented in an effort to provide an 
interface between RTEMS heap API and the actual implementation of the heap 
(required for modular heap support).

The classic interface list:

* \_Heap_Tlsf_Control_size()
* \_Heap_Tlsf_Align_size()
* \_Heap_Tlsf_Block_size_min()
* \_Heap_Tlsf_Block_size_max()
* \_Heap_Tlsf_Pool_overhead()
* \_Heap_Tlsf_Allocation_overhead()
* \_Heap_Tlsf_Create()
* \_Heap_Tlsf_Create_with_pool()
* \_Heap_Tlsf_Destroy()
* \_Heap_Tlsf_Get_pool()
* \_Heap_Tlsf_Add_pool()
* \_Heap_Tlsf_Remove_pool()
* \_Heap_Tlsf_Allocate()
* \_Heap_Tlsf_Allocate_aligned()
* \_Heap_Tlsf_Free()
* \_Heap_Tlsf_Reallocate()
* \_Heap_Tlsf_Get_block_size()
* \_Heap_Tlsf_Walk_pool()
* \_Heap_Tlsf_Check()
* \_Heap_Tlsf_Check_pool()

The Current implemented TLSF RTEMS interface functions list:

- \_Heap_TLSF_Initialize()
- \_Heap_TLSF_Allocate_aligned_with_boundary()
- \_Heap_TLSF_Free()
- \_Heap_TLSF_Size_of_alloc_area()

The interface functions that need to be supported to have the same exact set as 
first-fit

* \_Heap_TLSF_Walk()
* \_Heap_TLSF_Iterate() 
* \_Heap_TLSF_Greedy_allocate()
* \_Heap_TLSF_Greedy_allocate_all_except_largest()
* \_Heap_TLSF_Greedy_free()
* \_Heap_TLSF_Get_information()
* \_Heap_TLSF_Get_free_information()
* \_Heap_TLSF_Resize_block()
* \_Heap_TLSF_Block_allocate()
* \_Heap_TLSF_Extend()
* \_Heap_TLSF_Get_first_and_last_block()

Some of them are more important than the others and some are similar in name 
only to the ones implemented by the TLSF classic interface.

-- 
View it on GitLab: 
https://gitlab.rtems.org/rtems/rtos/rtems/-/work_items/5633#note_156479
You're receiving this email because of your account on gitlab.rtems.org. 
Unsubscribe from this thread: 
https://gitlab.rtems.org/-/sent_notifications/5-d8ucstya4mpr4kfongk6zn7wg-1d/unsubscribe
 | Manage all notifications: https://gitlab.rtems.org/-/profile/notifications | 
Help: https://gitlab.rtems.org/help


_______________________________________________
bugs mailing list
[email protected]
http://lists.rtems.org/mailman/listinfo/bugs

Reply via email to