xref: /haiku/src/system/kernel/arch/x86/Jamfile (revision 659bacac269ec0992603008ef436ee20505bd67f)
1338b8dc3SIngo WeinholdSubDir HAIKU_TOP src system kernel arch x86 ;
22d690920SAxel Dörfler
3338b8dc3SIngo WeinholdSubDirHdrs [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR) system kernel ] ;
40a51327fSAxel Dörfler	# for syscall_numbers.h
5036b999bSAxel DörflerSubDirHdrs $(HAIKU_TOP) src add-ons kernel bus_managers ps2 ;
6c2507ed4SMichael LotzSubDirHdrs $(HAIKU_TOP) src add-ons kernel bus_managers acpi include ;
7c2507ed4SMichael LotzSubDirHdrs $(HAIKU_TOP) src add-ons kernel bus_managers acpi include platform ;
86e29a04dSStefano CeccheriniSubDirHdrs $(SUBDIR) timers ;
9a71974c1SIngo Weinhold
106b202f4eSIngo WeinholdUsePrivateKernelHeaders ;
1147c40a10SIngo WeinholdUsePrivateHeaders shared ;
122d690920SAxel Dörfler
131b3e83adSIngo WeinholdSEARCH_SOURCE += [ FDirName $(SUBDIR) paging ] ;
146e29a04dSStefano CeccheriniSEARCH_SOURCE += [ FDirName $(SUBDIR) timers ] ;
156e29a04dSStefano Ceccherini
16020a25ceSAlex Smithlocal archSpecificSources ;
17020a25ceSAlex Smithif $(TARGET_ARCH) = x86_64 {
18020a25ceSAlex Smith	SEARCH_SOURCE += [ FDirName $(SUBDIR) 64 ] ;
19950b24e3SAlex Smith	SEARCH_SOURCE += [ FDirName $(SUBDIR) paging 64bit ] ;
201b3e83adSIngo Weinhold
21020a25ceSAlex Smith	archSpecificSources =
224304bb98SAlex Smith		arch.S
234304bb98SAlex Smith		cpuid.S
244f419b51SAlex Smith		int.cpp
254f419b51SAlex Smith		interrupts.S
26020a25ceSAlex Smith		stubs.cpp
27b5c9d24aSAlex Smith		thread.cpp
28950b24e3SAlex Smith
29950b24e3SAlex Smith		# paging
30d687d8acSAlex Smith		x86_physical_page_mapper_mapped.cpp
31950b24e3SAlex Smith
32950b24e3SAlex Smith		# paging/64bit
33950b24e3SAlex Smith		X86PagingMethod64Bit.cpp
34950b24e3SAlex Smith		X86PagingStructures64Bit.cpp
35950b24e3SAlex Smith		X86VMTranslationMap64Bit.cpp
36020a25ceSAlex Smith	;
37020a25ceSAlex Smith} else {
38020a25ceSAlex Smith	SEARCH_SOURCE += [ FDirName $(SUBDIR) 32 ] ;
39950b24e3SAlex Smith	SEARCH_SOURCE += [ FDirName $(SUBDIR) paging 32bit ] ;
40950b24e3SAlex Smith	SEARCH_SOURCE += [ FDirName $(SUBDIR) paging pae ] ;
41020a25ceSAlex Smith
42020a25ceSAlex Smith	archSpecificSources =
434e8fbfb2SAlex Smith		arch.S
444304bb98SAlex Smith		cpuid.S
454f419b51SAlex Smith		int.cpp
464f419b51SAlex Smith		interrupts.S
47b5c9d24aSAlex Smith		thread.cpp
484f419b51SAlex Smith
4934b3b26bSIngo Weinhold		arch_commpage.cpp
50393fceb5SAxel Dörfler		arch_debug.cpp
51bd185b41SIngo Weinhold		arch_smp.cpp
522d690920SAxel Dörfler		arch_user_debugger.cpp
53afd6dfc8SAxel Dörfler		apm.cpp
542d690920SAxel Dörfler		bios.cpp
55dc14d97bSMichael Lotz		ioapic.cpp
56cb58e3f7SClemens Zeidler		irq_routing_table.cpp
5733fbe254SMichael Lotz		msi.cpp
581cbf8f4bSTravis Geiselbrecht		syscall.S
5915173df4SAxel Dörfler		vm86.cpp
6024df6592SIngo Weinhold		x86_signals.cpp
6124df6592SIngo Weinhold		x86_signals_asm.S
6224df6592SIngo Weinhold		x86_syscalls.cpp
631b3e83adSIngo Weinhold
641b3e83adSIngo Weinhold		# paging
6547c40a10SIngo Weinhold		x86_physical_page_mapper_large_memory.cpp
66a71974c1SIngo Weinhold
671b3e83adSIngo Weinhold		# paging/32bit
681b3e83adSIngo Weinhold		X86PagingMethod32Bit.cpp
69f0675bf7SIngo Weinhold		X86PagingStructures32Bit.cpp
701c7fda89SIngo Weinhold		X86VMTranslationMap32Bit.cpp
711b3e83adSIngo Weinhold
725b4d62a2SIngo Weinhold		# paging/pae
735b4d62a2SIngo Weinhold		X86PagingMethodPAE.cpp
745b4d62a2SIngo Weinhold		X86PagingStructuresPAE.cpp
755b4d62a2SIngo Weinhold		X86VMTranslationMapPAE.cpp
76020a25ceSAlex Smith	;
77020a25ceSAlex Smith}
78020a25ceSAlex Smith
79020a25ceSAlex Smithlocal archGenericSources =
804304bb98SAlex Smith	arch_cpu.cpp
81020a25ceSAlex Smith	arch_debug_console.cpp
823b802628SAlex Smith	arch_elf.cpp
834f419b51SAlex Smith	arch_int.cpp
8484bf29f9SAlex Smith	arch_platform.cpp
85*659bacacSAlex Smith	arch_real_time_clock.cpp
86*659bacacSAlex Smith	arch_system_info.cpp
87b5c9d24aSAlex Smith	arch_thread.cpp
88c1517626SAlex Smith	arch_timer.cpp
894988ca58SAlex Smith	arch_vm.cpp
90950b24e3SAlex Smith	arch_vm_translation_map.cpp
91c1517626SAlex Smith	apic.cpp
924f419b51SAlex Smith	pic.cpp
93950b24e3SAlex Smith
94950b24e3SAlex Smith	# paging
95950b24e3SAlex Smith	x86_physical_page_mapper.cpp
96950b24e3SAlex Smith	X86PagingMethod.cpp
97950b24e3SAlex Smith	X86PagingStructures.cpp
98950b24e3SAlex Smith	X86VMTranslationMap.cpp
99c1517626SAlex Smith
100c1517626SAlex Smith	# timers
101c1517626SAlex Smith	x86_apic.cpp
102c1517626SAlex Smith	x86_hpet.cpp
103c1517626SAlex Smith	x86_pit.cpp
104020a25ceSAlex Smith;
105020a25ceSAlex Smith
106020a25ceSAlex SmithKernelMergeObject kernel_arch_x86.o :
107020a25ceSAlex Smith	$(archSpecificSources)
108020a25ceSAlex Smith	$(archGenericSources)
1092d690920SAxel Dörfler	:
110a8f9741cSMichael Lotz	$(TARGET_KERNEL_PIC_CCFLAGS)
1112d690920SAxel Dörfler;
1122d690920SAxel Dörfler
11334b3b26bSIngo WeinholdCreateAsmStructOffsetsHeader asm_offsets.h : asm_offsets.cpp ;
11434b3b26bSIngo Weinhold
1152d690920SAxel Dörfler# We need to specify the dependency on the generated syscalls file explicitly.
1162d690920SAxel DörflerIncludes [ FGristFiles arch_x86.S arch_interrupts.S ]
1172d690920SAxel Dörfler	: <syscalls>syscall_numbers.h ;
11834b3b26bSIngo WeinholdIncludes [ FGristFiles arch_interrupts.S ]
11934b3b26bSIngo Weinhold	: <syscalls>syscall_table.h ;
120