/openbmc/u-boot/test/lib/ |
H A D | lmb.c | 11 static int check_lmb(struct unit_test_state *uts, struct lmb *lmb, in check_lmb() argument 19 ut_asserteq(lmb->memory.cnt, 1); in check_lmb() 20 ut_asserteq(lmb->memory.region[0].base, ram_base); in check_lmb() 21 ut_asserteq(lmb->memory.region[0].size, ram_size); in check_lmb() 24 ut_asserteq(lmb->reserved.cnt, num_reserved); in check_lmb() 26 ut_asserteq(lmb->reserved.region[0].base, base1); in check_lmb() 27 ut_asserteq(lmb->reserved.region[0].size, size1); in check_lmb() 30 ut_asserteq(lmb->reserved.region[1].base, base2); in check_lmb() 31 ut_asserteq(lmb->reserved.region[1].size, size2); in check_lmb() 34 ut_asserteq(lmb->reserved.region[2].base, base3); in check_lmb() [all …]
|
H A D | Makefile | 7 obj-y += lmb.o
|
/openbmc/linux/arch/powerpc/platforms/pseries/ |
H A D | hotplug-memory.c | 110 static int update_lmb_associativity_index(struct drmem_lmb *lmb) in update_lmb_associativity_index() argument 122 lmb_node = dlpar_configure_connector(cpu_to_be32(lmb->drc_index), in update_lmb_associativity_index() 160 lmb->aa_index = aa_index; in update_lmb_associativity_index() 164 static struct memory_block *lmb_to_memblock(struct drmem_lmb *lmb) in lmb_to_memblock() argument 169 section_nr = pfn_to_section_nr(PFN_DOWN(lmb->base_addr)); in lmb_to_memblock() 179 struct drmem_lmb *lmb, *start, *end; in get_lmb_range() local 183 for_each_drmem_lmb(lmb) { in get_lmb_range() 184 if (lmb->drc_index == drc_index) { in get_lmb_range() 185 start = lmb; in get_lmb_range() 204 static int dlpar_change_lmb_state(struct drmem_lmb *lmb, bool online) in dlpar_change_lmb_state() argument [all …]
|
/openbmc/u-boot/include/ |
H A D | lmb.h | 28 struct lmb { struct 33 extern void lmb_init(struct lmb *lmb); 34 extern void lmb_init_and_reserve(struct lmb *lmb, bd_t *bd, void *fdt_blob); 35 extern void lmb_init_and_reserve_range(struct lmb *lmb, phys_addr_t base, 37 extern long lmb_add(struct lmb *lmb, phys_addr_t base, phys_size_t size); 38 extern long lmb_reserve(struct lmb *lmb, phys_addr_t base, phys_size_t size); 39 extern phys_addr_t lmb_alloc(struct lmb *lmb, phys_size_t size, ulong align); 40 extern phys_addr_t lmb_alloc_base(struct lmb *lmb, phys_size_t size, ulong align, 42 extern phys_addr_t __lmb_alloc_base(struct lmb *lmb, phys_size_t size, ulong align, 44 extern phys_addr_t lmb_alloc_addr(struct lmb *lmb, phys_addr_t base, [all …]
|
H A D | image.h | 23 struct lmb; 427 struct lmb lmb; /* for memory mgmt */ member 723 void boot_fdt_add_mem_rsv_regions(struct lmb *lmb, void *fdt_blob); 724 int boot_relocate_fdt(struct lmb *lmb, char **of_flat_tree, ulong *of_size); 726 int boot_ramdisk_high(struct lmb *lmb, ulong rd_data, ulong rd_len, 728 int boot_get_cmdline(struct lmb *lmb, ulong *cmd_start, ulong *cmd_end); 730 int boot_get_kbd(struct lmb *lmb, bd_t **kbd); 889 int of_size, struct lmb *lmb);
|
/openbmc/u-boot/lib/ |
H A D | lmb.c | 14 void lmb_dump_all(struct lmb *lmb) in lmb_dump_all() argument 20 debug(" memory.cnt = 0x%lx\n", lmb->memory.cnt); in lmb_dump_all() 22 (unsigned long long)lmb->memory.size); in lmb_dump_all() 23 for (i = 0; i < lmb->memory.cnt; i++) { in lmb_dump_all() 25 (unsigned long long)lmb->memory.region[i].base); in lmb_dump_all() 27 (unsigned long long)lmb->memory.region[i].size); in lmb_dump_all() 31 lmb->reserved.cnt); in lmb_dump_all() 33 (unsigned long long)lmb->reserved.size); in lmb_dump_all() 34 for (i = 0; i < lmb->reserved.cnt; i++) { in lmb_dump_all() 36 (unsigned long long)lmb->reserved.region[i].base); in lmb_dump_all() [all …]
|
/openbmc/linux/arch/powerpc/mm/ |
H A D | drmem.c | 31 static u32 drmem_lmb_flags(struct drmem_lmb *lmb) in drmem_lmb_flags() argument 37 return lmb->flags & ~DRMEM_LMB_RESERVED; in drmem_lmb_flags() 69 struct drmem_lmb *lmb; in drmem_update_dt_v1() local 81 for_each_drmem_lmb(lmb) { in drmem_update_dt_v1() 82 dr_cell->base_addr = cpu_to_be64(lmb->base_addr); in drmem_update_dt_v1() 83 dr_cell->drc_index = cpu_to_be32(lmb->drc_index); in drmem_update_dt_v1() 84 dr_cell->aa_index = cpu_to_be32(lmb->aa_index); in drmem_update_dt_v1() 85 dr_cell->flags = cpu_to_be32(drmem_lmb_flags(lmb)); in drmem_update_dt_v1() 95 struct drmem_lmb *lmb) in init_drconf_v2_cell() argument 97 dr_cell->base_addr = cpu_to_be64(lmb->base_addr); in init_drconf_v2_cell() [all …]
|
H A D | numa.c | 586 static int __init get_nid_and_numa_distance(struct drmem_lmb *lmb) in get_nid_and_numa_distance() argument 601 !(lmb->flags & DRCONF_MEM_AI_INVALID) && lmb->aa_index < aa.n_arrays) { in get_nid_and_numa_distance() 604 index = lmb->aa_index * aa.array_sz; in get_nid_and_numa_distance() 622 int of_drconf_to_nid_single(struct drmem_lmb *lmb) in of_drconf_to_nid_single() argument 637 !(lmb->flags & DRCONF_MEM_AI_INVALID) && lmb->aa_index < aa.n_arrays) { in of_drconf_to_nid_single() 640 index = lmb->aa_index * aa.array_sz; in of_drconf_to_nid_single() 850 static int __init numa_setup_drmem_lmb(struct drmem_lmb *lmb, in numa_setup_drmem_lmb() argument 862 if ((lmb->flags & DRCONF_MEM_RESERVED) in numa_setup_drmem_lmb() 863 || !(lmb->flags & DRCONF_MEM_ASSIGNED)) in numa_setup_drmem_lmb() 869 base = lmb->base_addr; in numa_setup_drmem_lmb() [all …]
|
/openbmc/linux/arch/powerpc/include/asm/ |
H A D | drmem.h | 31 static inline struct drmem_lmb *drmem_lmb_next(struct drmem_lmb *lmb, in drmem_lmb_next() argument 39 if (((++lmb - start) % 16) == 0) in drmem_lmb_next() 42 return lmb; in drmem_lmb_next() 45 #define for_each_drmem_lmb_in_range(lmb, start, end) \ argument 46 for ((lmb) = (start); (lmb) < (end); lmb = drmem_lmb_next(lmb, start)) 48 #define for_each_drmem_lmb(lmb) \ argument 49 for_each_drmem_lmb_in_range((lmb), \ 93 static inline void drmem_mark_lmb_reserved(struct drmem_lmb *lmb) in drmem_mark_lmb_reserved() argument 95 lmb->flags |= DRMEM_LMB_RESERVED; in drmem_mark_lmb_reserved() 98 static inline void drmem_remove_lmb_reservation(struct drmem_lmb *lmb) in drmem_remove_lmb_reservation() argument [all …]
|
H A D | topology.h | 66 int of_drconf_to_nid_single(struct drmem_lmb *lmb); 97 static inline int of_drconf_to_nid_single(struct drmem_lmb *lmb) in of_drconf_to_nid_single() argument
|
/openbmc/u-boot/common/ |
H A D | image-fdt.c | 71 static void boot_fdt_reserve_region(struct lmb *lmb, uint64_t addr, in boot_fdt_reserve_region() argument 76 ret = lmb_reserve(lmb, addr, size); in boot_fdt_reserve_region() 97 void boot_fdt_add_mem_rsv_regions(struct lmb *lmb, void *fdt_blob) in boot_fdt_add_mem_rsv_regions() argument 112 boot_fdt_reserve_region(lmb, addr, size); in boot_fdt_add_mem_rsv_regions() 126 boot_fdt_reserve_region(lmb, addr, size); in boot_fdt_add_mem_rsv_regions() 151 int boot_relocate_fdt(struct lmb *lmb, char **of_flat_tree, ulong *of_size) in boot_relocate_fdt() argument 181 lmb_reserve(lmb, (ulong)of_start, of_len); in boot_relocate_fdt() 185 (void *)(ulong) lmb_alloc_base(lmb, of_len, 0x1000, in boot_relocate_fdt() 193 (void *)(ulong) lmb_alloc(lmb, of_len, 0x1000); in boot_relocate_fdt() 197 (void *)(ulong) lmb_alloc_base(lmb, of_len, 0x1000, in boot_relocate_fdt() [all …]
|
H A D | image.c | 1140 int boot_ramdisk_high(struct lmb *lmb, ulong rd_data, ulong rd_len, in boot_ramdisk_high() argument 1168 lmb_reserve(lmb, rd_data, rd_len); in boot_ramdisk_high() 1171 *initrd_start = (ulong)lmb_alloc_base(lmb, in boot_ramdisk_high() 1174 *initrd_start = (ulong)lmb_alloc(lmb, rd_len, in boot_ramdisk_high() 1427 int boot_get_cmdline(struct lmb *lmb, ulong *cmd_start, ulong *cmd_end) in boot_get_cmdline() argument 1432 cmdline = (char *)(ulong)lmb_alloc_base(lmb, CONFIG_SYS_BARGSIZE, 0xf, in boot_get_cmdline() 1467 int boot_get_kbd(struct lmb *lmb, bd_t **kbd) in boot_get_kbd() argument 1469 *kbd = (bd_t *)(ulong)lmb_alloc_base(lmb, sizeof(bd_t), 0xf, in boot_get_kbd() 1491 struct lmb *lmb = &images->lmb; in image_setup_linux() local 1495 boot_fdt_add_mem_rsv_regions(lmb, *of_flat_tree); in image_setup_linux() [all …]
|
H A D | bootm_os.c | 270 struct lmb *lmb = &images->lmb; in do_bootvx_fdt() local 273 boot_fdt_add_mem_rsv_regions(lmb, *of_flat_tree); in do_bootvx_fdt() 275 ret = boot_relocate_fdt(lmb, of_flat_tree, &of_size); in do_bootvx_fdt()
|
H A D | bootm.c | 63 lmb_init_and_reserve_range(&images->lmb, (phys_addr_t)mem_start, in boot_start_lmb() 67 #define lmb_reserve(lmb, base, size) argument 499 lmb_reserve(&images->lmb, images->os.load, (load_end - in bootm_load_os() 732 ret = boot_ramdisk_high(&images->lmb, images->rd_start, in do_bootm_states() 742 boot_fdt_add_mem_rsv_regions(&images->lmb, images->ft_addr); in do_bootm_states() 743 ret = boot_relocate_fdt(&images->lmb, &images->ft_addr, in do_bootm_states()
|
/openbmc/u-boot/arch/powerpc/lib/ |
H A D | bootm.c | 113 void arch_lmb_reserve(struct lmb *lmb) in arch_lmb_reserve() argument 135 lmb_reserve(lmb, base, bootm_size - size); in arch_lmb_reserve() 152 lmb_reserve(lmb, sp, (CONFIG_SYS_SDRAM_BASE + get_effective_memsize() - sp)); in arch_lmb_reserve() 155 cpu_mp_lmb_reserve(lmb); in arch_lmb_reserve() 176 struct lmb *lmb = &images->lmb; in boot_cmdline_linux() local 184 ret = boot_get_cmdline (lmb, cmd_start, cmd_end); in boot_cmdline_linux() 197 struct lmb *lmb = &images->lmb; in boot_bd_t_linux() local 204 ret = boot_get_kbd (lmb, kbd); in boot_bd_t_linux()
|
/openbmc/u-boot/arch/m68k/lib/ |
H A D | bootm.c | 29 void arch_lmb_reserve(struct lmb *lmb) in arch_lmb_reserve() argument 47 lmb_reserve(lmb, sp, (CONFIG_SYS_SDRAM_BASE + gd->ram_size - sp)); in arch_lmb_reserve() 55 struct lmb *lmb = &images->lmb; in do_bootm_linux() local 67 ret = boot_get_kbd (lmb, &kbd); in do_bootm_linux()
|
/openbmc/u-boot/arch/mips/lib/ |
H A D | bootm.c | 35 void arch_lmb_reserve(struct lmb *lmb) in arch_lmb_reserve() argument 44 lmb_reserve(lmb, sp, gd->ram_top - sp); in arch_lmb_reserve() 231 return boot_ramdisk_high(&images->lmb, images->rd_start, in boot_reloc_ramdisk() 247 boot_fdt_add_mem_rsv_regions(&images->lmb, images->ft_addr); in boot_reloc_fdt() 248 return boot_relocate_fdt(&images->lmb, &images->ft_addr, in boot_reloc_fdt() 268 &images->lmb); in boot_setup_fdt()
|
/openbmc/u-boot/arch/arm/mach-imx/ |
H A D | misc.c | 85 void board_lmb_reserve(struct lmb *lmb) in board_lmb_reserve() argument 102 lmb_reserve(lmb, sp, bank_end - sp); in board_lmb_reserve()
|
/openbmc/u-boot/arch/powerpc/cpu/mpc86xx/ |
H A D | mp.c | 88 void cpu_mp_lmb_reserve(struct lmb *lmb) in cpu_mp_lmb_reserve() argument 93 lmb_reserve(lmb, bootpg, 4096); in cpu_mp_lmb_reserve()
|
/openbmc/u-boot/arch/arc/lib/ |
H A D | bootm.c | 19 void arch_lmb_reserve(struct lmb *lmb) in arch_lmb_reserve() argument 37 lmb_reserve(lmb, sp, (CONFIG_SYS_SDRAM_BASE + gd->ram_size - sp)); in arch_lmb_reserve()
|
/openbmc/u-boot/arch/powerpc/include/asm/ |
H A D | mp.h | 12 void cpu_mp_lmb_reserve(struct lmb *lmb);
|
/openbmc/linux/arch/powerpc/kernel/ |
H A D | prom.c | 518 static int __init early_init_drmem_lmb(struct drmem_lmb *lmb, in early_init_drmem_lmb() argument 525 base = lmb->base_addr; in early_init_drmem_lmb() 533 if ((lmb->flags & DRCONF_MEM_RESERVED) || in early_init_drmem_lmb() 534 !(lmb->flags & DRCONF_MEM_ASSIGNED)) in early_init_drmem_lmb() 572 if (lmb->flags & DRCONF_MEM_HOTREMOVABLE) in early_init_drmem_lmb()
|
/openbmc/u-boot/arch/powerpc/cpu/mpc85xx/ |
H A D | mp.c | 406 void cpu_mp_lmb_reserve(struct lmb *lmb) in cpu_mp_lmb_reserve() argument 410 lmb_reserve(lmb, bootpg, 4096); in cpu_mp_lmb_reserve()
|
/openbmc/u-boot/fs/ |
H A D | fs.c | 438 struct lmb lmb; in fs_read_lmb_check() local 457 lmb_init_and_reserve(&lmb, gd->bd, (void *)gd->fdt_blob); in fs_read_lmb_check() 458 lmb_dump_all(&lmb); in fs_read_lmb_check() 460 if (lmb_alloc_addr(&lmb, addr, read_len) == addr) in fs_read_lmb_check()
|
/openbmc/u-boot/net/ |
H A D | tftp.c | 606 struct lmb lmb; in tftp_init_load_addr() local 609 lmb_init_and_reserve(&lmb, gd->bd, (void *)gd->fdt_blob); in tftp_init_load_addr() 611 max_size = lmb_get_free_size(&lmb, load_addr); in tftp_init_load_addr()
|