devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: AKASHI Takahiro <takahiro.akashi-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
To: Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
Cc: Catalin Marinas <catalin.marinas-5wv7dgnIgG8@public.gmane.org>,
	Will Deacon <will.deacon-5wv7dgnIgG8@public.gmane.org>,
	Frank Rowand
	<frowand.list-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
	James Morse <james.morse-5wv7dgnIgG8@public.gmane.org>,
	Geoff Levand <geoff-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>,
	bauerman-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org,
	dyoung-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org,
	Mark Rutland <mark.rutland-5wv7dgnIgG8@public.gmane.org>,
	"kexec-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org"
	<kexec-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org>,
	"linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org"
	<linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org>,
	"devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: Re: [PATCH v24 9/9] Documentation: dt: chosen properties for arm64 kdump
Date: Wed, 31 Aug 2016 08:45:46 +0900	[thread overview]
Message-ID: <20160830234545.GP20080@linaro.org> (raw)
In-Reply-To: <CAL_JsqJ5SqesEL5QWX_NJj+gL2jpne4NN_WzADiH+1VB7CkvOA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>

Rob,

On Tue, Aug 30, 2016 at 11:34:10AM -0500, Rob Herring wrote:
> On Sun, Aug 21, 2016 at 11:28 PM, AKASHI Takahiro
> <takahiro.akashi-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> wrote:
> > Rob,
> > [Cc: Mark]
> >
> > On Fri, Aug 19, 2016 at 08:26:41AM -0500, Rob Herring wrote:
> >> On Tue, Aug 09, 2016 at 10:57:47AM +0900, AKASHI Takahiro wrote:
> >> > From: James Morse <james.morse-5wv7dgnIgG8@public.gmane.org>
> >> >
> >> > Add documentation for
> >> >     linux,crashkernel-base and crashkernel-size,
> >> >     linux,usable-memory-range, and
> >> >     linux,elfcorehdr
> >> > used by arm64 kexec/kdump to decribe the kdump reserved area, and
> >> > the elfcorehdr's location within it.
> >> >
> >> > Signed-off-by: James Morse <james.morse-5wv7dgnIgG8@public.gmane.org>
> >> > [takahiro.akashi-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org:
> >> >     renamed "usable-memory" to "usable-memory-range",
> >> >     added "linux,crashkernel-base" and "-size" ]
> >> > Signed-off-by: AKASHI Takahiro <takahiro.akashi-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
> >> > ---
> >> >  Documentation/devicetree/bindings/chosen.txt | 50 ++++++++++++++++++++++++++++
> >> >  1 file changed, 50 insertions(+)
> >> >
> >> > diff --git a/Documentation/devicetree/bindings/chosen.txt b/Documentation/devicetree/bindings/chosen.txt
> >> > index 6ae9d82..236188a 100644
> >> > --- a/Documentation/devicetree/bindings/chosen.txt
> >> > +++ b/Documentation/devicetree/bindings/chosen.txt
> >> > @@ -52,3 +52,53 @@ This property is set (currently only on PowerPC, and only needed on
> >> >  book3e) by some versions of kexec-tools to tell the new kernel that it
> >> >  is being booted by kexec, as the booting environment may differ (e.g.
> >> >  a different secondary CPU release mechanism)
> >> > +
> >> > +linux,crashkernel-base
> >> > +linux,crashkernel-size
> >> > +----------------------
> >> > +These properties (currently used on PowerPC and arm64) indicates
> >> > +the base address and the size, respectively, of the reserved memory
> >> > +range for crash dump kernel.
> >> > +e.g.
> >> > +
> >> > +/ {
> >> > +   chosen {
> >> > +           linux,crashkernel-base = <0x9 0xf0000000>;
> >> > +           linux,crashkernel-size = <0x0 0x10000000>;
> >> > +   };
> >> > +};
> >> > +
> >> > +linux,usable-memory-range
> >> > +-------------------------
> >> > +
> >> > +This property (currently used only on arm64) holds the memory range,
> >> > +the base address and the size, which can be used as system ram on
> >> > +the *current* kernel. Note that, if this property is present, any memory
> >> > +regions under "memory" nodes in DT blob or ones marked as "conventional
> >> > +memory" in EFI memory map should be ignored.
> >> > +e.g.
> >> > +
> >> > +/ {
> >> > +   chosen {
> >> > +           linux,usable-memory-range = <0x9 0xf0000000 0x0 0x10000000>;
> >> > +   };
> >> > +};
> >>
> >> I've read the discussion on this. I think you should use the existing
> >> linux,usable-memory property in the memory nodes. If UEFI systems don't
> >> have memory nodes, then you can find an UEFI way to describe this. DT is
> >> not the dumping ground for what doesn't fit in UEFI. How do x86 systems
> >> work?
> >
> > Kdump for x86 passes the range of usable memory to crash dump kernel
> > either via:
> > (a) "memmap=nn@ss" command line parameter, or
> > (b) faked BIOS e820 map (a sort of memory map table)
> >
> > (a) was rejected by Mark [1], and (b) is x86-specific.
> >
> > I believe that my approach is better because it works in the same way
> > either on UEFI systems or DT-based systems.
> 
> So we have a new way for both UEFI and DT. If UEFI folks can't come up
> with a standard way to do things in the UEFI standard, then we just
> dump them into DT?

