linux-mips
[Top] [All Lists]

Re: Few questions about porting Linux to SMP86xx boards

To: "Maciej W. Rozycki" <macro@linux-mips.org>
Subject: Re: Few questions about porting Linux to SMP86xx boards
From: Kevin Cernekee <cernekee@chromium.org>
Date: Tue, 3 Feb 2015 06:28:14 -0800
Cc: Oleg Kolosov <bazurbat@gmail.com>, Måns Rullgård <mans@mansr.com>, Linux MIPS Mailing List <linux-mips@linux-mips.org>
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type; bh=7oPxXvIWHhoPrMijKB29/4hihOA9bfgtBWkBECqOdFk=; b=NbzjTzTKN0UiaDHzGq9Vg7fgbKxMngCDVise0+Wq7DCivSxqJfbXUZTvCSs76OzEqi EPmkYSEUqtJTJJNsK/uTIToqJzha7Nzh/H1uglgwVU0fyAGSOY2hJUOdgL/ETHzYBpzt kv4b+9N94S242kx+x0H9ufLW+GQzOwD6Khskk=
In-reply-to: <alpine.LFD.2.11.1502030930000.22715@eddie.linux-mips.org>
List-archive: <http://www.linux-mips.org/archives/linux-mips/>
List-help: <mailto:ecartis@linux-mips.org?Subject=help>
List-id: linux-mips <linux-mips.eddie.linux-mips.org>
List-owner: <mailto:ralf@linux-mips.org>
List-post: <mailto:linux-mips@linux-mips.org>
List-software: Ecartis version 1.0.0
List-subscribe: <mailto:ecartis@linux-mips.org?subject=subscribe%20linux-mips>
List-unsubscribe: <mailto:ecartis@linux-mips.org?subject=unsubscribe%20linux-mips>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <54CEACC1.1040701@gmail.com> <CAJiQ=7AQuP1JsiApEs4yAR449w6-pcR_qqhSqKdpqNHL5L1mRQ@mail.gmail.com> <yw1xwq409odv.fsf@unicorn.mansr.com> <54D017D4.70200@gmail.com> <alpine.LFD.2.11.1502030930000.22715@eddie.linux-mips.org>
Sender: linux-mips-bounce@linux-mips.org
On Tue, Feb 3, 2015 at 3:39 AM, Maciej W. Rozycki <macro@linux-mips.org> wrote:
>  For the record -- the exact address `__fast_iob' reads from does not
> really matter, all it has to guarantee is no side effects on read access.
> Using the base of KSEG1 was therefore a natural choice for legacy MIPS
> processors that set the architecture back at the time this code was added,
> as the presence of exception vectors there guaranteed this area of the
> address space behaved like RAM so the same location did for any system.
>
>  With the introduction of revision 2 of the MIPS architecture the CP0
> EBase register was added and consequently there is no longer a guarantee
> that exception vectors reside at the base of KSEG1.  Using the value read
> from CP0.EBase to determine a usable address might therefore be a better
> idea, although the current revision of the MIPS architecture specification
> that includes segmentation control makes it a bit complicated.  Using a
> dummy page mapped uncached instead might work the best.

Would something like this work, assuming __fast_iob() doesn't get
called before mem_init()?

CKSEG1ADDR((void *)empty_zero_page)

It is currently a GPL export, so maybe that would need to change to
allow non-GPL drivers to use iob().  But that's still easier than
allocating another dummy page.

<Prev in Thread] Current Thread [Next in Thread>