From: Dirk Brandewie <dirk.brandewie@gmail.com>
To: Grant Likely <grant.likely@secretlab.ca>
Cc: arjan@linux.intel.com, devicetree-discuss@lists.ozlabs.org,
David Daney <ddaney@caviumnetworks.com>,
linux-kernel@vger.kernel.org, sodaville@linutronix.de,
microblaze-uclinux@itee.uq.edu.au, linuxppc-dev@lists.ozlabs.org
Subject: Re: [PATCH 1/5] of: Add support for linking device tree blobs into vmlinux
Date: Tue, 16 Nov 2010 22:14:01 -0800 [thread overview]
Message-ID: <4CE372A9.2050704@gmail.com> (raw)
In-Reply-To: <AANLkTi=T_bqEswe32dTAfL4++WAitc7+VHnyjqP2sQfi@mail.gmail.com>
On 11/16/2010 06:58 PM, Grant Likely wrote:
> On Tue, Nov 16, 2010 at 7:21 PM, Dirk Brandewie
> <dirk.brandewie@gmail.com> wrote:
>>
>> On 11/16/2010 04:39 PM, David Daney wrote:
>>>
>>> Thanks for doing this. However I have a few comments...
>>>
>>> On 11/16/2010 02:41 PM, dirk.brandewie@gmail.com wrote:
>>>>
>>>> From: Dirk Brandewie<dirk.brandewie@gmail.com>
>>>>
>>>> /* .data section */
>>>> #define DATA_DATA \
>>>> *(.data) \
>>>> @@ -468,7 +482,8 @@
>>>> MCOUNT_REC() \
>>>> DEV_DISCARD(init.rodata) \
>>>> CPU_DISCARD(init.rodata) \
>>>> - MEM_DISCARD(init.rodata)
>>>> + MEM_DISCARD(init.rodata) \
>>>> + KERNEL_DTB()
>>>>
>>>
>>> I thought the init.rodata was only for data used by __init things.
>>> Although the
>>> current linker scripts do not put it in the section that gets recycled as
>>> usable
>>> memory.
>>>
>>> IIRC the unflattened version of the device tree has pointers to the
>>> flattened
>>> data. Since the device tree nodes are live for the entire kernel
>>> lifecycle,
>>> shouldn't the device tree blobs be in non-init memory?
>>>
>>
>> The contents of the blob get copied to allocated memory during
>> unflatten_device_tree() so the blob that is linked in is no longer needed
>> after init.
>
> Have you written a patch to add this behaviour? The current code doesn't. :-)
>
I misspoke, my blob gets copied to allocated memory during unflatten_device_tree.
my early_init_dt_alloc_memory_arch() returns the physical address of a kmalloc'd
buffer.
You would want copy the dtb that your platform is going to use to non-init memory.
--Dirk
WARNING: multiple messages have this Message-ID (diff)
From: Dirk Brandewie <dirk.brandewie@gmail.com>
To: Grant Likely <grant.likely@secretlab.ca>
Cc: David Daney <ddaney@caviumnetworks.com>,
devicetree-discuss@lists.ozlabs.org, sodaville@linutronix.de,
arjan@linux.intel.com, linuxppc-dev@lists.ozlabs.org,
microblaze-uclinux@itee.uq.edu.au, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/5] of: Add support for linking device tree blobs into vmlinux
Date: Tue, 16 Nov 2010 22:14:01 -0800 [thread overview]
Message-ID: <4CE372A9.2050704@gmail.com> (raw)
In-Reply-To: <AANLkTi=T_bqEswe32dTAfL4++WAitc7+VHnyjqP2sQfi@mail.gmail.com>
On 11/16/2010 06:58 PM, Grant Likely wrote:
> On Tue, Nov 16, 2010 at 7:21 PM, Dirk Brandewie
> <dirk.brandewie@gmail.com> wrote:
>>
>> On 11/16/2010 04:39 PM, David Daney wrote:
>>>
>>> Thanks for doing this. However I have a few comments...
>>>
>>> On 11/16/2010 02:41 PM, dirk.brandewie@gmail.com wrote:
>>>>
>>>> From: Dirk Brandewie<dirk.brandewie@gmail.com>
>>>>
>>>> /* .data section */
>>>> #define DATA_DATA \
>>>> *(.data) \
>>>> @@ -468,7 +482,8 @@
>>>> MCOUNT_REC() \
>>>> DEV_DISCARD(init.rodata) \
>>>> CPU_DISCARD(init.rodata) \
>>>> - MEM_DISCARD(init.rodata)
>>>> + MEM_DISCARD(init.rodata) \
>>>> + KERNEL_DTB()
>>>>
>>>
>>> I thought the init.rodata was only for data used by __init things.
>>> Although the
>>> current linker scripts do not put it in the section that gets recycled as
>>> usable
>>> memory.
>>>
>>> IIRC the unflattened version of the device tree has pointers to the
>>> flattened
>>> data. Since the device tree nodes are live for the entire kernel
>>> lifecycle,
>>> shouldn't the device tree blobs be in non-init memory?
>>>
>>
>> The contents of the blob get copied to allocated memory during
>> unflatten_device_tree() so the blob that is linked in is no longer needed
>> after init.
>
> Have you written a patch to add this behaviour? The current code doesn't. :-)
>
I misspoke, my blob gets copied to allocated memory during unflatten_device_tree.
my early_init_dt_alloc_memory_arch() returns the physical address of a kmalloc'd
buffer.
You would want copy the dtb that your platform is going to use to non-init memory.
--Dirk
WARNING: multiple messages have this Message-ID (diff)
From: Dirk Brandewie <dirk.brandewie-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: Grant Likely <grant.likely-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org>
Cc: arjan-VuQAYsv1563Yd54FQh9/CA@public.gmane.org,
devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org,
David Daney
<ddaney-M3mlKVOIwJVv6pq1l3V1OdBPR1lH4CV8@public.gmane.org>,
linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
sodaville-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org,
microblaze-uclinux-rVRm/Wmeqae7NGdpmJTKYQ@public.gmane.org,
linuxppc-dev-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org
Subject: Re: [PATCH 1/5] of: Add support for linking device tree blobs into vmlinux
Date: Tue, 16 Nov 2010 22:14:01 -0800 [thread overview]
Message-ID: <4CE372A9.2050704@gmail.com> (raw)
In-Reply-To: <AANLkTi=T_bqEswe32dTAfL4++WAitc7+VHnyjqP2sQfi-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
On 11/16/2010 06:58 PM, Grant Likely wrote:
> On Tue, Nov 16, 2010 at 7:21 PM, Dirk Brandewie
> <dirk.brandewie-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
>>
>> On 11/16/2010 04:39 PM, David Daney wrote:
>>>
>>> Thanks for doing this. However I have a few comments...
>>>
>>> On 11/16/2010 02:41 PM, dirk.brandewie-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org wrote:
>>>>
>>>> From: Dirk Brandewie<dirk.brandewie-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
>>>>
>>>> /* .data section */
>>>> #define DATA_DATA \
>>>> *(.data) \
>>>> @@ -468,7 +482,8 @@
>>>> MCOUNT_REC() \
>>>> DEV_DISCARD(init.rodata) \
>>>> CPU_DISCARD(init.rodata) \
>>>> - MEM_DISCARD(init.rodata)
>>>> + MEM_DISCARD(init.rodata) \
>>>> + KERNEL_DTB()
>>>>
>>>
>>> I thought the init.rodata was only for data used by __init things.
>>> Although the
>>> current linker scripts do not put it in the section that gets recycled as
>>> usable
>>> memory.
>>>
>>> IIRC the unflattened version of the device tree has pointers to the
>>> flattened
>>> data. Since the device tree nodes are live for the entire kernel
>>> lifecycle,
>>> shouldn't the device tree blobs be in non-init memory?
>>>
>>
>> The contents of the blob get copied to allocated memory during
>> unflatten_device_tree() so the blob that is linked in is no longer needed
>> after init.
>
> Have you written a patch to add this behaviour? The current code doesn't. :-)
>
I misspoke, my blob gets copied to allocated memory during unflatten_device_tree.
my early_init_dt_alloc_memory_arch() returns the physical address of a kmalloc'd
buffer.
You would want copy the dtb that your platform is going to use to non-init memory.
--Dirk
next prev parent reply other threads:[~2010-11-17 6:14 UTC|newest]
Thread overview: 59+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-11-16 22:41 [PATCH 0/5] Add the ability to link device blobs into vmlinux dirk.brandewie
2010-11-16 22:41 ` dirk.brandewie
[not found] ` <cover.1289943240.git.dirk.brandewie-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2010-11-16 22:41 ` [PATCH 1/5] of: Add support for linking device tree " dirk.brandewie-Re5JQEeQqe8AvxtiuMwx3w
2010-11-16 22:41 ` dirk.brandewie
2010-11-16 22:41 ` dirk.brandewie
2010-11-17 0:39 ` David Daney
2010-11-17 0:39 ` David Daney
2010-11-17 2:21 ` Dirk Brandewie
2010-11-17 2:21 ` Dirk Brandewie
2010-11-17 2:58 ` Grant Likely
2010-11-17 2:58 ` Grant Likely
2010-11-17 6:14 ` Dirk Brandewie [this message]
2010-11-17 6:14 ` Dirk Brandewie
2010-11-17 6:14 ` Dirk Brandewie
2010-11-17 17:54 ` David Daney
2010-11-17 17:54 ` David Daney
2010-11-17 9:27 ` Sam Ravnborg
2010-11-17 9:27 ` Sam Ravnborg
2010-11-17 18:07 ` Grant Likely
2010-11-17 18:07 ` Grant Likely
2010-11-17 20:24 ` Sam Ravnborg
2010-11-17 20:24 ` Sam Ravnborg
2010-11-16 22:41 ` [PATCH 2/5] of/fdt: add kernel command line option for dtb_compat string dirk.brandewie-Re5JQEeQqe8AvxtiuMwx3w
2010-11-16 22:41 ` dirk.brandewie
2010-11-16 22:41 ` dirk.brandewie
2010-11-17 0:16 ` Grant Likely
2010-11-17 0:16 ` Grant Likely
2010-11-16 22:41 ` [PATCH 3/5] x86/of: Add building device tree blob(s) into image dirk.brandewie-Re5JQEeQqe8AvxtiuMwx3w
2010-11-16 22:41 ` dirk.brandewie
2010-11-16 22:41 ` dirk.brandewie
2010-11-17 6:02 ` Grant Likely
2010-11-17 6:02 ` Grant Likely
2010-11-17 6:43 ` Dirk Brandewie
2010-11-17 6:43 ` Dirk Brandewie
2010-11-16 22:41 ` [PATCH 4/5] of/powerpc: Move build to use generic dts->dtb rule dirk.brandewie-Re5JQEeQqe8AvxtiuMwx3w
2010-11-16 22:41 ` dirk.brandewie
2010-11-16 22:41 ` dirk.brandewie
2010-11-17 6:06 ` Grant Likely
2010-11-17 6:06 ` Grant Likely
2010-11-17 6:32 ` Dirk Brandewie
2010-11-17 6:32 ` Dirk Brandewie
2010-11-16 22:41 ` [PATCH 5/5] of/microblaze: " dirk.brandewie-Re5JQEeQqe8AvxtiuMwx3w
2010-11-16 22:41 ` dirk.brandewie
2010-11-16 22:41 ` dirk.brandewie
2010-12-01 19:41 ` [PATCH 0/4] V2 Add ability to link device blob(s) into vmlinux dirk.brandewie
2010-12-02 16:31 ` dirk.brandewie
2010-12-01 19:41 ` dirk.brandewie
2010-12-01 19:41 ` [PATCH 1/4] of: Add support for linking device tree blobs " dirk.brandewie
2010-12-02 16:31 ` dirk.brandewie
2010-12-01 19:41 ` dirk.brandewie
2010-12-01 19:41 ` [PATCH 2/4] x86/of: Add building device tree blob(s) into image dirk.brandewie
2010-12-02 16:31 ` dirk.brandewie
2010-12-01 19:41 ` dirk.brandewie
2010-12-01 19:41 ` [PATCH 3/4] of/powerpc: Use generic rule to build dtb's dirk.brandewie
2010-12-02 16:31 ` dirk.brandewie
2010-12-01 19:41 ` dirk.brandewie
2010-12-01 19:41 ` [PATCH 4/4] microblaze/of: " dirk.brandewie
2010-12-02 16:31 ` dirk.brandewie
2010-12-01 19:41 ` dirk.brandewie
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=4CE372A9.2050704@gmail.com \
--to=dirk.brandewie@gmail.com \
--cc=arjan@linux.intel.com \
--cc=ddaney@caviumnetworks.com \
--cc=devicetree-discuss@lists.ozlabs.org \
--cc=grant.likely@secretlab.ca \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=microblaze-uclinux@itee.uq.edu.au \
--cc=sodaville@linutronix.de \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.