Lines Matching +full:- +full:affinity
1 // SPDX-License-Identifier: GPL-2.0-only
5 * Copyright (C) 1995-2001 Russell King
105 * smp_build_mpidr_hash - Pre-compute shifts required at each affinity
112 u32 i, affinity, fs[4], bits[4], ls; in smp_build_mpidr_hash() local
115 * Pre-scan the list of MPIDRS and filter out bits that do in smp_build_mpidr_hash()
116 * not contribute to affinity levels, ie they never toggle. in smp_build_mpidr_hash()
122 * Find and stash the last and first bit set at all affinity levels to in smp_build_mpidr_hash()
126 affinity = MPIDR_AFFINITY_LEVEL(mask, i); in smp_build_mpidr_hash()
130 * to express the affinity level. in smp_build_mpidr_hash()
132 ls = fls(affinity); in smp_build_mpidr_hash()
133 fs[i] = affinity ? ffs(affinity) - 1 : 0; in smp_build_mpidr_hash()
134 bits[i] = ls - fs[i]; in smp_build_mpidr_hash()
138 * significant bits at each affinity level and by shifting in smp_build_mpidr_hash()
147 mpidr_hash.shift_aff[1] = MPIDR_LEVEL_SHIFT(1) + fs[1] - bits[0]; in smp_build_mpidr_hash()
148 mpidr_hash.shift_aff[2] = MPIDR_LEVEL_SHIFT(2) + fs[2] - in smp_build_mpidr_hash()
151 fs[3] - (bits[2] + bits[1] + bits[0]); in smp_build_mpidr_hash()
181 "The dtb must be 8-byte aligned and must not exceed 2 MB in size\n" in setup_machine_fdt()
188 * or else we could end-up printing non-initialized data, etc. in setup_machine_fdt()
194 /* Early fixups are done, map the FDT as read-only now */ in setup_machine_fdt()
213 kernel_code.end = __pa_symbol(__init_begin - 1); in request_standard_resources()
215 kernel_data.end = __pa_symbol(_end - 1); in request_standard_resources()
228 res->name = "reserved"; in request_standard_resources()
229 res->flags = IORESOURCE_MEM; in request_standard_resources()
230 res->start = __pfn_to_phys(memblock_region_reserved_base_pfn(region)); in request_standard_resources()
231 res->end = __pfn_to_phys(memblock_region_reserved_end_pfn(region)) - 1; in request_standard_resources()
233 res->name = "System RAM"; in request_standard_resources()
234 res->flags = IORESOURCE_SYSTEM_RAM | IORESOURCE_BUSY; in request_standard_resources()
235 res->start = __pfn_to_phys(memblock_region_memory_base_pfn(region)); in request_standard_resources()
236 res->end = __pfn_to_phys(memblock_region_memory_end_pfn(region)) - 1; in request_standard_resources()
251 if (!memblock_is_region_reserved(mem->start, mem_size)) in reserve_memblock_reserved_regions()
257 start = max(PFN_PHYS(PFN_DOWN(r_start)), mem->start); in reserve_memblock_reserved_regions()
258 end = min(PFN_PHYS(PFN_UP(r_end)) - 1, mem->end); in reserve_memblock_reserved_regions()
260 if (start > mem->end || end < mem->start) in reserve_memblock_reserved_regions()
271 u64 __cpu_logical_map[NR_CPUS] = { [0 ... NR_CPUS-1] = INVALID_HWID };
335 /* Parse the ACPI tables for possible boot-time configuration */ in setup_arch()
368 pr_err("WARNING: x1-x3 nonzero in violation of boot protocol:\n" in setup_arch()
380 if (ops && ops->cpu_can_disable) in cpu_can_disable()
381 return ops->cpu_can_disable(cpu); in cpu_can_disable()
428 panic("Non-EFI boot detected with MMU and caches enabled"); in check_mmu_enabled_at_boot()