xref: /haiku/src/system/kernel/arch/x86/Jamfile (revision 81a892eddfe7a3b4cde1cfbd3f96aa1ed0d3f576)
1338b8dc3SIngo WeinholdSubDir HAIKU_TOP src system kernel arch x86 ;
22d690920SAxel Dörfler
3513403d4SAugustin CavalierSubDirHdrs [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR_$(TARGET_PACKAGING_ARCH))
4513403d4SAugustin Cavalier	system kernel ] ;
5513403d4SAugustin Cavalier	# for syscall_numbers.h
6036b999bSAxel DörflerSubDirHdrs $(HAIKU_TOP) src add-ons kernel bus_managers ps2 ;
78c51cca2SIngo WeinholdSubDirHdrs $(HAIKU_TOP) src add-ons kernel bus_managers acpi acpica include ;
88c51cca2SIngo WeinholdSubDirHdrs $(HAIKU_TOP) src add-ons kernel bus_managers acpi acpica include
98c51cca2SIngo Weinhold	platform ;
106e29a04dSStefano CeccheriniSubDirHdrs $(SUBDIR) timers ;
11a71974c1SIngo Weinhold
126b202f4eSIngo WeinholdUsePrivateKernelHeaders ;
1347c40a10SIngo WeinholdUsePrivateHeaders shared ;
14b19f5c83SX512UsePrivateHeaders [ FDirName system arch x86 ] ;
152d690920SAxel Dörfler
16fe2bcea7Smilek7SEARCH_SOURCE += [ FDirName $(SUBDIR) $(DOTDOT) generic ] ;
171b3e83adSIngo WeinholdSEARCH_SOURCE += [ FDirName $(SUBDIR) paging ] ;
186e29a04dSStefano CeccheriniSEARCH_SOURCE += [ FDirName $(SUBDIR) timers ] ;
196e29a04dSStefano Ceccherini
20020a25ceSAlex Smithlocal archSpecificSources ;
21020a25ceSAlex Smithif $(TARGET_ARCH) = x86_64 {
22020a25ceSAlex Smith	SEARCH_SOURCE += [ FDirName $(SUBDIR) 64 ] ;
23950b24e3SAlex Smith	SEARCH_SOURCE += [ FDirName $(SUBDIR) paging 64bit ] ;
241b3e83adSIngo Weinhold
25020a25ceSAlex Smith	archSpecificSources =
264304bb98SAlex Smith		arch.S
271eba4077SPaweł Dziepak		cpuid.cpp
28d2a1be1cSAlex Smith		descriptors.cpp
2926e0b0c8SAugustin Cavalier		errata.cpp
304f419b51SAlex Smith		interrupts.S
31370ab57dSAlex Smith		signals.cpp
32370ab57dSAlex Smith		syscalls.cpp
33b5c9d24aSAlex Smith		thread.cpp
34950b24e3SAlex Smith
35950b24e3SAlex Smith		# paging
36d687d8acSAlex Smith		x86_physical_page_mapper_mapped.cpp
37950b24e3SAlex Smith
38950b24e3SAlex Smith		# paging/64bit
39950b24e3SAlex Smith		X86PagingMethod64Bit.cpp
40950b24e3SAlex Smith		X86PagingStructures64Bit.cpp
41950b24e3SAlex Smith		X86VMTranslationMap64Bit.cpp
42020a25ceSAlex Smith	;
43020a25ceSAlex Smith} else {
44020a25ceSAlex Smith	SEARCH_SOURCE += [ FDirName $(SUBDIR) 32 ] ;
45950b24e3SAlex Smith	SEARCH_SOURCE += [ FDirName $(SUBDIR) paging 32bit ] ;
46950b24e3SAlex Smith	SEARCH_SOURCE += [ FDirName $(SUBDIR) paging pae ] ;
47020a25ceSAlex Smith
48020a25ceSAlex Smith	archSpecificSources =
494ebc6dfaSAlex Smith		apm.cpp
504e8fbfb2SAlex Smith		arch.S
514ebc6dfaSAlex Smith		bios.cpp
524304bb98SAlex Smith		cpuid.S
53d2a1be1cSAlex Smith		descriptors.cpp
5426e0b0c8SAugustin Cavalier		errata.cpp
554f419b51SAlex Smith		interrupts.S
56370ab57dSAlex Smith		signals.cpp
57370ab57dSAlex Smith		signals_asm.S
58370ab57dSAlex Smith		syscalls.cpp
59370ab57dSAlex Smith		syscalls_asm.S
60b5c9d24aSAlex Smith		thread.cpp
614f419b51SAlex Smith
621b3e83adSIngo Weinhold		# paging
6347c40a10SIngo Weinhold		x86_physical_page_mapper_large_memory.cpp
64a71974c1SIngo Weinhold
651b3e83adSIngo Weinhold		# paging/32bit
661b3e83adSIngo Weinhold		X86PagingMethod32Bit.cpp
67f0675bf7SIngo Weinhold		X86PagingStructures32Bit.cpp
681c7fda89SIngo Weinhold		X86VMTranslationMap32Bit.cpp
691b3e83adSIngo Weinhold
705b4d62a2SIngo Weinhold		# paging/pae
715b4d62a2SIngo Weinhold		X86PagingMethodPAE.cpp
725b4d62a2SIngo Weinhold		X86PagingStructuresPAE.cpp
735b4d62a2SIngo Weinhold		X86VMTranslationMapPAE.cpp
74020a25ceSAlex Smith	;
75020a25ceSAlex Smith}
76020a25ceSAlex Smith
77020a25ceSAlex Smithlocal archGenericSources =
78a2021292SJérôme Duval	arch_altcodepatch.cpp
794304bb98SAlex Smith	arch_cpu.cpp
80370ab57dSAlex Smith	arch_commpage.cpp
81bcb07a31SAlex Smith	arch_debug.cpp
82020a25ceSAlex Smith	arch_debug_console.cpp
833b802628SAlex Smith	arch_elf.cpp
844f419b51SAlex Smith	arch_int.cpp
8584bf29f9SAlex Smith	arch_platform.cpp
86659bacacSAlex Smith	arch_real_time_clock.cpp
8776a1175dSAlex Smith	arch_smp.cpp
88659bacacSAlex Smith	arch_system_info.cpp
89b5c9d24aSAlex Smith	arch_thread.cpp
90c1517626SAlex Smith	arch_timer.cpp
918a190335SAlex Smith	arch_user_debugger.cpp
924988ca58SAlex Smith	arch_vm.cpp
93950b24e3SAlex Smith	arch_vm_translation_map.cpp
94c1517626SAlex Smith	apic.cpp
95fa6327c9SAlex Smith	ioapic.cpp
96fe2bcea7Smilek7	acpi_irq_routing_table.cpp
972865db34SAlex Smith	msi.cpp
984f419b51SAlex Smith	pic.cpp
99950b24e3SAlex Smith
100*81a892edSAlexander von Gluck IV	# serial
101*81a892edSAlexander von Gluck IV	debug_uart.cpp
102*81a892edSAlexander von Gluck IV	debug_uart_8250.cpp
103*81a892edSAlexander von Gluck IV
104950b24e3SAlex Smith	# paging
105950b24e3SAlex Smith	X86PagingMethod.cpp
106950b24e3SAlex Smith	X86PagingStructures.cpp
107950b24e3SAlex Smith	X86VMTranslationMap.cpp
108c1517626SAlex Smith
109c1517626SAlex Smith	# timers
110c1517626SAlex Smith	x86_apic.cpp
111c1517626SAlex Smith	x86_hpet.cpp
112c1517626SAlex Smith	x86_pit.cpp
113020a25ceSAlex Smith;
114020a25ceSAlex Smith
115c4eec9f1SAugustin CavalierKernelMergeObject kernel_arch_$(TARGET_KERNEL_ARCH).o :
116020a25ceSAlex Smith	$(archSpecificSources)
117020a25ceSAlex Smith	$(archGenericSources)
1182d690920SAxel Dörfler	:
119a8f9741cSMichael Lotz	$(TARGET_KERNEL_PIC_CCFLAGS)
1202d690920SAxel Dörfler;
1212d690920SAxel Dörfler
1227aa55747SAugustin CavalierCreateAsmStructOffsetsHeader asm_offsets.h : asm_offsets.cpp : $(TARGET_KERNEL_ARCH) ;
12334b3b26bSIngo Weinhold
1242d690920SAxel Dörfler# We need to specify the dependency on the generated syscalls file explicitly.
125370ab57dSAlex SmithIncludes [ FGristFiles interrupts.S arch.S signals.cpp signals_asm.S ]
126b0944c78SIngo Weinhold	: <syscalls!$(TARGET_PACKAGING_ARCH)>syscall_numbers.h ;
127370ab57dSAlex SmithIncludes [ FGristFiles interrupts.S ]
128b0944c78SIngo Weinhold	: <syscalls!$(TARGET_PACKAGING_ARCH)>syscall_table.h ;
129