1 #
2 # CDDL HEADER START
3 #
4 # The contents of this file are subject to the terms of the
5 # Common Development and Distribution License (the "License").
6 # You may not use this file except in compliance with the License.
7 #
8 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 # or http://www.opensolaris.org/os/licensing.
10 # See the License for the specific language governing permissions
11 # and limitations under the License.
12 #
13 # When distributing Covered Code, include this CDDL HEADER in each
14 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 # If applicable, add the following below this CDDL HEADER, with the
16 # fields enclosed by brackets "[]" replaced with your own identifying
17 # information: Portions Copyright [yyyy] [name of copyright owner]
18 #
19 # CDDL HEADER END
20 #
21
22 #
23 # Copyright (c) 1992, 2010, Oracle and/or its affiliates. All rights reserved.
24 #
25 # Copyright (c) 2010, Intel Corporation.
26 #
27 # This Makefile defines file modules in the directory uts/i86pc
28 # and its children. These are the source files which are i86pc
29 # "implementation architecture" dependent.
30 #
31
32 #
33 # object lists
34 #
35 CORE_OBJS += \
36 acpi_stubs.o \
37 biosdisk.o \
38 bios_call.o \
39 cbe.o \
40 cmi.o \
41 cmi_hw.o \
42 cms.o \
43 confunix.o \
44 cpu_idle.o \
45 cpuid.o \
46 cpuid_subr.o \
47 cpupm.o \
48 cpupm_mach.o \
49 cpupm_amd.o \
50 cpupm_intel.o \
51 cpupm_throttle.o \
52 cpu_acpi.o \
53 dis_tables.o \
54 ddi_impl.o \
55 dtrace_subr.o \
56 dvma.o \
57 fpu_subr.o \
58 fakebop.o \
59 fastboot.o \
60 fb_swtch.o \
61 graphics.o \
62 hardclk.o \
63 hat_i86.o \
64 hat_kdi.o \
65 hment.o \
66 hold_page.o \
67 hrtimers.o \
68 htable.o \
69 hypercall.o \
70 hypersubr.o \
71 i86_mmu.o \
72 ibft.o \
73 instr_size.o \
74 intr.o \
75 kboot_mmu.o \
76 kdi_subr.o \
77 kdi_idt.o \
78 kdi_idthdl.o \
79 kdi_asm.o \
80 lgrpplat.o \
81 mach_kdi.o \
82 mach_sysconfig.o \
83 machdep.o \
84 mem_config.o \
85 mem_config_stubs.o \
86 mem_config_arch.o \
87 memlist_new.o \
88 memnode.o \
89 microcode.o \
90 microfind.o \
91 mlsetup.o \
92 mp_call.o \
93 mp_implfuncs.o \
94 mp_machdep.o \
95 mp_pc.o \
96 mp_startup.o \
97 memscrub.o \
98 mpcore.o \
99 notes.o \
100 pci_bios.o \
101 pci_cfgacc.o \
102 pci_cfgacc_x86.o \
103 pci_cfgspace.o \
104 pci_mech1.o \
105 pci_mech1_amd.o \
106 pci_mech2.o \
107 pci_neptune.o \
108 pci_orion.o \
109 pmem.o \
110 ppage.o \
111 pwrnow.o \
112 speedstep.o \
113 startup.o \
114 timestamp.o \
115 todpc_subr.o \
116 trap.o \
117 vm_machdep.o \
118 xpv_platform.o \
119 x_call.o
120
121 #
122 # Add the SMBIOS subsystem object files directly to the list of objects
123 # built into unix itself; this is all common code except for smb_dev.c.
124 #
125 CORE_OBJS += $(SMBIOS_OBJS)
126
127 #
128 # These get compiled twice:
129 # - once in the dboot (direct boot) identity mapped code
130 # - once for use during early startup in unix
131 #
132 BOOT_DRIVER_OBJS = \
133 boot_console.o \
134 boot_keyboard.o \
135 boot_keyboard_table.o \
136 boot_vga.o \
137 boot_mmu.o
138
139 CORE_OBJS += $(BOOT_DRIVER_OBJS)
140
141 #
142 # locore.o is special. It must be the first file relocated so that it
143 # it is relocated just where its name implies.
144 #
145 SPECIAL_OBJS_32 += \
146 locore.o \
147 fast_trap_asm.o \
148 interrupt.o \
149 syscall_asm.o
150
151 SPECIAL_OBJS_64 += \
152 locore.o \
153 fast_trap_asm.o \
154 interrupt.o \
155 syscall_asm_amd64.o
156
157 SPECIAL_OBJS += $(SPECIAL_OBJS_$(CLASS))
158
159 #
160 # Objects that get compiled into the identity mapped PT_LOAD section of unix
161 # to handle the earliest part of booting.
162 #
163 DBOOT_OBJS_32 =
164
165 DBOOT_OBJS_64 += dboot_elfload.o
166
167 DBOOT_OBJS += \
168 dboot_asm.o \
169 dboot_grub.o \
170 dboot_printf.o \
171 dboot_startkern.o \
172 memcpy.o \
173 memset.o \
174 muldiv.o \
175 string.o \
176 $(BOOT_DRIVER_OBJS) \
177 $(DBOOT_OBJS_$(CLASS))
178
179 #
180 # driver and misc modules
181 #
182 GFX_PRIVATE_OBJS += gfx_private.o gfxp_pci.o gfxp_segmap.o \
183 gfxp_devmap.o gfxp_vgatext.o gfxp_vm.o vgasubr.o
184 FIPE_OBJS += fipe_drv.o fipe_pm.o
185 IOAT_OBJS += ioat.o ioat_rs.o ioat_ioctl.o ioat_chan.o
186 ISANEXUS_OBJS += isa.o dma_engine.o i8237A.o
187 PCIE_MISC_OBJS += pcie_acpi.o pciehpc_acpi.o pcie_x86.o
188 PCI_E_NEXUS_OBJS += npe.o npe_misc.o
189 PCI_E_NEXUS_OBJS += pci_common.o pci_kstats.o pci_tools.o
190 PCINEXUS_OBJS += pci.o pci_common.o pci_kstats.o pci_tools.o
191 PCPLUSMP_OBJS += apic.o apic_regops.o psm_common.o apic_introp.o \
192 mp_platform_common.o mp_platform_misc.o \
193 hpet_acpi.o apic_common.o apic_timer.o
194 APIX_OBJS += apix.o apic_regops.o psm_common.o apix_intr.o apix_utils.o \
195 apix_irm.o mp_platform_common.o hpet_acpi.o apic_common.o \
196 apic_timer.o
197
198
199 ACPI_DRV_OBJS += acpi_drv.o acpi_video.o
200 ACPINEX_OBJS += acpinex_drv.o acpinex_event.o
201
202 CPUDRV_OBJS += \
203 cpudrv.o \
204 cpudrv_mach.o
205
206 PPM_OBJS += ppm_subr.o ppm.o ppm_plat.o
207
208 ACPIPPM_OBJS += acpippm.o acpisleep.o
209 ACPIDEV_OBJS += acpidev_drv.o \
210 acpidev_scope.o acpidev_device.o \
211 acpidev_container.o \
212 acpidev_cpu.o \
213 acpidev_dr.o \
214 acpidev_memory.o \
215 acpidev_pci.o \
216 acpidev_resource.o \
217 acpidev_util.o
218
219 DRMACH_ACPI_OBJS += drmach_acpi.o dr_util.o drmach_err.o
220
221 DR_OBJS += dr.o dr_cpu.o dr_err.o dr_io.o dr_mem_acpi.o dr_quiesce.o dr_util.o
222
223 ROOTNEX_OBJS += rootnex.o immu.o immu_dmar.o immu_dvma.o \
224 immu_intrmap.o immu_qinv.o immu_regs.o
225
226 TZMON_OBJS += tzmon.o
227 UPPC_OBJS += uppc.o psm_common.o
228 XSVC_OBJS += xsvc.o
229 AMD_IOMMU_OBJS += amd_iommu.o amd_iommu_impl.o amd_iommu_acpi.o \
230 amd_iommu_cmd.o amd_iommu_log.o amd_iommu_page_tables.o
231
232 #
233 # Build up defines and paths.
234 #
235 ALL_DEFS += -Di86pc
236 INC_PATH += -I$(UTSBASE)/i86pc -I$(SRC)/common
237 INC_PATH += -I$(UTSBASE)/i86xpv -I$(UTSBASE)/common/xen
238
239 #
240 # Since the assym files are derived, the dependencies must be explicit for
241 # all files including this file. (This is only actually required in the
242 # instance when the .nse_depinfo file does not exist.) It may seem that
243 # the lint targets should also have a similar dependency, but they don't
244 # since only C headers are included when #defined(__lint) is true.
245 #
246
247 ASSYM_DEPS += \
248 copy.o \
249 desctbls_asm.o \
250 ddi_i86_asm.o \
251 exception.o \
252 fast_trap_asm.o \
253 float.o \
254 i86_subr.o \
255 interrupt.o \
256 lock_prim.o \
257 locore.o \
258 mpcore.o \
259 sseblk.o \
260 swtch.o \
261 syscall_asm.o \
262 syscall_asm_amd64.o \
263 cpr_wakecode.o
264
265 CPR_IMPL_OBJS = cpr_impl.o cpr_wakecode.o
266
267 $(KDI_ASSYM_DEPS:%=$(OBJS_DIR)/%): $(DSF_DIR)/$(OBJS_DIR)/kdi_assym.h
268
269 ASSYM_DEPS += kdi_asm.o
Cache object: 9a1ccb32426fa8e7860e53ae6fd90f11
|