freebsd-dev/sys/arm64/include
Justin Hibbits 139ba152c9 arm64: Print per-CPU cache summary
Summary:
It can be useful to see a summary of CPU caches on bootup.  This is done
for most platforms already, so add this to arm64, in the form of (taken
from Apple M1 pro test):

  L1 cache: 192KB (instruction), 128KB (data)
  L2 cache: 12288KB (unified)

This is printed out per-CPU, only under bootverbose.

Future refinements could instead determine if a cache level is shared
with other cores (L2 is shared among cores on some SoCs, for instance),
and perform a better calculation to the full true cache sizes.  For
instance, it's known that the M1 pro, on which this test was done, has 2
12MB L2 clusters, for a total of 24MB.  Seeing each CPU with 12288KB L2
would make one think that there's 12MB * NCPUs, for possibly 120MB
cache, which is incorrect.

Sponsored by:	Juniper Networks, Inc.
Reviewed by:	#arm64, andrew
Differential Revision: https://reviews.freebsd.org/D35366
2022-06-06 10:23:10 -05:00
..
_align.h
_bus.h Regularize my copyright notice 2019-12-04 16:56:11 +00:00
_inttypes.h
_limits.h
_stdint.h
_types.h Reduce code duplication in machine/_types.h 2021-06-14 16:30:16 +01:00
acpica_machdep.h arm64: clean up empty lines in .c and .h files 2020-09-01 21:18:06 +00:00
armreg.h arm64: Print per-CPU cache summary 2022-06-06 10:23:10 -05:00
asm.h Handle functions that use a nop in the arm64 fbt 2021-03-03 14:18:03 +00:00
atomic.h Fix the sanitizer header checks on arm64 2022-02-23 14:50:56 +00:00
bus_dma_impl.h bus_dma: Deduplicate locking helper functions. 2022-01-05 13:50:40 -08:00
bus_dma.h
bus.h Fix the sanitizer header checks on arm64 2022-02-23 14:50:56 +00:00
clock.h
counter.h Allocate arm64 per-CPU data in the correct domain 2021-10-11 10:36:50 +01:00
cpu.h Add more Arm CPU IDs 2022-05-24 11:04:56 +01:00
cpufunc.h Allow ddb and dtrace use the DMAP region on arm64 2021-10-01 11:27:33 +01:00
csan.h arm64: Improve DDB backtrace support 2021-02-01 14:15:57 +00:00
db_machdep.h arm64: Fix a logic bug in is_load_instr(). 2021-09-15 09:03:18 -07:00
debug_monitor.h Remove "All Rights Reserved" from FreeBSD Foundation sys/ copyrights 2021-08-08 10:42:24 -04:00
disassem.h
dump.h minidump: De-duplicate the progress bar 2021-09-29 16:42:21 -03:00
efi.h smbios: support getting address from EFI 2021-04-07 14:46:29 -05:00
elf.h arm64: HWCAP/HWCAP2 aux args support for 32-bit ARM binaries. 2021-07-25 19:39:32 +10:00
endian.h Consolidate machine/endian.h definitions 2021-03-26 19:00:22 -03:00
exec.h
float.h
floatingpoint.h
fpu.h
frame.h
gdb_machdep.h gdb: report specific stop reason for watchpoints 2021-03-30 11:36:41 -03:00
hypervisor.h Update the arm64 HCR_EL2 registers 2021-07-14 19:28:16 +00:00
ieeefp.h arm64: clean up empty lines in .c and .h files 2020-09-01 21:18:06 +00:00
ifunc.h Remove "All Rights Reserved" from FreeBSD Foundation sys/ copyrights 2021-08-08 10:42:24 -04:00
in_cksum.h machine/in_cksum.h: don't include sys/cdefs.h 2022-04-18 21:02:19 +01:00
intr.h arm64: Increase NIRQ to 16k 2020-10-15 03:12:00 +00:00
iodev.h Remove "All Rights Reserved" from FreeBSD Foundation sys/ copyrights 2021-08-08 10:42:24 -04:00
iommu.h Introduce IOMMU support for arm64 platform. 2020-11-16 21:55:52 +00:00
kdb.h arm64: implement kdb watchpoint functions 2021-03-29 12:05:43 -03:00
machdep.h Use L2 blocks when in the identity map 2021-03-03 14:18:03 +00:00
md_var.h Simplify swi for bus_dma. 2021-12-28 13:51:25 -08:00
memdev.h Add the MEM_EXTRACT_PADDR ioctl to /dev/mem. 2020-09-02 18:12:47 +00:00
metadata.h
minidump.h Make page size dynamic in libkvm for arm64 2022-03-15 09:52:15 +00:00
ofw_machdep.h Remove "All Rights Reserved" from FreeBSD Foundation sys/ copyrights 2021-08-08 10:42:24 -04:00
param.h arm64: Stop setting VM_BCACHE_SIZE_MAX 2021-01-19 20:34:35 -05:00
pcb.h arm64: remove pcb_pc 2021-01-08 14:53:44 -04:00
pci_cfgreg.h Remove "All Rights Reserved" from FreeBSD Foundation sys/ copyrights 2021-08-08 10:42:24 -04:00
pcpu_aux.h Allocate arm64 per-CPU data in the correct domain 2021-10-11 10:36:50 +01:00
pcpu.h Make the arm64 get_pcpu a function again 2022-03-08 11:54:58 +00:00
pmap.h Add arm64 pointer authentication support 2022-01-12 15:27:17 +00:00
pmc_mdep.h libpmc/hwpmc: fix issues with arm64 pmu-events support 2021-07-21 20:18:00 -03:00
proc.h Add arm64 pointer authentication support 2022-01-12 15:27:17 +00:00
procctl.h
profile.h Remove checks for __GNUCLIKE_ASM assuming it is always true. 2022-04-12 10:05:45 -07:00
psl.h
pte.h Remove L2_BLOCK_MASK from arm64 2022-03-23 15:33:05 +00:00
ptrace.h
reg.h Add NT_ARM_ADDR_MASK 2022-02-22 17:10:35 +00:00
reloc.h
resource.h
runq.h
setjmp.h
sf_buf.h
sigframe.h
signal.h
smp.h
stack.h arm64: Improve DDB backtrace support 2021-02-01 14:15:57 +00:00
stdarg.h
sysarch.h
tls.h Add <machine/tls.h> header to hold MD constants and helpers for TLS. 2021-12-09 13:17:13 -08:00
trap.h
ucontext.h arm64: clean up empty lines in .c and .h files 2020-09-01 21:18:06 +00:00
undefined.h Move ID reading signatures to a better header 2020-07-01 16:17:51 +00:00
vdso.h
vfp.h Use a regset for NT_ARM_VFP. 2022-03-23 13:33:06 -07:00
vm.h Add a way to map arm64 non-posted device memory 2021-05-01 06:01:20 +00:00
vmparam.h Fix the arm64 DMAP start address in a comment 2022-03-10 11:00:44 +00:00