1#	$NetBSD: files.x86,v 1.126 2023/06/14 01:27:47 rin Exp $
2
3# options for MP configuration through the MP spec
4defflag opt_mpbios.h MPBIOS MPDEBUG MPBIOS_SCANPCI
5defparam opt_mpbios.h MPVERBOSE
6
7# MTRR support
8defflag                 MTRR
9
10# Interrupt debug
11defflag opt_intrdebug.h	INTRDEBUG
12
13# PCI fixup options
14defflag opt_pcifixup.h	PCI_BUS_FIXUP PCI_INTR_FIXUP PCI_INTR_FIXUP_FORCE
15defflag opt_pcifixup.h	PCI_ADDR_FIXUP : PCI_BUS_FIXUP
16defflag opt_pci.h	NO_PCI_MSI_MSIX
17
18# To be able to test for NetBSD/xen in shared files
19defflag	opt_xen.h		DO_NOT_DEFINE
20
21# Option to have a static kernel memory layout
22defflag opt_kaslr.h	NO_X86_ASLR
23
24defflag	SVS
25
26defflag	PCPU_IDT
27
28define  cpubus { [apid = -1] }
29define	cpufeaturebus {}
30define  ioapicbus { [apid = -1] }
31
32# BIOS32 routines
33define	bios32: smbios
34file	arch/x86/x86/bios32.c		bios32 needs-flag
35
36#
37# CPU features
38#
39device	cpu: cpufeaturebus
40attach	cpu at cpubus
41file 	arch/x86/x86/cpu.c 		cpu & !xenpv
42file	arch/x86/x86/cpu_rng.c		cpu | vcpu
43
44device	acpicpu: acpi
45attach	acpicpu at cpufeaturebus
46file	dev/acpi/acpi_cpu.c		acpicpu
47file	dev/acpi/acpi_cpu_cstate.c	acpicpu
48file	dev/acpi/acpi_cpu_pstate.c	acpicpu
49file	dev/acpi/acpi_cpu_tstate.c	acpicpu
50file	arch/x86/acpi/acpi_cpu_md.c	acpicpu
51
52device	coretemp: sysmon_envsys
53attach	coretemp at cpufeaturebus
54file	arch/x86/x86/coretemp.c		coretemp
55
56device	est
57attach	est at cpufeaturebus
58file	arch/x86/x86/est.c		est
59file	arch/x86/x86/intel_busclock.c	est
60
61device	odcm
62attach	odcm at cpufeaturebus
63file	arch/x86/x86/odcm.c		odcm
64
65device	padlock: opencrypto, aes
66attach	padlock at cpufeaturebus
67file	arch/x86/x86/via_padlock.c	padlock
68
69device	powernow
70attach	powernow at cpufeaturebus
71file	arch/x86/x86/powernow.c		powernow
72
73device	viac7temp: sysmon_envsys
74attach	viac7temp at cpufeaturebus
75file	arch/x86/x86/viac7temp.c	viac7temp
76
77attach	vmt at cpufeaturebus
78file	arch/x86/x86/vmt.c		vmt
79
80device	hyperv
81attach	hyperv at cpufeaturebus
82file	arch/x86/x86/hyperv.c		hyperv needs-flag
83
84file	arch/x86/x86/apic.c		ioapic | lapic
85file	arch/x86/x86/bus_dma.c		machdep
86file	arch/x86/x86/bus_space.c	machdep
87file	arch/x86/x86/consinit.c		machdep & !xenpv
88file	arch/x86/x86/core_machdep.c	coredump
89file	arch/x86/x86/cpu_topology.c	machdep
90file	arch/x86/x86/db_memrw.c		ddb | kgdb
91file	arch/x86/x86/db_trace.c		ddb
92file	arch/x86/x86/efi_machdep.c	machdep
93file	arch/x86/x86/errata.c		machdep
94file	arch/x86/x86/genfb_machdep.c	machdep
95file	arch/x86/x86/identcpu.c		machdep
96file	arch/x86/x86/identcpu_subr.c	machdep
97file	arch/x86/x86/i8259.c		machdep & (!xenpv | dom0ops)
98file	arch/x86/x86/intr.c		machdep & !xenpv
99file	arch/x86/x86/x86_softintr.c	machdep
100file	arch/x86/x86/kgdb_machdep.c	kgdb
101file	arch/x86/x86/nmi.c		machdep
102file	arch/x86/x86/idt.c		machdep
103file	arch/x86/x86/ipi.c		machdep & !xenpv
104file	arch/x86/x86/mtrr_i686.c	mtrr & !xenpv
105file 	arch/x86/x86/patch.c		machdep & !xenpv
106file	dev/smbios_platform.c		machdep
107file 	arch/x86/x86/pmap.c		machdep
108file 	arch/x86/x86/x86_tlb.c		machdep
109file	arch/x86/x86/procfs_machdep.c	procfs
110file 	arch/x86/x86/svs.c		machdep & svs
111file	arch/x86/x86/sys_machdep.c	machdep
112file	arch/x86/x86/syscall.c		machdep
113file	arch/x86/x86/tsc.c		machdep
114file	arch/x86/x86/vm_machdep.c	machdep
115file	arch/x86/x86/x86_autoconf.c	machdep & !xenpv
116file	arch/x86/x86/x86_userconf.c	userconf
117file	arch/x86/x86/x86_machdep.c	machdep
118
119file 	uvm/pmap/pmap_pvt.c		machdep
120
121file	arch/x86/x86/cpu_ucode.c	cpu_ucode needs-flag
122file	arch/x86/x86/cpu_ucode_amd.c	cpu_ucode needs-flag
123file	arch/x86/x86/cpu_ucode_intel.c	cpu_ucode needs-flag
124file    arch/x86/x86/compat_60_cpu_ucode.c	compat_60 & cpu_ucode
125
126define	lapic
127file	arch/x86/x86/lapic.c		lapic needs-flag
128
129device	ioapic: lapic
130attach	ioapic at ioapicbus
131file	arch/x86/x86/ioapic.c		ioapic needs-flag
132
133# MP configuration using Intel SMP specification 1.4
134file 	arch/x86/x86/mpbios.c		mpbios
135
136# MP configuration using either ACPI or Intel SMP specification 1.4
137file 	arch/x86/x86/mp.c		acpi | mpbios
138
139# MP configuration using ACPI
140file 	arch/x86/x86/mpacpi.c		acpi
141
142file	arch/x86/acpi/acpi_pdc.c	acpi
143file	arch/x86/acpi/acpi_wakeup.c	acpi & !xenpv
144file	arch/x86/acpi/acpi_machdep.c	acpi
145
146file	arch/x86/isa/isa_machdep.c	isa
147
148# PC clock
149file 	arch/x86/isa/clock.c	!xenpv
150file	arch/x86/isa/rtc.c  	isa
151
152# Stubs for x86 routines not included in the system
153file	arch/x86/x86/x86_stub.c
154
155# IPMI device
156file	arch/x86/x86/x86_ipmi.c		ipmi needs-flag
157
158file	arch/x86/x86/vga_post.c		vga_post
159
160file	arch/x86/pci/pci_machdep.c	pci
161#file	arch/x86/pci/pci_ranges.c	pci
162file	arch/x86/pci/pci_intr_machdep.c	pci
163file	arch/x86/pci/pci_msi_machdep.c	pci & ! no_pci_msi_msix
164file	arch/x86/pci/msipic.c		pci & ! no_pci_msi_msix
165
166file	arch/x86/pci/pciide_machdep.c	pciide_common
167
168file	arch/x86/pci/pci_bus_fixup.c	pci_bus_fixup
169file	arch/x86/pci/pci_addr_fixup.c	pci_addr_fixup
170
171# AES-NI
172include "crypto/aes/arch/x86/files.aesni"
173
174# VIA ACE
175include "crypto/aes/arch/x86/files.aesvia"
176
177# Bitsliced AES with SSE2
178include "crypto/aes/arch/x86/files.aessse2"
179
180# Permutation-based AES with PSHUFB
181include "crypto/aes/arch/x86/files.aesssse3"
182
183# ChaCha with SSE2
184include "crypto/chacha/arch/x86/files.chacha_x86"
185