linux-mips
[Top] [All Lists]

Re: [PATCH v2 1/2] MIPS: fix/enrich 34K APRP (APSP) functionalities

To: Deng-Cheng Zhu <dczhu@mips.com>
Subject: Re: [PATCH v2 1/2] MIPS: fix/enrich 34K APRP (APSP) functionalities
From: "Maciej W. Rozycki" <macro@linux-mips.org>
Date: Tue, 22 May 2012 00:17:08 +0100 (BST)
Cc: John Crispin <john@phrozen.org>, linux-mips@linux-mips.org, kevink@paralogos.com
In-reply-to: <4FB9B52F.908@mips.com>
References: <1337244680-29968-1-git-send-email-dczhu@mips.com> <1337244680-29968-2-git-send-email-dczhu@mips.com> <4FB4EF81.10005@phrozen.org> <4FB60403.3080700@mips.com> <4FB68FA2.1030404@phrozen.org> <alpine.LFD.2.00.1205202231400.3701@eddie.linux-mips.org> <4FB9B52F.908@mips.com>
Sender: linux-mips-bounce@linux-mips.org
User-agent: Alpine 2.00 (LFD 1167 2008-08-23)
On Mon, 21 May 2012, Deng-Cheng Zhu wrote:

> >   What's so Malta-specific in the VPE loader anyway?  It's a CPU feature,
> > not a board-specific one.
> 
> Well, first off, for VPE loader itself, when it comes to CPS we have
> vpe_run() that derives from amon_cpu_start() in arch/mips/mti-malta/malta-
> amon.c. There is no implementation of amon_cpu_start() on other platforms.

 Hmm, there's nothing platform-specific there, the file is pretty generic, 
it could be moved to arch/mips/kernel/ or thereabouts.  That applies to 
<asm/mips-boards/launch.h> too, before you ask (you may want to use 
alloc_bootmem or suchlike instead of hardcoding the trampoline page, 
though it's probably pretty safe to assume the end of the exception 
handler page is available everywhere).

> Secondly, I suppose VPE loader works uniquely for APRP, and part of APRP
> (such as IRQ related stuff) depends on platform code. So it makes sense
> (IMO) to impose the dependency of APRP on the root (VPE loader).

 Hmm, does it really?  It sounds wrong to me, it shouldn't use any 
hardware interrupts, and software interrupts again are available 
everywhere, at least on the MT processors now in existence.

 There's nothing platform-specific referred to from arch/mips/kernel/vpe.c 
AFAICT (and I trust in Beth having got this piece right).  I reckon it 
used to work with CONFIG_MIPS_SIM too, though I could imagine the 
configuration got neglected a bit as it is somewhat unusual.

  Maciej

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