mirror of
https://github.com/genodelabs/genode.git
synced 2025-04-09 04:15:52 +00:00
lx_emul: add 'virt_range_start' to memory model
Returns the start address of are memory region for given virtual address.
This commit is contained in:
parent
151a5e2d7f
commit
dc77417396
@ -102,6 +102,7 @@ class Lx_kit::Mem_allocator
|
||||
void * alloc(size_t size, size_t align);
|
||||
addr_t dma_addr(void * addr);
|
||||
addr_t virt_addr(void * dma_addr);
|
||||
addr_t virt_region_start(void * virt_addr);
|
||||
size_t size(const void * ptr);
|
||||
bool free(const void * ptr);
|
||||
};
|
||||
|
@ -133,6 +133,19 @@ Genode::addr_t Lx_kit::Mem_allocator::virt_addr(void * dma_addr)
|
||||
}
|
||||
|
||||
|
||||
Genode::addr_t Lx_kit::Mem_allocator::virt_region_start(void * virt_addr)
|
||||
{
|
||||
addr_t ret = 0UL;
|
||||
|
||||
_virt_to_dma.apply(Buffer_info::Query_addr(virt_addr),
|
||||
[&] (Buffer_info const & info) {
|
||||
ret = info.buffer.virt_addr();
|
||||
});
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
bool Lx_kit::Mem_allocator::free(const void * ptr)
|
||||
{
|
||||
if (!_mem.valid_addr((addr_t)ptr))
|
||||
|
Loading…
x
Reference in New Issue
Block a user