linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: catalin.marinas@arm.com (Catalin Marinas)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 18/28] of: create default early_init_dt_add_memory_arch
Date: Tue, 17 Sep 2013 16:28:30 +0100	[thread overview]
Message-ID: <20130917152829.GH16750@arm.com> (raw)
In-Reply-To: <CAL_Jsq+Tt7N-sMPTBKLU565YezK81mN0KcqdtNTQFU5vhBeOUQ@mail.gmail.com>

On Tue, Sep 17, 2013 at 02:01:36PM +0100, Rob Herring wrote:
> On Tue, Sep 17, 2013 at 3:46 AM, Catalin Marinas
> <catalin.marinas@arm.com> wrote:
> > On 17 Sep 2013, at 00:09, Rob Herring <robherring2@gmail.com> wrote:
> >> --- a/arch/arm64/kernel/setup.c
> >> +++ b/arch/arm64/kernel/setup.c
> >> @@ -147,24 +147,6 @@ static void __init setup_machine_fdt(phys_addr_t dt_phys)
> >>       pr_info("Machine: %s\n", machine_name);
> >> }
> >>
> >> -void __init early_init_dt_add_memory_arch(u64 base, u64 size)
> >> -{
> >> -     base &= PAGE_MASK;
> >> -     size &= PAGE_MASK;
> >> -     if (base + size < PHYS_OFFSET) {
> >> -             pr_warning("Ignoring memory block 0x%llx - 0x%llx\n",
> >> -                        base, base + size);
> >> -             return;
> >> -     }
> >> -     if (base < PHYS_OFFSET) {
> >> -             pr_warning("Ignoring memory range 0x%llx - 0x%llx\n",
> >> -                        base, PHYS_OFFSET);
> >> -             size -= PHYS_OFFSET - base;
> >> -             base = PHYS_OFFSET;
> >> -     }
> >> -     memblock_add(base, size);
> >> -}
> >> -
> >> /*
> >>  * Limit the memory size that was specified via FDT.
> >>  */
> >
> > ...
> >
> >> --- a/drivers/of/fdt.c
> >> +++ b/drivers/of/fdt.c
> >> @@ -688,6 +688,17 @@ u64 __init dt_mem_next_cell(int s, __be32 **cellp)
> >>       return of_read_number(p, s);
> >> }
> >>
> >> +void __init __weak early_init_dt_add_memory_arch(u64 base, u64 size)
> >> +{
> >> +#ifdef CONFIG_HAVE_MEMBLOCK
> >> +     base &= PAGE_MASK;
> >> +     size &= PAGE_MASK;
> >> +     memblock_add(base, size);
> >> +#else
> >> +     pr_err("%s: ignoring memory (%llx, %llx)\n", __func__, base, size);
> >> +#endif
> >> +}
> >
> > Are the arm64 changes equivalent here?  There are some safety checks to
> > cope with the kernel being loaded at a higher offset than the
> > recommended one (PHYS_OFFSET calculated automatically).
> 
> I tried to keep that, but PHYS_OFFSET is not universally defined. My
> reasoning is this range checking is hardly specific to an
> architecture. Perhaps if memory always starts at 0 you don't need it.
> If arm64 really needs these checks, then all architectures do.
> 
> Perhaps "__virt_to_phys(PAGE_OFFSET)" instead of PHYS_OFFSET would work for all?

I think virt_to_phys() or __pa() should work, the __virt_to_phys() is
only defined by a few architectures.

-- 
Catalin

  reply	other threads:[~2013-09-17 15:28 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1379372965-22359-1-git-send-email-robherring2@gmail.com>
2013-09-16 23:09 ` [PATCH 11/28] arm: use early_init_dt_scan Rob Herring
2013-09-16 23:09 ` [PATCH 12/28] arm64: " Rob Herring
2013-09-17  8:43   ` Catalin Marinas
2013-09-16 23:09 ` [PATCH 18/28] of: create default early_init_dt_add_memory_arch Rob Herring
2013-09-17  8:46   ` Catalin Marinas
2013-09-17 13:01     ` Rob Herring
2013-09-17 15:28       ` Catalin Marinas [this message]
2013-09-18  3:33   ` Grant Likely
2013-09-18 15:09     ` Rob Herring
2013-09-22 12:16       ` Grant Likely
2013-09-16 23:09 ` [PATCH 19/28] arm: set initrd_start/initrd_end for fdt scan Rob Herring
2013-09-18  3:36   ` Grant Likely
2013-09-16 23:09 ` [PATCH 20/28] arm64: " Rob Herring
2013-09-17  8:50   ` Catalin Marinas
2013-09-18  3:36     ` Grant Likely
2013-09-16 23:09 ` [PATCH 25/28] arm: use common of_flat_dt_match_machine Rob Herring
2013-09-16 23:09 ` [PATCH 26/28] arm64: use common of_flat_dt_get_machine_name Rob Herring
2013-09-17  8:53   ` Catalin Marinas

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=20130917152829.GH16750@arm.com \
    --to=catalin.marinas@arm.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).