From: ezequiel.garcia@free-electrons.com (Ezequiel Garcia)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v3 05/12] ARM: mvebu: Remove the harcoded BootROM window allocation
Date: Wed, 19 Jun 2013 14:58:24 -0300 [thread overview]
Message-ID: <20130619175823.GB2324@localhost> (raw)
In-Reply-To: <20130619165834.GB32155@obsidianresearch.com>
On Wed, Jun 19, 2013 at 10:58:34AM -0600, Jason Gunthorpe wrote:
> On Wed, Jun 19, 2013 at 07:02:00AM -0300, Ezequiel Garcia wrote:
>
> > > Verifying the DT is setup this way and aborting if it is not seems
> > > like a good idea..
> >
> > I agree it's a nice idea, but I'm not too sure how to accomplish this
> > in a simple and generic way. There's nothing in the DT that allows you
> > to know which of the ranges entries correspond to the BootROM, unless you go
> > through each of the entries comparing against the known target ID and
> > attribute.
>
> I think you need to have a defined compatible string for the bootrom,
> use one of the of_find.. functions to locate the node, then translate
> the regs to get a CPU address, ensure it is the right base and size..
>
I wasn't sure you wanted to panic(), to clip on available CPUs,
or to just do a pr_warn / WARN(), so here's a piece of code:
(disclaimer: non-tested, non-compiled, etc.)
/*
* In order to boot the secondary CPUs we need to ensure
* the bootROM is mapped at the correct address.
*/
node = of_find_compatible_node(NULL, NULL, "bootrom");
if (!node) {
pr_warn("No 'bootrom' node found");
return;
}
err = of_address_to_resource(node, 0, &res);
if (err < 0) {
pr_warn("Cannot get 'bootrom' node address");
return;
}
if (res.start != AXP_BOOTROM_BASE||
resource_size(&res) != AXP_BOOTROM_SIZE) {
pr_warn("bootrom address is incorrect");
return;
}
How does it look?
--
Ezequiel Garc?a, Free Electrons
Embedded Linux, Kernel and Android Engineering
http://free-electrons.com
next prev parent reply other threads:[~2013-06-19 17:58 UTC|newest]
Thread overview: 68+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-06-18 11:25 [PATCH v3 00/12] MBus device tree binding Ezequiel Garcia
2013-06-18 11:25 ` [PATCH v3 01/12] bus: mvebu-mbus: Factor out initialization details Ezequiel Garcia
2013-06-18 11:25 ` [PATCH v3 02/12] bus: mvebu-mbus: Introduce device tree binding Ezequiel Garcia
2013-06-18 11:25 ` [PATCH v3 03/12] bus: mvebu-mbus: Add static window allocation to the DT binding Ezequiel Garcia
2013-06-18 16:14 ` Arnd Bergmann
2013-06-18 17:12 ` Thomas Petazzoni
2013-06-18 17:16 ` Arnd Bergmann
2013-06-18 21:34 ` Ezequiel Garcia
2013-06-18 21:45 ` Arnd Bergmann
2013-06-19 18:52 ` Ezequiel Garcia
2013-06-19 19:08 ` Arnd Bergmann
2013-06-19 19:29 ` Ezequiel Garcia
2013-06-19 19:37 ` Jason Cooper
2013-06-18 17:46 ` Jason Gunthorpe
2013-06-18 18:24 ` Sebastian Hesselbarth
2013-06-18 18:39 ` Arnd Bergmann
2013-06-18 18:44 ` Sebastian Hesselbarth
2013-06-18 18:47 ` Jason Gunthorpe
2013-06-18 18:59 ` Sebastian Hesselbarth
2013-06-18 19:10 ` Jason Gunthorpe
2013-06-18 19:27 ` Sebastian Hesselbarth
2013-06-18 20:49 ` Ezequiel Garcia
2013-06-18 20:55 ` Jason Gunthorpe
2013-06-18 21:10 ` Ezequiel Garcia
2013-06-18 11:25 ` [PATCH v3 04/12] ARM: mvebu: Initialize MBus using " Ezequiel Garcia
2013-06-18 11:25 ` [PATCH v3 05/12] ARM: mvebu: Remove the harcoded BootROM window allocation Ezequiel Garcia
2013-06-18 17:39 ` Jason Gunthorpe
2013-06-18 19:43 ` Ezequiel Garcia
2013-06-18 19:51 ` Jason Gunthorpe
2013-06-18 20:02 ` Ezequiel Garcia
2013-06-18 20:10 ` Jason Gunthorpe
2013-06-18 20:39 ` Ezequiel Garcia
2013-06-19 10:02 ` Ezequiel Garcia
2013-06-19 16:58 ` Jason Gunthorpe
2013-06-19 17:58 ` Ezequiel Garcia [this message]
2013-06-19 18:03 ` Jason Gunthorpe
2013-06-19 18:17 ` Ezequiel Garcia
2013-06-18 11:25 ` [PATCH v3 06/12] memory: mvebu-devbus: Remove address decoding window workaround Ezequiel Garcia
2013-06-18 11:39 ` Jason Cooper
2013-06-18 12:17 ` Thomas Petazzoni
2013-06-18 12:33 ` Jason Cooper
2013-06-18 12:48 ` Ezequiel Garcia
2013-06-18 11:25 ` [PATCH v3 07/12] ARM: mvebu: Use the preprocessor on Armada 370/XP device tree files Ezequiel Garcia
2013-06-18 11:25 ` [PATCH v3 08/12] ARM: mvebu: Add MBus to Armada 370/XP device tree Ezequiel Garcia
2013-06-18 11:25 ` [PATCH v3 09/12] ARM: mvebu: Add BootROM " Ezequiel Garcia
2013-06-18 11:25 ` [PATCH v3 10/12] ARM: mvebu: Relocate Armada 370/XP DeviceBus device tree nodes Ezequiel Garcia
2013-06-18 16:16 ` Arnd Bergmann
2013-06-18 22:09 ` Ezequiel Garcia
2013-06-18 22:14 ` Ezequiel Garcia
2013-06-19 12:03 ` Arnd Bergmann
2013-06-18 11:25 ` [PATCH v3 11/12] ARM: mvebu: Relocate Armada 370 PCIe " Ezequiel Garcia
2013-06-18 16:29 ` Arnd Bergmann
2013-06-18 17:15 ` Thomas Petazzoni
2013-06-18 17:18 ` Arnd Bergmann
2013-06-18 17:21 ` Thomas Petazzoni
2013-06-18 18:22 ` Arnd Bergmann
2013-06-18 19:02 ` Jason Gunthorpe
2013-06-18 21:20 ` Arnd Bergmann
2013-06-18 21:40 ` Ezequiel Garcia
2013-06-19 12:06 ` Arnd Bergmann
2013-06-18 21:35 ` Arnd Bergmann
2013-06-19 11:12 ` Ezequiel Garcia
2013-06-19 12:11 ` Arnd Bergmann
2013-06-19 16:53 ` Jason Gunthorpe
2013-06-19 18:55 ` Arnd Bergmann
2013-06-18 11:25 ` [PATCH v3 12/12] ARM: mvebu: Relocate Armada XP " Ezequiel Garcia
2013-06-18 11:33 ` [PATCH v3 00/12] MBus device tree binding Sebastian Hesselbarth
2013-06-18 13:07 ` Ezequiel Garcia
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20130619175823.GB2324@localhost \
--to=ezequiel.garcia@free-electrons.com \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).