Booting L4

"bahadir balban" <[email protected]>
Newsgroups gmane.comp.micro-kernel.l4.l4ka.general
Message-ID <[email protected]>
Hi,

I've been working on an ARM platform port for a while on
L4::NICTA::Pistachio. The boot fails in allocation of utcb during
creation of sigma0 (the first task that get's created.) The problem is
I am getting memory aborts for utcb access, after allocation of the
utcb. I suspect this happens because space_t::allocate_utcb uses
UTCB_AREA_START (I presume this is used for user tasks?) and
create_root_server() uses ROOT_UTCB_START as a basis for
utcb_location. In my setup these values are:

ROOT_UTCB_START: cff00000
UTCB_AREA_START: d0000000

In create_root_server() there's the line:

tcb->set_utcb_location(utcb_address)

where utcb_address equals ROOT_UTCB_START. However, then
create_root_server() calls tcb->activate(). During activate(), there's the line:

this->utcb = get_space()->allocate_utcb(this);

which returns 0xd1f00000, using UTCB_AREA_START as a basis. Is this
ok? The actual problem is though, allocate_utcb() checks whether
0xd1f00000 is already mapped, finds out that it isn't, allocates a new
page and maps that. This mapping seems to fail since I get memory
aborts. I will investigate that, but do you think the former is
normal?

Thanks
Bahadir
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.