linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Rob Herring <robherring2@gmail.com>
To: Catalin Marinas <catalin.marinas@arm.com>
Cc: linux-kernel@vger.kernel.org, Arnd Bergmann <arnd@arndb.de>,
	Grant Likely <grant.likely@secretlab.ca>,
	"devicetree-discuss@lists.ozlabs.org" 
	<devicetree-discuss@lists.ozlabs.org>
Subject: Re: [PATCH 06/36] fdt: Add generic dt_memblock_reserve() function
Date: Sat, 07 Jul 2012 16:18:06 -0500	[thread overview]
Message-ID: <4FF8A78E.5090709@gmail.com> (raw)
In-Reply-To: <1341608777-12982-7-git-send-email-catalin.marinas@arm.com>

On 07/06/2012 04:05 PM, Catalin Marinas wrote:
> This function reserves initial_boot_params total size and reserve map.
> 
> Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
> Cc: Grant Likely <grant.likely@secretlab.ca>

If you had run get_maintainers.pl you would have copied all the
maintainers and the appropriate list (devicetree-discuss) for this patch.

This is hardly generic if you aren't using it anywhere but on a new
arch. Presumably, you can remove the arm 32-bit version, but its still
to be debated whether 32-bit and 64-bit ARM will remain separate.

It does appear that only ARM and powerpc currently handle reserve map,
so the other DT enabled platforms will need to have something similar here.

Rob

> ---
>  drivers/of/fdt.c       |   28 ++++++++++++++++++++++++++++
>  include/linux/of_fdt.h |    1 +
>  2 files changed, 29 insertions(+), 0 deletions(-)
> 
> diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c
> index 91a375f..7e9b5b0 100644
> --- a/drivers/of/fdt.c
> +++ b/drivers/of/fdt.c
> @@ -17,6 +17,7 @@
>  #include <linux/string.h>
>  #include <linux/errno.h>
>  #include <linux/slab.h>
> +#include <linux/memblock.h>
>  
>  #include <asm/setup.h>  /* for COMMAND_LINE_SIZE */
>  #ifdef CONFIG_PPC
> @@ -436,6 +437,33 @@ int __initdata dt_root_size_cells;
>  
>  struct boot_param_header *initial_boot_params;
>  
> +void __init dt_memblock_reserve(void)
> +{
> +	u64 *reserve_map, base, size;
> +
> +	if (!initial_boot_params)
> +		return;
> +
> +	/* Reserve the dtb region */
> +	memblock_reserve(virt_to_phys(initial_boot_params),
> +			 be32_to_cpu(initial_boot_params->totalsize));
> +
> +	/*
> +	 * Process the reserve map.  This will probably overlap the initrd
> +	 * and dtb locations which are already reserved, but overlapping
> +	 * doesn't hurt anything
> +	 */
> +	reserve_map = ((void*)initial_boot_params) +
> +			be32_to_cpu(initial_boot_params->off_mem_rsvmap);
> +	while (1) {
> +		base = be64_to_cpup(reserve_map++);
> +		size = be64_to_cpup(reserve_map++);
> +		if (!size)
> +			break;
> +		memblock_reserve(base, size);
> +	}
> +}
> +
>  #ifdef CONFIG_OF_EARLY_FLATTREE
>  
>  /**
> diff --git a/include/linux/of_fdt.h b/include/linux/of_fdt.h
> index ed136ad..bf4fe1e 100644
> --- a/include/linux/of_fdt.h
> +++ b/include/linux/of_fdt.h
> @@ -117,6 +117,7 @@ extern int early_init_dt_scan_root(unsigned long node, const char *uname,
>  /* Other Prototypes */
>  extern void unflatten_device_tree(void);
>  extern void early_init_devtree(void *);
> +extern void dt_memblock_reserve(void);
>  #else /* CONFIG_OF_FLATTREE */
>  static inline void unflatten_device_tree(void) {}
>  #endif /* CONFIG_OF_FLATTREE */
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/
> 
> 



  reply	other threads:[~2012-07-07 21:18 UTC|newest]

