Lines Matching +full:psci +full:- +full:0
5 * (nr_cpus), how much memory they have (PHYS_END - PHYS_OFFSET), may
29 #include <asm/psci.h>
43 u64 cpus[NR_CPUS] = { [0 ... NR_CPUS-1] = (u64)~0 };
47 phys_addr_t __phys_offset = (phys_addr_t)-1, __phys_end = 0;
56 for (i = 0; i < nr_cpus; ++i) in mpidr_to_cpu()
59 return -1; in mpidr_to_cpu()
83 cpus[cpu] = gicc->arm_mpidr; in cpu_set_acpi()
86 return 0; in cpu_set_acpi()
107 nr_cpus = 0; in cpu_init()
110 assert(ret == 0); in cpu_init()
115 set_cpu_online(0, true); in cpu_init()
125 code->flags |= MR_F_CODE; in arm_memregions_add_assumed()
128 * mach-virt I/O regions: in arm_memregions_add_assumed()
129 * - The first 1G (arm/arm64) in arm_memregions_add_assumed()
130 * - 512M at 256G (arm64, arm uses highmem=off) in arm_memregions_add_assumed()
131 * - 512G at 512G (arm64, arm uses highmem=off) in arm_memregions_add_assumed()
133 memregions_add(&(struct mem_region){ 0, (1ul << 30), MR_F_IO }); in arm_memregions_add_assumed()
147 phys_alloc_init(freemem_start, freemem_end - freemem_start); in mem_allocator_init()
154 if (sizeof(long) != 8 && (top >> 32) != 0) in mem_allocator_init()
156 page_alloc_init_area(0, base >> PAGE_SHIFT, top >> PAGE_SHIFT); in mem_allocator_init()
163 .start = (phys_addr_t)-1, in mem_init()
167 assert(freemem && !(freemem->flags & (MR_F_IO | MR_F_CODE))); in mem_init()
169 for (r = mem_regions; r->end; ++r) { in mem_init()
170 if (!(r->flags & MR_F_IO)) { in mem_init()
171 if (r->start < mem.start) in mem_init()
172 mem.start = r->start; in mem_init()
173 if (r->end > mem.end) in mem_init()
174 mem.end = r->end; in mem_init()
182 while (r && r->end != mem.end) in mem_init()
183 r = memregions_find(r->end); in mem_init()
187 assert(freemem_start >= mem.start && freemem->end <= mem.end); in mem_init()
192 mem_allocator_init(freemem_start, freemem->end); in mem_init()
210 assert(ret == 0); in freemem_push_fdt()
212 assert(ret == 0); in freemem_push_fdt()
222 assert(ret == 0 || ret == -FDT_ERR_NOTFOUND); in freemem_push_dt_initrd()
223 if (ret == 0) { in freemem_push_dt_initrd()
264 thread_info_init(current_thread_info(), 0); in setup()
272 assert(ret == 0 || ret == -FDT_ERR_NOTFOUND); in setup()
292 * by kvm-unit-tests arm64 memory allocator. So it is not necessary to in setup_rsdp()
311 memregions_efi_init(&efi_bootinfo->mem_map, &freemem_mr); in efi_mem_init()
316 assert(code && (code->flags & MR_F_CODE)); in efi_mem_init()
318 data->flags &= ~MR_F_CODE; in efi_mem_init()
320 for (struct mem_region *m = mem_regions; m->end; ++m) { in efi_mem_init()
322 assert(!(m->flags & MR_F_CODE)); in efi_mem_init()
324 if (!(m->flags & MR_F_IO)) { in efi_mem_init()
325 if (m->start < __phys_offset) in efi_mem_init()
326 __phys_offset = m->start; in efi_mem_init()
327 if (m->end > __phys_end) in efi_mem_init()
328 __phys_end = m->end; in efi_mem_init()
333 freemem = (void *)PAGE_ALIGN(freemem_mr->start); in efi_mem_init()
335 if (efi_bootinfo->fdt) in efi_mem_init()
336 freemem_push_fdt(&freemem, efi_bootinfo->fdt); in efi_mem_init()
343 mem_allocator_init(freemem_start, freemem_mr->end); in efi_mem_init()
381 thread_info_init(current_thread_info(), 0); in setup_efi()