[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20140603151826.100a7fd5@xhacker>
Date: Tue, 3 Jun 2014 15:18:26 +0800
From: Jisheng Zhang <jszhang@...vell.com>
To: Antoine Ténart
<antoine.tenart@...e-electrons.com>
CC: "sebastian.hesselbarth@...il.com" <sebastian.hesselbarth@...il.com>,
"alexandre.belloni@...e-electrons.com"
<alexandre.belloni@...e-electrons.com>,
"thomas.petazzoni@...e-electrons.com"
<thomas.petazzoni@...e-electrons.com>, Jimmy Xu <zmxu@...vell.com>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>,
"devicetree@...r.kernel.org" <devicetree@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH 1/5] ARM: berlin: add SMP support
On Tue, 3 Jun 2014 00:10:17 -0700
Antoine Ténart <antoine.tenart@...e-electrons.com> wrote:
> Hi Jisheng,
>
> On Tue, Jun 03, 2014 at 02:31:13PM +0800, Jisheng Zhang wrote:
> > On Mon, 2 Jun 2014 02:21:02 -0700
> > Antoine Ténart <antoine.tenart@...e-electrons.com> wrote:
> > > +
> > > +extern void berlin_secondary_startup(void);
> > > +extern u32 boot_inst;
> > > +
> > > +static void __iomem *cpu_ctrl;
> > > +
> > > +static inline void berlin_reset_cpu(unsigned int cpu)
> > > +{
> > > + u32 val;
> > > +
> > > + val = readl(cpu_ctrl + CPU_RESET);
> > > + val |= BIT(cpu_logical_map(cpu));
> > > + writel(val, cpu_ctrl + CPU_RESET);
> >
> > "writel(BIT(cpu_logical_map(cpu)), cpu_ctrl + CPU_RESET)" is enough.
> > we don't need to read and modify, because we writing 0 has no any effect.
>
> The reset bit is automatically cleared but I dumped the register value
> and it wasn't 0x0, that's why I preferred to read first and only set the
> reset bit.
>
> > > +
> > > + /*
> > > + * Write the first instruction the CPU will execute after being
> > > reseted
> > > + * in the reset exception register.
> > > + */
> > > + writel(boot_inst, vectors_base + RESET_VECT);
> >
> > Is it better to let bootloader/firmware handle this writing. Then, we can
> > also remove the tricky boot_inst in headsmp.S.
>
> We thought about it, and since it can be difficult to update the
> bootloader for some boards, like BG2 based ones, we preferred to include
> this here.
>
> Thanks!
>
> Antoine
>
Got your points. Thanks very much
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists