From 7194527b6a456abaa24198dc4b6c289905c4cffd Mon Sep 17 00:00:00 2001 From: Sean Anderson Date: Mon, 12 Apr 2021 18:53:05 -0400 Subject: cmd: fs: Use part_get_info_by_dev_and_name_or_num to parse partitions This allows using dev#partlabel syntax. Signed-off-by: Sean Anderson --- include/part.h | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/include/part.h b/include/part.h index 7f78271a983..419c8597088 100644 --- a/include/part.h +++ b/include/part.h @@ -230,7 +230,7 @@ int part_get_info_by_name(struct blk_desc *dev_desc, * @param[in] allow_whole_dev true to allow the user to select partition 0 * (which means the whole device), false to require a valid * partition number >= 1 - * @return 0 on success, or a negative on error + * @return the partition number on success, or negative errno on error */ int part_get_info_by_dev_and_name_or_num(const char *dev_iface, const char *dev_part_str, @@ -275,6 +275,16 @@ static inline int blk_get_device_part_str(const char *ifname, struct disk_partition *info, int allow_whole_dev) { *dev_desc = NULL; return -1; } +static inline int +part_get_info_by_dev_and_name_or_num(const char *dev_iface, + const char *dev_part_str, + struct blk_desc **dev_desc, + struct disk_partition *part_info, + int allow_whole_dev) +{ + *dev_desc = NULL; + return -ENOSYS; +} #endif /* -- cgit v1.3.1 From 77b8cfef531f7758f35a8598bd474713cfc2c2ec Mon Sep 17 00:00:00 2001 From: Patrick Delaunay Date: Wed, 10 Mar 2021 10:16:25 +0100 Subject: lmb: move CONFIG_LMB in Kconfig Migrate CONFIG_LMB in Kconfig. Signed-off-by: Patrick Delaunay --- arch/arc/include/asm/config.h | 2 -- arch/arm/include/asm/config.h | 1 - arch/m68k/include/asm/config.h | 1 - arch/microblaze/include/asm/config.h | 2 -- arch/mips/include/asm/config.h | 1 - arch/nds32/include/asm/config.h | 1 - arch/powerpc/include/asm/config.h | 1 - arch/riscv/include/asm/config.h | 1 - arch/sh/include/asm/config.h | 2 -- arch/x86/include/asm/config.h | 1 - arch/xtensa/include/asm/config.h | 2 -- include/configs/10m50_devboard.h | 5 ----- include/configs/3c120_devboard.h | 5 ----- include/configs/sandbox.h | 2 -- include/configs/x86-common.h | 2 -- include/image.h | 2 +- lib/Kconfig | 7 +++++++ scripts/config_whitelist.txt | 1 - 18 files changed, 8 insertions(+), 31 deletions(-) (limited to 'include') diff --git a/arch/arc/include/asm/config.h b/arch/arc/include/asm/config.h index d88c3614882..46e94be141b 100644 --- a/arch/arc/include/asm/config.h +++ b/arch/arc/include/asm/config.h @@ -8,6 +8,4 @@ #define CONFIG_SYS_BOOT_RAMDISK_HIGH -#define CONFIG_LMB - #endif /*__ASM_ARC_CONFIG_H_ */ diff --git a/arch/arm/include/asm/config.h b/arch/arm/include/asm/config.h index bf692ce2792..14860d89b6b 100644 --- a/arch/arm/include/asm/config.h +++ b/arch/arm/include/asm/config.h @@ -6,7 +6,6 @@ #ifndef _ASM_CONFIG_H_ #define _ASM_CONFIG_H_ -#define CONFIG_LMB #define CONFIG_SYS_BOOT_RAMDISK_HIGH #if defined(CONFIG_ARCH_LS1021A) || \ diff --git a/arch/m68k/include/asm/config.h b/arch/m68k/include/asm/config.h index 7ea443673ad..221eb93d58b 100644 --- a/arch/m68k/include/asm/config.h +++ b/arch/m68k/include/asm/config.h @@ -6,7 +6,6 @@ #ifndef _ASM_CONFIG_H_ #define _ASM_CONFIG_H_ -#define CONFIG_LMB #define CONFIG_SYS_BOOT_RAMDISK_HIGH #endif diff --git a/arch/microblaze/include/asm/config.h b/arch/microblaze/include/asm/config.h index 3ae71b3e010..221eb93d58b 100644 --- a/arch/microblaze/include/asm/config.h +++ b/arch/microblaze/include/asm/config.h @@ -6,8 +6,6 @@ #ifndef _ASM_CONFIG_H_ #define _ASM_CONFIG_H_ -#define CONFIG_LMB - #define CONFIG_SYS_BOOT_RAMDISK_HIGH #endif diff --git a/arch/mips/include/asm/config.h b/arch/mips/include/asm/config.h index 7ea443673ad..221eb93d58b 100644 --- a/arch/mips/include/asm/config.h +++ b/arch/mips/include/asm/config.h @@ -6,7 +6,6 @@ #ifndef _ASM_CONFIG_H_ #define _ASM_CONFIG_H_ -#define CONFIG_LMB #define CONFIG_SYS_BOOT_RAMDISK_HIGH #endif diff --git a/arch/nds32/include/asm/config.h b/arch/nds32/include/asm/config.h index 8964a58f272..6c1cbce7ef5 100644 --- a/arch/nds32/include/asm/config.h +++ b/arch/nds32/include/asm/config.h @@ -7,6 +7,5 @@ #ifndef _ASM_CONFIG_H_ #define _ASM_CONFIG_H_ -#define CONFIG_LMB #endif diff --git a/arch/powerpc/include/asm/config.h b/arch/powerpc/include/asm/config.h index c9c99646309..99b410dc9b0 100644 --- a/arch/powerpc/include/asm/config.h +++ b/arch/powerpc/include/asm/config.h @@ -18,7 +18,6 @@ #define HWCONFIG_BUFFER_SIZE 256 #endif -#define CONFIG_LMB #define CONFIG_SYS_BOOT_RAMDISK_HIGH #ifndef CONFIG_MAX_MEM_MAPPED diff --git a/arch/riscv/include/asm/config.h b/arch/riscv/include/asm/config.h index 156cb94dc04..d9110075376 100644 --- a/arch/riscv/include/asm/config.h +++ b/arch/riscv/include/asm/config.h @@ -7,7 +7,6 @@ #ifndef _ASM_CONFIG_H_ #define _ASM_CONFIG_H_ -#define CONFIG_LMB #define CONFIG_SYS_BOOT_RAMDISK_HIGH #endif diff --git a/arch/sh/include/asm/config.h b/arch/sh/include/asm/config.h index e1cd322152a..406156dff51 100644 --- a/arch/sh/include/asm/config.h +++ b/arch/sh/include/asm/config.h @@ -8,8 +8,6 @@ #include -#define CONFIG_LMB - /* Timer */ #define CONFIG_SYS_TIMER_COUNTS_DOWN #define CONFIG_SYS_TIMER_COUNTER (TMU_BASE + 0xc) /* TCNT0 */ diff --git a/arch/x86/include/asm/config.h b/arch/x86/include/asm/config.h index 7ea443673ad..221eb93d58b 100644 --- a/arch/x86/include/asm/config.h +++ b/arch/x86/include/asm/config.h @@ -6,7 +6,6 @@ #ifndef _ASM_CONFIG_H_ #define _ASM_CONFIG_H_ -#define CONFIG_LMB #define CONFIG_SYS_BOOT_RAMDISK_HIGH #endif diff --git a/arch/xtensa/include/asm/config.h b/arch/xtensa/include/asm/config.h index 5a95fc93f7b..a1096ab1961 100644 --- a/arch/xtensa/include/asm/config.h +++ b/arch/xtensa/include/asm/config.h @@ -9,8 +9,6 @@ #include -#define CONFIG_LMB - /* * Make boot parameters available in the MMUv2 virtual memory layout by * restricting used physical memory to the first 128MB. diff --git a/include/configs/10m50_devboard.h b/include/configs/10m50_devboard.h index 768b4a6dfc3..3ffc744928f 100644 --- a/include/configs/10m50_devboard.h +++ b/include/configs/10m50_devboard.h @@ -34,11 +34,6 @@ */ #define CONFIG_BOOTP_BOOTFILESIZE -/* - * FDT options - */ -#define CONFIG_LMB - /* * MEMORY ORGANIZATION * -Monitor at top of sdram. diff --git a/include/configs/3c120_devboard.h b/include/configs/3c120_devboard.h index 30bbd716b20..3f065ff315c 100644 --- a/include/configs/3c120_devboard.h +++ b/include/configs/3c120_devboard.h @@ -34,11 +34,6 @@ */ #define CONFIG_BOOTP_BOOTFILESIZE -/* - * FDT options - */ -#define CONFIG_LMB - /* * MEMORY ORGANIZATION * -Monitor at top of sdram. diff --git a/include/configs/sandbox.h b/include/configs/sandbox.h index 6e79d3f56ee..8eeccdd4264 100644 --- a/include/configs/sandbox.h +++ b/include/configs/sandbox.h @@ -22,8 +22,6 @@ #define CONFIG_SYS_TIMER_RATE 1000000 #endif -#define CONFIG_LMB - #define CONFIG_HOST_MAX_DEVICES 4 /* diff --git a/include/configs/x86-common.h b/include/configs/x86-common.h index 641ed2c5ecd..f186dd6b823 100644 --- a/include/configs/x86-common.h +++ b/include/configs/x86-common.h @@ -16,8 +16,6 @@ */ #define CONFIG_PHYSMEM -#define CONFIG_LMB - #define CONFIG_SYS_BOOTM_LEN (16 << 20) /* SATA AHCI storage */ diff --git a/include/image.h b/include/image.h index 3ff3c035a78..459685d4d43 100644 --- a/include/image.h +++ b/include/image.h @@ -434,7 +434,7 @@ typedef struct bootm_headers { #define BOOTM_STATE_OS_GO (0x00000400) int state; -#ifdef CONFIG_LMB +#if defined(CONFIG_LMB) && !defined(USE_HOSTCC) struct lmb lmb; /* for memory mgmt */ #endif } bootm_headers_t; diff --git a/lib/Kconfig b/lib/Kconfig index ab8c9ccd600..b7df9eb5d61 100644 --- a/lib/Kconfig +++ b/lib/Kconfig @@ -700,6 +700,13 @@ config LIB_ELF Support basic elf loading/validating functions. This supports for 32 bit and 64 bit versions. +config LMB + bool "Enable the logical memory blocks library (lmb)" + default y if ARC || ARM || M68K || MICROBLAZE || MIPS || NDS32 || \ + NIOS2 || PPC || RISCV || SANDBOX || SH || X86 || XTENSA + help + Support the library logical memory blocks. + endmenu config PHANDLE_CHECK_SEQ diff --git a/scripts/config_whitelist.txt b/scripts/config_whitelist.txt index a2fcafd2e6c..3eda10efedb 100644 --- a/scripts/config_whitelist.txt +++ b/scripts/config_whitelist.txt @@ -948,7 +948,6 @@ CONFIG_LEGACY_BOOTCMD_ENV CONFIG_LINUX CONFIG_LINUX_RESET_VEC CONFIG_LITTLETON_LCD -CONFIG_LMB CONFIG_LMS283GF05 CONFIG_LOADADDR CONFIG_LOADCMD -- cgit v1.3.1 From 8f167da9c572845782000075e092e63a8273032d Mon Sep 17 00:00:00 2001 From: Patrick Delaunay Date: Wed, 10 Mar 2021 10:16:26 +0100 Subject: lmb: remove lmb_region.size Remove the unused field size of struct lmb_region as it is initialized to 0 and never used after in lmb library. See Linux kernel commit 4734b594c6ca ("memblock: Remove memblock_type.size and add memblock.memory_size instead") Signed-off-by: Patrick Delaunay --- include/lmb.h | 1 - lib/lmb.c | 6 ------ 2 files changed, 7 deletions(-) (limited to 'include') diff --git a/include/lmb.h b/include/lmb.h index e9f19b16ea0..a3247544c1e 100644 --- a/include/lmb.h +++ b/include/lmb.h @@ -21,7 +21,6 @@ struct lmb_property { struct lmb_region { unsigned long cnt; - phys_size_t size; struct lmb_property region[MAX_LMB_REGIONS+1]; }; diff --git a/lib/lmb.c b/lib/lmb.c index d126f8dc04a..5cf419f439a 100644 --- a/lib/lmb.c +++ b/lib/lmb.c @@ -20,8 +20,6 @@ void lmb_dump_all_force(struct lmb *lmb) printf("lmb_dump_all:\n"); printf(" memory.cnt = 0x%lx\n", lmb->memory.cnt); - printf(" memory.size = 0x%llx\n", - (unsigned long long)lmb->memory.size); for (i = 0; i < lmb->memory.cnt; i++) { printf(" memory.reg[0x%lx].base = 0x%llx\n", i, (unsigned long long)lmb->memory.region[i].base); @@ -30,8 +28,6 @@ void lmb_dump_all_force(struct lmb *lmb) } printf("\n reserved.cnt = 0x%lx\n", lmb->reserved.cnt); - printf(" reserved.size = 0x%llx\n", - (unsigned long long)lmb->reserved.size); for (i = 0; i < lmb->reserved.cnt; i++) { printf(" reserved.reg[0x%lx].base = 0x%llx\n", i, (unsigned long long)lmb->reserved.region[i].base); @@ -100,9 +96,7 @@ static void lmb_coalesce_regions(struct lmb_region *rgn, unsigned long r1, void lmb_init(struct lmb *lmb) { lmb->memory.cnt = 0; - lmb->memory.size = 0; lmb->reserved.cnt = 0; - lmb->reserved.size = 0; } static void lmb_reserve_common(struct lmb *lmb, void *fdt_blob) -- cgit v1.3.1 From 00fd8dad4d2ed738d11f29d992dc106bbdf4d68f Mon Sep 17 00:00:00 2001 From: Patrick Delaunay Date: Wed, 10 Mar 2021 10:16:27 +0100 Subject: lmb: add a max parameter in the struct lmb_region Add a max parameter in lmb_region struct to handle test in lmb_add_region without using the MAX_LMB_REGIONS define. This patch allows to modify these size independently for memory of reserved regions in the next patches. Signed-off-by: Patrick Delaunay --- include/lmb.h | 1 + lib/lmb.c | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/include/lmb.h b/include/lmb.h index a3247544c1e..f3397c7f730 100644 --- a/include/lmb.h +++ b/include/lmb.h @@ -21,6 +21,7 @@ struct lmb_property { struct lmb_region { unsigned long cnt; + unsigned long max; struct lmb_property region[MAX_LMB_REGIONS+1]; }; diff --git a/lib/lmb.c b/lib/lmb.c index 5cf419f439a..a926198d487 100644 --- a/lib/lmb.c +++ b/lib/lmb.c @@ -95,6 +95,9 @@ static void lmb_coalesce_regions(struct lmb_region *rgn, unsigned long r1, void lmb_init(struct lmb *lmb) { + lmb->memory.max = MAX_LMB_REGIONS; + lmb->reserved.max = MAX_LMB_REGIONS; + lmb->memory.cnt = 0; lmb->reserved.cnt = 0; } @@ -179,7 +182,7 @@ static long lmb_add_region(struct lmb_region *rgn, phys_addr_t base, phys_size_t if (coalesced) return coalesced; - if (rgn->cnt >= MAX_LMB_REGIONS) + if (rgn->cnt >= rgn->max) return -1; /* Couldn't coalesce the LMB, so add it to the sorted table. */ -- cgit v1.3.1 From 4fa0150d6c9c252af6887c55cbacd6734a40e9ab Mon Sep 17 00:00:00 2001 From: Patrick Delaunay Date: Wed, 10 Mar 2021 10:16:28 +0100 Subject: lmb: move MAX_LMB_REGIONS value in Kconfig Move MAX_LMB_REGIONS value in Kconfig, the max number of the regions in lmb library. Signed-off-by: Patrick Delaunay --- include/lmb.h | 4 +--- lib/Kconfig | 10 +++++++++- lib/lmb.c | 4 ++-- 3 files changed, 12 insertions(+), 6 deletions(-) (limited to 'include') diff --git a/include/lmb.h b/include/lmb.h index f3397c7f730..d3adf8ef696 100644 --- a/include/lmb.h +++ b/include/lmb.h @@ -12,8 +12,6 @@ * Copyright (C) 2001 Peter Bergner, IBM Corp. */ -#define MAX_LMB_REGIONS 8 - struct lmb_property { phys_addr_t base; phys_size_t size; @@ -22,7 +20,7 @@ struct lmb_property { struct lmb_region { unsigned long cnt; unsigned long max; - struct lmb_property region[MAX_LMB_REGIONS+1]; + struct lmb_property region[CONFIG_LMB_MAX_REGIONS + 1]; }; struct lmb { diff --git a/lib/Kconfig b/lib/Kconfig index b7df9eb5d61..e46c51f123f 100644 --- a/lib/Kconfig +++ b/lib/Kconfig @@ -439,7 +439,7 @@ config LZ4 is included. The LZ4 algorithm can run in-place as long as the compressed image is loaded to the end of the output buffer, and trades lower compression ratios for much faster decompression. - + NOTE: This implements the release version of the LZ4 frame format as generated by default by the 'lz4' command line tool. This is not the same as the outdated, less efficient legacy @@ -707,6 +707,14 @@ config LMB help Support the library logical memory blocks. + +config LMB_MAX_REGIONS + int "Number of memory and reserved regions in lmb lib" + depends on LMB + default 8 + help + Define the number of supported regions, memory and reserved, in the + library logical memory blocks. endmenu config PHANDLE_CHECK_SEQ diff --git a/lib/lmb.c b/lib/lmb.c index a926198d487..9fbc56619b4 100644 --- a/lib/lmb.c +++ b/lib/lmb.c @@ -95,8 +95,8 @@ static void lmb_coalesce_regions(struct lmb_region *rgn, unsigned long r1, void lmb_init(struct lmb *lmb) { - lmb->memory.max = MAX_LMB_REGIONS; - lmb->reserved.max = MAX_LMB_REGIONS; + lmb->memory.max = CONFIG_LMB_MAX_REGIONS; + lmb->reserved.max = CONFIG_LMB_MAX_REGIONS; lmb->memory.cnt = 0; lmb->reserved.cnt = 0; -- cgit v1.3.1 From cb1e619824f0c942ccd9b230b5f41caaf7cd91b4 Mon Sep 17 00:00:00 2001 From: Patrick Delaunay Date: Wed, 10 Mar 2021 10:16:29 +0100 Subject: lmb: correct size of the regions array As in lmb_region, cnt < max and in the lmb library use region[i] only with i in 0...cnt, this region array size can be reduced by 1 element without overflow. This patch allows to reduce the struct lmb size. Signed-off-by: Patrick Delaunay --- include/lmb.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'include') diff --git a/include/lmb.h b/include/lmb.h index d3adf8ef696..898ce15d076 100644 --- a/include/lmb.h +++ b/include/lmb.h @@ -20,7 +20,7 @@ struct lmb_property { struct lmb_region { unsigned long cnt; unsigned long max; - struct lmb_property region[CONFIG_LMB_MAX_REGIONS + 1]; + struct lmb_property region[CONFIG_LMB_MAX_REGIONS]; }; struct lmb { -- cgit v1.3.1 From 6d66502bc74182105c7fc77efe7bf8d04ac4e345 Mon Sep 17 00:00:00 2001 From: Patrick Delaunay Date: Wed, 10 Mar 2021 10:16:31 +0100 Subject: lmb: Add 2 config to define the max number of regions Add 2 configs CONFIG_LMB_MEMORY_REGIONS and CONFIG_LMB_RESERVED_REGIONS to change independently the max number of the regions in lmb library. When CONFIG_LMB_USE_MAX_REGIONS=y, move the lmb property arrays to struct lmb and manage the array size with the element 'max' of struct lmb_region; their are still allocated in stack. When CONFIG_LMB_USE_MAX_REGIONS=n, keep the current location in struct lmb_region to allow compiler optimization. Increase CONFIG_LMB_RESERVED_REGIONS is useful to avoid lmb errors in bootm when the number of reserved regions (not adjacent) is reached: + 1 region for relocated U-Boot + 1 region for initrd + 1 region for relocated linux device tree + reserved memory regions present in Linux device tree. The current limit of 8 regions is reached with only 5 reserved regions in DT. see Linux kernel commit bf23c51f1f49 ("memblock: Move memblock arrays to static storage in memblock.c and make their size a variable") Signed-off-by: Patrick Delaunay --- include/lmb.h | 34 ++++++++++++++++++++++++++++++++++ lib/Kconfig | 29 ++++++++++++++++++++++++++++- lib/lmb.c | 8 +++++++- 3 files changed, 69 insertions(+), 2 deletions(-) (limited to 'include') diff --git a/include/lmb.h b/include/lmb.h index 898ce15d076..541e17093c6 100644 --- a/include/lmb.h +++ b/include/lmb.h @@ -12,20 +12,54 @@ * Copyright (C) 2001 Peter Bergner, IBM Corp. */ +/** + * struct lmb_property - Description of one region. + * + * @base: Base address of the region. + * @size: Size of the region + */ struct lmb_property { phys_addr_t base; phys_size_t size; }; +/** + * struct lmb_region - Description of a set of region. + * + * @cnt: Number of regions. + * @max: Size of the region array, max value of cnt. + * @region: Array of the region properties + */ struct lmb_region { unsigned long cnt; unsigned long max; +#if IS_ENABLED(CONFIG_LMB_USE_MAX_REGIONS) struct lmb_property region[CONFIG_LMB_MAX_REGIONS]; +#else + struct lmb_property *region; +#endif }; +/** + * struct lmb - Logical memory block handle. + * + * Clients provide storage for Logical memory block (lmb) handles. + * The content of the structure is managed by the lmb library. + * A lmb struct is initialized by lmb_init() functions. + * The lmb struct is passed to all other lmb APIs. + * + * @memory: Description of memory regions. + * @reserved: Description of reserved regions. + * @memory_regions: Array of the memory regions (statically allocated) + * @reserved_regions: Array of the reserved regions (statically allocated) + */ struct lmb { struct lmb_region memory; struct lmb_region reserved; +#if !IS_ENABLED(CONFIG_LMB_USE_MAX_REGIONS) + struct lmb_property memory_regions[CONFIG_LMB_MEMORY_REGIONS]; + struct lmb_property reserved_regions[CONFIG_LMB_RESERVED_REGIONS]; +#endif }; extern void lmb_init(struct lmb *lmb); diff --git a/lib/Kconfig b/lib/Kconfig index e46c51f123f..6d2d41de301 100644 --- a/lib/Kconfig +++ b/lib/Kconfig @@ -707,14 +707,41 @@ config LMB help Support the library logical memory blocks. +config LMB_USE_MAX_REGIONS + bool "Use a commun number of memory and reserved regions in lmb lib" + depends on LMB + default y + help + Define the number of supported memory regions in the library logical + memory blocks. + This feature allow to reduce the lmb library size by using compiler + optimization when LMB_MEMORY_REGIONS == LMB_RESERVED_REGIONS. config LMB_MAX_REGIONS int "Number of memory and reserved regions in lmb lib" - depends on LMB + depends on LMB && LMB_USE_MAX_REGIONS default 8 help Define the number of supported regions, memory and reserved, in the library logical memory blocks. + +config LMB_MEMORY_REGIONS + int "Number of memory regions in lmb lib" + depends on LMB && !LMB_USE_MAX_REGIONS + default 8 + help + Define the number of supported memory regions in the library logical + memory blocks. + The minimal value is CONFIG_NR_DRAM_BANKS. + +config LMB_RESERVED_REGIONS + int "Number of reserved regions in lmb lib" + depends on LMB && !LMB_USE_MAX_REGIONS + default 8 + help + Define the number of supported reserved regions in the library logical + memory blocks. + endmenu config PHANDLE_CHECK_SEQ diff --git a/lib/lmb.c b/lib/lmb.c index 9fbc56619b4..c08c4d942b7 100644 --- a/lib/lmb.c +++ b/lib/lmb.c @@ -95,9 +95,15 @@ static void lmb_coalesce_regions(struct lmb_region *rgn, unsigned long r1, void lmb_init(struct lmb *lmb) { +#if IS_ENABLED(CONFIG_LMB_USE_MAX_REGIONS) lmb->memory.max = CONFIG_LMB_MAX_REGIONS; lmb->reserved.max = CONFIG_LMB_MAX_REGIONS; - +#else + lmb->memory.max = CONFIG_LMB_MEMORY_REGIONS; + lmb->reserved.max = CONFIG_LMB_RESERVED_REGIONS; + lmb->memory.region = lmb->memory_regions; + lmb->reserved.region = lmb->reserved_regions; +#endif lmb->memory.cnt = 0; lmb->reserved.cnt = 0; } -- cgit v1.3.1