No, I don't think so.
According to "Documentation/devicetree/bindings/chosen.txt,
  "The chosen node does not represent a real device, but serves as a place
   for passing data between firmware and the operating system, like boot
   arguments."

Since kexec/dump is some sort of boot loader, it all makes sense to
add a new property as an interface from the old kernel(kexec/dump)
to the new kernel. So my approach doesn't break any DT rules.

Please note that, even on UEFI/APCI systems, there are already a few
properties used under /chosen, like "linux,uefi-system-table" and 
"linux,mmap-*."
(Those properties are currently *not* defined in this document, though.)

> I'd rather see alignment with existing DT systems
> (PPC) and in particular the tools.

I'm not sure what you mean here, but I guess:
1) On DT-only systems, we should follow the way that PPC does.
   (That is, adding "usable-memory" property to each "memory" node.)
2) On UEFI/ACPI system, we must invent a new own way for our purpose
   because, as I said before, there is no standard, but x86-specific way. 

Is this what you want to do?

If so,
do you agree to my approach of adding "linux,usable-memory-range" property
to /chosen *for UEFI/ACPI use*?

Thanks,
-Takahiro AKASHI

> Rob
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  parent reply	other threads:[~2016-08-30 23:45 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20160809015248.28414-2-takahiro.akashi@linaro.org>
     [not found] ` <20160809015248.28414-2-takahiro.akashi-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2016-08-09  1:57   ` [PATCH v24 9/9] Documentation: dt: chosen properties for arm64 kdump AKASHI Takahiro
     [not found]     ` <20160809015747.28591-1-takahiro.akashi-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2016-08-19 13:26       ` Rob Herring
2016-08-22  4:28         ` AKASHI Takahiro
     [not found]           ` <20160822042832.GJ20080-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2016-08-30 16:34             ` Rob Herring
     [not found]               ` <CAL_JsqJ5SqesEL5QWX_NJj+gL2jpne4NN_WzADiH+1VB7CkvOA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-08-30 23:45                 ` AKASHI Takahiro [this message]
     [not found]                   ` <20160830234545.GP20080-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2016-08-31  5:02                     ` AKASHI Takahiro
     [not found]                       ` <20160831050215.GQ20080-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2016-09-02 10:11                         ` AKASHI Takahiro
2016-09-27 23:39         ` Mark Rutland

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=20160830234545.GP20080@linaro.org \
    --to=takahiro.akashi-qsej5fyqhm4dnm+yrofe0a@public.gmane.org \
    --cc=bauerman-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org \
    --cc=catalin.marinas-5wv7dgnIgG8@public.gmane.org \
    --cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=dyoung-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=frowand.list-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=geoff-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org \
    --cc=james.morse-5wv7dgnIgG8@public.gmane.org \
    --cc=kexec-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=mark.rutland-5wv7dgnIgG8@public.gmane.org \
    --cc=robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=will.deacon-5wv7dgnIgG8@public.gmane.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).