11.45Spho#	$NetBSD: files.aarch64,v 1.45 2024/05/09 12:09:58 pho Exp $
21.1Smatt
31.3Sryodefflag opt_cpuoptions.h	AARCH64_ALIGNMENT_CHECK
41.3Sryodefflag opt_cpuoptions.h	AARCH64_EL0_STACK_ALIGNMENT_CHECK
51.3Sryodefflag opt_cpuoptions.h	AARCH64_EL1_STACK_ALIGNMENT_CHECK
61.3Sryodefflag opt_cpuoptions.h	AARCH64_HAVE_L2CTLR
71.39Sjmcneilldefflag opt_cpuoptions.h	AARCH64_DEVICE_MEM_NONPOSTED
81.37Sryodefflag opt_cpuoptions.h	ARMV81_HAFDBS
91.3Sryo
101.3Sryodefflag	opt_cputypes.h		CPU_ARMV8
111.3Sryodefflag	opt_cputypes.h		CPU_CORTEX: CPU_ARMV8
121.10Sskrlldefflag	opt_cputypes.h		CPU_THUNDERX: CPU_ARMV8
131.3Sryo
141.3Sryo# Interrupt implementation header definition
151.3Sryodefparam opt_arm_intr_impl.h	ARM_INTR_IMPL
161.3Sryo
171.3Sryo# ARM-specific debug options (for compat arch/arm/*)
181.6Sskrlldefflag  opt_arm_debug.h	ARM_LOCK_CAS_DEBUG
191.6Sskrlldefflag  opt_arm_debug.h	VERBOSE_INIT_ARM
201.8Sskrlldefparam opt_arm_debug.h	EARLYCONS
211.3Sryo
221.3Sryo# Timer options
231.3Sryodefflag opt_arm_timer.h		__HAVE_GENERIC_CPU_INITCLOCKS
241.1Smatt
251.1Smatt# Board-specific bus_space(9)/bus_dma(9) definitions
261.3Sryodefflag  opt_arm_bus_space.h	__BUS_SPACE_HAS_STREAM_METHODS
271.3Sryo				__BUS_SPACE_HAS_PROBING_METHODS
281.3Sryo				_ARM32_NEED_BUS_DMA_BOUNCE
291.1Smatt				BUSDMA_COUNTERS
301.1Smatt
311.4Sjakllsch# Console options
321.4Sjakllschdefparam opt_console.h		CONSADDR
331.4Sjakllschdefparam opt_console.h		CONSPEED
341.4Sjakllschdefparam opt_console.h		CONMODE
351.4Sjakllschdefparam opt_console.h		CONADDR
361.4Sjakllsch
371.1Smatt# FP support
381.1Smattfile	arch/aarch64/aarch64/fpu.c
391.1Smatt
401.32Sjmcneill# SMC Calling Convention
411.32Sjmcneilldefine	smccc
421.32Sjmcneillfile	arch/arm/arm/smccc.c			smccc
431.32Sjmcneill
441.32Sjmcneill# Power State Coordination Interface (PSCI)
451.32Sjmcneilldevice	psci: smccc
461.3Sryofile	arch/arm/arm/psci.c			psci
471.3Sryofile	arch/arm/arm/psci_arm.S			psci
481.3Sryo
491.9Sjmcneill# EFI support
501.9Sjmcneillfile	arch/arm/arm/efi_runtime.c		efi_runtime
511.9Sjmcneill
521.1Smatt# PMAP options
531.3Sryodefflag opt_pmap.h		PMAPHIST : KERNHIST
541.1Smattdefflag opt_pmap.h		PMAPCOUNTERS PMAP_STEAL_MEMORY
551.1Smatt				PMAP_NEED_ALLOC_POOLPAGE
561.25Sryodefflag opt_pmapboot.h		PMAPBOOT_DEBUG
571.1Smatt
581.41Sskrll# MI PMAP flags
591.41Sskrll#
601.41Sskrlldefflag	opt_pmap.h		PMAP_MI
611.41Sskrll
621.1Smatt# MI support
631.1Smattfile	dev/cons.c
641.1Smatt
651.1Smatt# DDB
661.1Smattfile	arch/aarch64/aarch64/db_disasm.c		ddb
671.1Smattfile	arch/aarch64/aarch64/db_interface.c		ddb|kgdb
681.1Smattfile	arch/aarch64/aarch64/db_trace.c			ddb
691.1Smattfile	arch/aarch64/aarch64/db_machdep.c		ddb
701.3Sryofile	arch/aarch64/aarch64/disasm.c			ddb
711.44Sandvar#file	arch/aarch64/aarch64/kgdb_machdep.c		kgdb # XXX: not implemented
721.1Smatt
731.1Smatt# mainbus files
741.3Sryodevice	mainbus { [addr = -1], [size = 0], [intr = -1] }
751.1Smatt
761.45Sphodevice	cpufeaturebus {}
771.45Sphodevice	cpu { }: cpufeaturebus
781.3Sryofile	arch/aarch64/aarch64/cpu.c			cpu
791.1Smatt
801.45Spho# VMware Tools driver
811.45Sphoattach	vmt at cpufeaturebus
821.45Sphofile	arch/aarch64/aarch64/vmt.c			vmt
831.45Spho
841.1Smatt# bus_space(9)
851.3Sryodefine	bus_space_generic
861.1Smattfile	arch/aarch64/aarch64/bus_space.c
871.3Sryofile	arch/aarch64/aarch64/bus_space_asm_generic.S	# bus_space_generic
881.3Sryofile	arch/aarch64/aarch64/bus_space_notimpl.S
891.1Smatt
901.3Sryo# Standard files
911.18Sskrllfile	arch/arm/arm/arm_cpu_topology.c
921.18Sskrllfile	arch/arm/arm/arm_generic_dma.c
931.3Sryofile	arch/arm/arm/bootconfig.c
941.21Smaxvfile	arch/arm/arm/bus_stubs.c
951.20Sskrllfile	arch/arm/arm/cpu_subr.c
961.18Sskrllfile	arch/arm/arm32/bus_dma.c
971.1Smattfile	arch/aarch64/aarch64/aarch64_machdep.c
981.3Sryofile	arch/aarch64/aarch64/aarch64_reboot.c
991.14Spgoyettefile	arch/aarch64/aarch64/core_machdep.c		coredump
1001.3Sryofile	arch/aarch64/aarch64/copyinout.S
1011.3Sryofile	arch/aarch64/aarch64/cpu_in_cksum.S		(inet | inet6) & cpu_in_cksum
1021.1Smattfile	arch/aarch64/aarch64/cpu_machdep.c
1031.3Sryofile	arch/aarch64/aarch64/cpuswitch.S
1041.3Sryofile	arch/aarch64/aarch64/cpufunc.c
1051.3Sryofile	arch/aarch64/aarch64/cpufunc_asm_armv8.S
1061.1Smattfile	arch/aarch64/aarch64/exec_machdep.c
1071.3Sryofile	arch/aarch64/aarch64/fusu.S
1081.3Sryofile	arch/aarch64/aarch64/idle_machdep.S
1091.1Smattfile	arch/aarch64/aarch64/kobj_machdep.c		modular
1101.27Sskrllfile	arch/aarch64/aarch64/lock_stubs.S
1111.30Schristosfile	arch/aarch64/aarch64/process_machdep.c
1121.1Smattfile	arch/aarch64/aarch64/procfs_machdep.c		procfs
1131.1Smattfile	arch/aarch64/aarch64/sig_machdep.c
1141.1Smattfile	arch/aarch64/aarch64/sys_machdep.c
1151.3Sryofile	arch/aarch64/aarch64/syscall.c
1161.3Sryofile	arch/aarch64/aarch64/trap.c
1171.3Sryofile	arch/aarch64/aarch64/fault.c
1181.3Sryofile	arch/aarch64/aarch64/vectors.S
1191.1Smattfile	arch/aarch64/aarch64/vm_machdep.c
1201.1Smatt
1211.3Sryo# pmap
1221.34Sskrllfile	arch/aarch64/aarch64/aarch64_tlb.c
1231.41Sskrllfile	arch/aarch64/aarch64/pmap.c		!pmap_mi
1241.5Sryofile	arch/aarch64/aarch64/pmapboot.c
1251.3Sryofile	arch/aarch64/aarch64/pmap_page.S
1261.41Sskrllfile	arch/aarch64/aarch64/pmap_machdep.c	pmap_mi
1271.41Sskrllfile	uvm/pmap/pmap.c				pmap_mi
1281.43Sskrllfile	uvm/pmap/pmap_devmap.c
1291.41Sskrllfile	uvm/pmap/pmap_pvt.c
1301.41Sskrllfile	uvm/pmap/pmap_segtab.c			pmap_mi
1311.34Sskrllfile	uvm/pmap/pmap_tlb.c
1321.3Sryo
1331.9Sjmcneill# EFI runtime (machdep)
1341.9Sjmcneillfile	arch/aarch64/aarch64/efi_machdep.c		efi_runtime
1351.9Sjmcneill
1361.1Smatt# NetBSD 32-bit binary compatibility
1371.1Smattinclude "compat/netbsd32/files.netbsd32"
1381.1Smattfile	arch/aarch64/aarch64/netbsd32_machdep.c		compat_netbsd32
1391.7Sryofile	arch/aarch64/aarch64/netbsd32_syscall.c		compat_netbsd32
1401.1Smatt
1411.1Smatt# Linux binary compatibility (COMPAT_LINUX)
1421.33Sryoinclude "compat/ossaudio/files.ossaudio"
1431.33Sryoinclude "compat/linux/files.linux"
1441.33Sryoinclude "compat/linux/arch/aarch64/files.linux_aarch64"
1451.36Sryofile	arch/aarch64/aarch64/linux_syscall.c		compat_linux
1461.36Sryo
1471.36Sryo# Linux 32 bit compatibility (COMPAT_LINUX32)
1481.36Sryoinclude "compat/linux32/files.linux32"
1491.36Sryoinclude "compat/linux32/arch/aarch64/files.linux32_aarch64"
1501.36Sryofile	arch/aarch64/aarch64/linux32_syscall.c		compat_linux32
1511.11Sjmcneill
1521.11Sjmcneill# profiling support
1531.12Sjmcneillfile	dev/tprof/tprof_armv8.c			tprof	needs-flag
1541.23Sriastrad
1551.23Sriastrad# ARMv8.0-AES
1561.23Sriastradinclude "crypto/aes/arch/arm/files.aesarmv8"
1571.24Sriastrad
1581.24Sriastrad# vpaes with ARM NEON
1591.24Sriastradinclude "crypto/aes/arch/arm/files.aesneon"
1601.26Sriastrad
1611.26Sriastrad# ChaCha with ARM NEON
1621.26Sriastradinclude "crypto/chacha/arch/arm/files.chacha_arm"
163