Question about dataspace

Adam Lackorzynski adam at os.inf.tu-dresden.de
Sat May 10 10:15:42 CEST 2014


Hi,

On Sat May 10, 2014 at 11:23:47 +0800, Yuxin Ren wrote:
> I cannot understand dataspace very well. I have some questions  about it.
> Each time I want to alloc a piece of memory, I must create a dataspace
> first?

I think you mean that you need to allocate a capability before calling
mem_alloc()->alloc()? Yes, you need to do that for each new memory to
be allocated.

> I look at the example code of memory allocation.
> I found after create adataspace, we call
> L4Re::Env::env<http://l4re.org/doc/classL4Re_1_1Env.html#aa1181d6256037deda5b5f83c2006ba60>()->mem_alloc()->alloc()
> to alloca memory via dataspace.
> Can I call this function multiple times on the same dataspace instance
> without free? If so, what is its effect?

No, don't do that. free the dataspace at mem_alloc() before allocating
new memory on the same dataspace (capability).

> In addtion we use attach to map the dataspace. Can I attach the same
> dataspace multiple times without free?

Yes, you can do that.

> In this case, does it mean that the same physical memory is mapped into
> different virtual address?

Yes, exactly.



Adam
-- 
Adam                 adam at os.inf.tu-dresden.de
  Lackorzynski         http://os.inf.tu-dresden.de/~adam/




More information about the l4-hackers mailing list