Thread overview: 182+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-07-06 21:05 [PATCH 00/36] AArch64 Linux kernel port Catalin Marinas
2012-07-06 21:05 ` [PATCH 01/36] atomic64_test: Simplify the #ifdef for atomic64_dec_if_positive() test Catalin Marinas
2012-07-18  4:33   ` Benjamin Herrenschmidt
2012-07-18  9:06     ` Catalin Marinas
2012-07-06 21:05 ` [PATCH 02/36] ipc: Add COMPAT_SHMLBA support Catalin Marinas
2012-07-18  5:53   ` Jon Masters
2012-07-18  9:03     ` Will Deacon
2012-07-06 21:05 ` [PATCH 03/36] ipc: allow compat IPC version field parsing if !ARCH_WANT_OLD_COMPAT_IPC Catalin Marinas
2012-07-06 21:05 ` [PATCH 04/36] ipc: compat: use signed size_t types for msgsnd and msgrcv Catalin Marinas
2012-07-06 21:05 ` [PATCH 05/36] fs: Build sys_stat64() and friends if __ARCH_WANT_COMPAT_STAT64 Catalin Marinas
2012-07-06 21:05 ` [PATCH 06/36] fdt: Add generic dt_memblock_reserve() function Catalin Marinas
2012-07-07 21:18   ` Rob Herring [this message]
2012-07-08  9:43     ` Catalin Marinas
2012-07-06 21:05 ` [PATCH 07/36] AArch64: Assembly macros and definitions Catalin Marinas
2012-07-07  5:57   ` Greg KH
2012-07-08  9:23     ` Catalin Marinas
2012-07-20 14:22   ` [07/36] " Christopher Covington
2012-07-24 16:40     ` Catalin Marinas
2012-07-06 21:05 ` [PATCH 08/36] AArch64: Kernel booting and initialisation Catalin Marinas
2012-07-06 21:32   ` Stephen Warren
2012-07-08  9:18     ` Catalin Marinas
2012-07-23 17:48       ` Stephen Warren
2012-07-23 17:58         ` Catalin Marinas
2012-07-18  6:57   ` Jon Masters
2012-07-18  9:07     ` Will Deacon
2012-07-20  7:11       ` Jon Masters
2012-07-19 17:31     ` Christopher Covington
2012-07-20  7:10       ` Jon Masters
2012-07-20  8:28         ` Arnd Bergmann
2012-07-20 10:52           ` Catalin Marinas
2012-07-20 12:32             ` Geert Uytterhoeven
2012-07-20 13:16               ` Catalin Marinas
2012-07-20 13:47         ` Christopher Covington
2012-07-20 13:52           ` Catalin Marinas
2012-07-20 13:48       ` Catalin Marinas
2012-07-20 14:53         ` Christopher Covington
2012-07-23 20:52   ` [08/36] " Christopher Covington
2012-07-24 16:24     ` Catalin Marinas
2012-07-24 18:53       ` Arnd Bergmann
2012-07-24 23:20         ` Frank Rowand
2012-07-25  8:34         ` Catalin Marinas
2012-07-24 19:42   ` Christopher Covington
2012-07-25  8:47     ` Catalin Marinas
2012-07-25 13:39       ` Christopher Covington
2012-07-06 21:05 ` [PATCH 09/36] AArch64: Exception handling Catalin Marinas
2012-08-09 17:05   ` [09/36] " Christopher Covington
2012-08-09 17:23     ` Catalin Marinas
2012-08-09 19:19       ` Christopher Covington
2012-07-06 21:05 ` [PATCH 10/36] AArch64: MMU definitions Catalin Marinas
2012-10-02  0:43   ` Jon Masters
2012-10-02 15:39     ` Catalin Marinas
2012-07-06 21:05 ` [PATCH 11/36] AArch64: MMU initialisation Catalin Marinas
2012-07-06 21:05 ` [PATCH 12/36] AArch64: MMU fault handling and page table management Catalin Marinas
2012-07-06 21:05 ` [PATCH 13/36] AArch64: Process management Catalin Marinas
2012-07-06 21:05 ` [PATCH 14/36] AArch64: CPU support Catalin Marinas
2012-07-06 21:05 ` [PATCH 15/36] AArch64: Cache maintenance routines Catalin Marinas
2012-07-06 21:05 ` [PATCH 16/36] AArch64: TLB maintenance functionality Catalin Marinas
2012-07-06 21:05 ` [PATCH 17/36] AArch64: IRQ handling Catalin Marinas
2012-07-06 21:05 ` [PATCH 18/36] AArch64: Atomic operations Catalin Marinas
2012-07-06 21:06 ` [PATCH 19/36] AArch64: Device specific operations Catalin Marinas
2012-07-06 21:06 ` [PATCH 20/36] AArch64: DMA mapping API Catalin Marinas
2012-07-06 21:06 ` [PATCH 21/36] AArch64: SMP support Catalin Marinas
2012-07-06 21:06 ` [PATCH 22/36] AArch64: ELF definitions Catalin Marinas
2012-07-06 21:06 ` [PATCH 23/36] AArch64: System calls handling Catalin Marinas
2012-07-06 21:06 ` [PATCH 24/36] AArch64: VDSO support Catalin Marinas
2012-07-06 21:06 ` [PATCH 25/36] AArch64: Signal handling support Catalin Marinas
2012-07-06 21:06 ` [PATCH 26/36] AArch64: User access library functions Catalin Marinas
2012-07-06 21:06 ` [PATCH 27/36] AArch64: 32-bit (compat) applications support Catalin Marinas
2012-07-06 21:06 ` [PATCH 28/36] AArch64: Floating point and SIMD Catalin Marinas
2012-07-06 21:06 ` [PATCH 29/36] AArch64: Debugging support Catalin Marinas
2012-07-06 21:06 ` [PATCH 30/36] AArch64: Performance counters support Catalin Marinas
2012-07-06 21:06 ` [PATCH 31/36] AArch64: Miscellaneous library functions Catalin Marinas
2012-07-06 21:06 ` [PATCH 32/36] AArch64: Loadable modules Catalin Marinas
2012-07-06 21:06 ` [PATCH 33/36] AArch64: Generic timers support Catalin Marinas
2012-07-12  0:18   ` Linus Walleij
2012-07-12 10:09     ` Marc Zyngier
2012-07-12 10:56       ` Linus Walleij
2012-07-12 16:57         ` John Stultz
2012-07-12 17:31           ` Marc Zyngier
2012-07-12 17:39             ` John Stultz
2012-07-13 12:40               ` Arnd Bergmann
2012-07-13 16:02                 ` Catalin Marinas
2012-07-13 16:32                   ` Arnd Bergmann
2012-07-13 18:30                   ` John Stultz
2012-07-06 21:06 ` [PATCH 34/36] AArch64: Miscellaneous header files Catalin Marinas
2012-07-06 21:06 ` [PATCH 35/36] AArch64: Build infrastructure Catalin Marinas
2012-07-06 21:06 ` [PATCH 36/36] AArch64: MAINTAINERS update Catalin Marinas
2012-08-10 16:24   ` [36/36] " Christopher Covington
2012-07-06 22:58 ` [PATCH 00/36] AArch64 Linux kernel port Alan Cox
2012-07-07 21:30   ` Arnd Bergmann
2012-07-07 23:14   ` Catalin Marinas
2012-07-07 23:29     ` Alan Cox
2012-07-09 11:35       ` Catalin Marinas
2012-07-09 13:51         ` Alan Cox
2012-07-09 15:32           ` Arnd Bergmann
2012-07-09 15:49             ` Alan Cox
2012-07-09 16:02             ` Catalin Marinas
2012-07-09 16:33               ` Arnd Bergmann
2012-07-07  3:29 ` Matthew Garrett
2012-07-09 12:32   ` Mark Brown
2012-07-09 13:06     ` Matthew Garrett
2012-07-09 13:56       ` Mark Brown
2012-07-09 14:02         ` Matthew Garrett
2012-07-09 15:46           ` Mark Brown
2012-07-07  3:53 ` Olof Johansson
2012-07-07 19:27   ` Arnd Bergmann
2012-07-07 23:45     ` Jan Engelhardt
2012-07-08  5:05       ` Henrique de Moraes Holschuh
2012-07-08 20:28         ` Jan Engelhardt
2012-07-08  7:54     ` Jon Masters
2012-07-08 11:17       ` Dr. David Alan Gilbert
2012-07-08 18:13         ` Jon Masters
2012-07-08 18:31       ` Jon Masters
2012-07-08 22:24         ` Dennis Gilmore
2012-07-09  2:01           ` Jon Masters
2012-07-09  8:57             ` Catalin Marinas
2012-07-09 13:33             ` Geert Uytterhoeven
2012-07-08 20:31       ` Jan Engelhardt
2012-07-08 23:32         ` Jon Masters
2012-07-10  7:10     ` Ingo Molnar
2012-07-10 10:10       ` Catalin Marinas
2012-07-10 15:33         ` Alan Cox
2012-07-10 16:52           ` Arnd Bergmann
2012-07-10 20:35             ` Ingo Molnar
2012-07-10 21:19               ` Arnd Bergmann
2012-07-10 21:48                 ` Catalin Marinas
2012-07-11  8:20                 ` Ingo Molnar
2012-07-11 11:30                 ` Alan Cox
2012-07-10 21:44               ` Catalin Marinas
2012-07-11  8:55                 ` Catalin Marinas
2012-07-11  5:26             ` Rusty Russell
2012-07-11 10:53               ` Catalin Marinas
2012-07-12  2:08                 ` Rusty Russell
2012-07-10 16:57           ` Catalin Marinas
2012-07-10 16:52         ` Dennis Gilmore
2012-07-10 17:14         ` Joe Perches
2012-07-10 18:01           ` Jan Ceuleers
2012-07-10 18:05             ` richard -rw- weinberger
2012-07-10 20:16           ` Alexander Holler
2012-07-14 22:16             ` Jon Masters
2012-07-10 22:08         ` Chris Adams
2012-07-14  9:30         ` Pavel Machek
2012-07-15 12:16           ` Catalin Marinas
2012-07-15 19:43             ` Arnd Bergmann
2012-07-15 21:33               ` Catalin Marinas
2012-07-16 12:16                 ` Pavel Machek
2012-07-17  7:05                   ` Jon Masters
2012-07-17  8:02                     ` Arnd Bergmann
2012-07-17  9:50                       ` Alan Cox
2012-07-18  2:36                         ` Jon Masters
2012-07-17 10:45                   ` Catalin Marinas
2012-07-16  9:26               ` Geert Uytterhoeven
2012-07-17  6:53               ` Christoph Hellwig
2012-07-17  8:07                 ` Arnd Bergmann
2012-07-16  8:24             ` Avi Kivity
2012-07-17  7:09               ` Jon Masters
2012-07-17  8:37               ` Catalin Marinas
2012-07-15 23:21         ` Måns Rullgård
2012-07-15 23:53           ` Linus Torvalds
2012-07-17 22:18             ` Catalin Marinas
2012-07-17 22:35               ` Joe Perches
2012-07-18  2:33                 ` Jon Masters
2012-07-18 15:27                   ` Dennis Gilmore
2012-07-18 17:14                     ` Catalin Marinas
2012-07-18 17:25                       ` Måns Rullgård
2012-07-18 19:35                       ` Jon Masters
2012-07-18 19:55                         ` Linus Torvalds
2012-07-19 14:16     ` Guillem Jover
2012-07-07 23:42   ` Jan Engelhardt
2012-07-08 10:18   ` Catalin Marinas
2012-07-09 12:31     ` Jan Engelhardt
2012-07-07  9:30 ` Mikael Pettersson
2012-07-07 19:21   ` Kirill A. Shutemov
2012-07-10 10:12   ` Catalin Marinas
2012-07-14  9:35     ` Pavel Machek
2012-07-15 11:36       ` Catalin Marinas
2012-07-16 16:19         ` Pavel Machek
2012-07-16 19:45           ` Arnd Bergmann
2012-07-16 19:47           ` Måns Rullgård
2012-07-18  5:35 ` Jon Masters
2012-07-18  9:13   ` Catalin Marinas
2012-07-26 11:59 ` Catalin Marinas
     [not found] <jknWN-4WG-3@gated-at.bofh.it>
     [not found] ` <jkulA-O3-3@gated-at.bofh.it>
     [not found]   ` <jkIRz-2Hu-11@gated-at.bofh.it>

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=4FF8A78E.5090709@gmail.com \
    --to=robherring2@gmail.com \
    --cc=arnd@arndb.de \
    --cc=catalin.marinas@arm.com \
    --cc=devicetree-discuss@lists.ozlabs.org \
    --cc=grant.likely@secretlab.ca \
    --cc=linux-kernel@vger.kernel.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).