Lines Matching +full:num +full:- +full:vectors

52 /* Data-side / unified region attributes */
76 /* Optional instruction-side region attributes */
78 /* I-side Region access control register */
84 /* I-side Region size register */
90 /* I-side Region base address register */
108 /* Data-side / unified region attributes */
137 /* ARMv7-M only supports a unified MPU, so I-side operations are nop */
149 phys_addr_t abase = base & ~(size - 1); in try_split_region()
150 phys_addr_t asize = base + size - abase; in try_split_region()
157 bdiff = base - abase; in try_split_region()
158 sdiff = p2size - asize; in try_split_region()
177 _set_bit(i, &region->subreg); in try_split_region()
180 _set_bit(PMSAv7_NR_SUBREGS - i, &region->subreg); in try_split_region()
183 region->base = abase; in try_split_region()
184 region->size = p2size; in try_split_region()
201 diff -= size; in allocate_region()
212 phys_addr_t asize = (base - 1) ^ base; in allocate_region()
213 phys_addr_t p2size = (1 << __fls(diff)) - 1; in allocate_region()
224 attempts--; in allocate_region()
239 int num; in pmsav7_adjust_lowmem_bounds() local
242 /* Free-up PMSAv7_PROBE_REGION */ in pmsav7_adjust_lowmem_bounds()
251 mem_max_regions--; in pmsav7_adjust_lowmem_bounds()
254 /* ... and one for vectors */ in pmsav7_adjust_lowmem_bounds()
255 mem_max_regions--; in pmsav7_adjust_lowmem_bounds()
260 num = allocate_region(CONFIG_XIP_PHYS_ADDR, __pa(_exiprom) - CONFIG_XIP_PHYS_ADDR, in pmsav7_adjust_lowmem_bounds()
263 mem_max_regions -= num; in pmsav7_adjust_lowmem_bounds()
278 specified_mem_size = mem_end - mem_start; in pmsav7_adjust_lowmem_bounds()
288 memblock_remove(reg_start, 0 - reg_start); in pmsav7_adjust_lowmem_bounds()
294 num = allocate_region(mem_start, specified_mem_size, mem_max_regions, mem); in pmsav7_adjust_lowmem_bounds()
296 for (i = 0; i < num; i++) { in pmsav7_adjust_lowmem_bounds()
299 total_mem_size += mem[i].size - subreg * hweight_long(mem[i].subreg); in pmsav7_adjust_lowmem_bounds()
309 specified_mem_size - total_mem_size); in pmsav7_adjust_lowmem_bounds()
326 /* Check for separate d-side and i-side memory maps */ in __mpu_max_regions()
354 /* If the MPU is non-unified, we use the larger of the two minima*/ in __mpu_min_region_order()
375 return -ENOENT; in mpu_setup_region()
378 return -ENOMEM; in mpu_setup_region()
381 return -ENOMEM; in mpu_setup_region()
384 size_data = ((size_order - 1) << PMSAv7_RSR_SZ) | 1 << PMSAv7_RSR_EN; in mpu_setup_region()
398 /* Check for independent I-side registers */ in mpu_setup_region()
436 * head-nommu.S (which is cachable) all subsequent in pmsav7_setup()
462 /* Vectors */ in pmsav7_setup()