l4-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: wortel problems


From: Marcus Brinkmann
Subject: Re: wortel problems
Date: Wed, 1 Oct 2003 08:56:53 +0200
User-agent: Mutt/1.5.4i

On Wed, Oct 01, 2003 at 04:10:37AM +0200, Johan Rydberg wrote:
>   /* Allocate a single page at address 0, because we don't want to
>      bother anybody with that silly page.  */
>   sigma0_get_fpage (l4_fpage (0, l4_min_page_size ()));
> 
> I'm not really sure why this is done, but it's not valid for PowerPC 
> (region 0-0x3000 is used for exception vectors, and sigma0 treats it
> as reserved.)   Why does it allocate and throw away page zero? I've 
> just commented out this piece of code for the moment.

physmem uses 0 as the return value for a failed zalloc, so it can not be
used in physmem anyway.  Apart from that, mapping it into physmem at address
0 would prevent any exception from being created when dereferencing a null
pointer.  The best thing to do is to allocate the page at 0 and remap it
into physmem at a higher address (ie, add it to the end of available
memory), so it becomes usable.

Is this causing a panic on ppc, or does it just not work?   We can ignore
any failure (return value l4_nilpag0e) here.
 
> I don't know if something is failing in the communication between
> wortel and sigma0, but requesting a block of memory with the size
> if (1 << 31) makes the kernel break into the kernel debugger with
> the following message:
> 
>   map_fpage(from=c0043000, to=c004a000, base=0, sndfp=800001f7, rcvfp=10)
>   --- KD# map_fpage(): Mapping already exists. ---

sigma0 patch is supposed to fix that, if it doesn't I don't know why.

Thanks,
Marcus

-- 
`Rhubarb is no Egyptian god.' GNU      http://www.gnu.org    address@hidden
Marcus Brinkmann              The Hurd http://www.gnu.org/software/hurd/
address@hidden
http://www.marcus-brinkmann.de/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]