Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 15 Apr 2008 11:15:22 -0700
From:      Marcel Moolenaar <xcllnt@mac.com>
To:        Rafal Jaworowski <raj@semihalf.com>
Cc:        grehan@freebsd.org, freebsd-ppc@freebsd.org
Subject:   Re: kernel stacks [eas: Re: G5 Bridge-mode MMU]
Message-ID:  <4454B9C3-77FF-489B-AF14-679D66FD2DED@mac.com>
In-Reply-To: <4804ED17.3070907@semihalf.com>
References:  <4804AE13.2060600@uchicago.edu> <4804C9E9.6010303@freebsd.org> <5CC81F06-7B59-4163-9AB8-2ACE4235A5AA@mac.com> <4804DD02.10304@freebsd.org> <058EEFE3-09D7-447A-93AB-3E90EC59ECDC@mac.com> <4804ED17.3070907@semihalf.com>

next in thread | previous in thread | raw e-mail | index | archive | help

On Apr 15, 2008, at 10:59 AM, Rafal Jaworowski wrote:
> Marcel Moolenaar wrote:
>>>> Related: how hard would it be to map the kernel above 2G and
>>>> eliminate the SR swap in the exception handlers (but do it on
>>>> context switches)?
>>>
>>> You would have to eliminate the 1:1 mapping. I know this was done in
>>> the bookE port, and it is painful to have two kernel ABIs.
>>>
>>> How about the corollary: how hard is it to get the bookE port to  
>>> use a
>>> separate address space for the kernel ?
>>
>> Probably not too hard.
>>
>> We (i.e. Juniper) discussed this with Semihalf and for Juniper the
>> single address space implementation was better, even though Semihalf
>> started with the split address space.
>
> Yeah, in the original design we considered separate address spaces,  
> but after
> discussions we went for the single AS, which apparently is simpler  
> and cheaper
> (no need for any additional temporary mappings in copyin/out,  
> exceptions and
> similar), but imposes limitations on the I/O ranges and KVA. So  
> maybe with the
> upcoming more powerful BookE systems, with lots of RAM etc. it would  
> be time
> for re-considering this, but I don't have any code from back then as  
> the idea
> died pretty quickly, before main development happened.

It would be great if we could support both -- not at runtime, but have  
it
compile-time selectable. PowerPC does cover the embedded, desktop and
server space so the needs are much more varied than for other platforms.
I don't see any immediate consequence for our user-space ABI, so it may
not be visible to user space (other than having the stack start at 4GB  
or
so)...

-- 
Marcel Moolenaar
xcllnt@mac.com





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4454B9C3-77FF-489B-AF14-679D66FD2DED>