]> rtime.felk.cvut.cz Git - l4.git/blobdiff - kernel/fiasco/src/Modules.ia32
update
[l4.git] / kernel / fiasco / src / Modules.ia32
index 17c2ea22d7b60a687c65499ea7801ce617a186b8..7629d8040f5fa4192735b2502e7755204c136314 100644 (file)
@@ -1,5 +1,7 @@
 # -*- makefile -*-
 
+include $(srcdir)/Modules.generic
+
 SUBSYSTEMS = JABI ABI DRIVERS KERNEL CRT0 BOOT LIBK LIBAMM \
             CHECKSUM CXXLIB MINILIBC LIBKERN TCBOFFSET SYMBOLS VERSION GBLCFG
 
@@ -17,6 +19,7 @@ OBJ_SPACE-  = virt
 OBJ_SPACE   = $(OBJ_SPACE-$(CONFIG_DISABLE_VIRT_OBJ_SPACE))
 
 PREPROCESS_PARTS += obj_space_$(OBJ_SPACE)
+
 PREPROCESS_PARTS-$(CONFIG_MP)                += mp
 PREPROCESS_PARTS-$(CONFIG_LIST_ALLOC_SANITY) += list_alloc_debug
 PREPROCESS_PARTS-$(CONFIG_JDB)               += debug log
@@ -28,13 +31,12 @@ PREPROCESS_PARTS-$(CONFIG_SCHED_HPET)        += hpet_timer
 PREPROCESS_PARTS-$(CONFIG_SERIAL)            += serial 16550
 PREPROCESS_PARTS-$(CONFIG_WATCHDOG)          += watchdog
 PREPROCESS_PARTS-$(CONFIG_PERF_CNT)          += perf_cnt
-PREPROCESS_PARTS-$(CONFIG_HANDLE_SEGMENTS)   += segments
 PREPROCESS_PARTS-$(CONFIG_IO_PROT)           += io
-PREPROCESS_PARTS-$(CONFIG_IO_PROT_IOPL_3)    += iopl3
-PREPROCESS_PARTS-$(CONFIG_SVM)               += svm
+PREPROCESS_PARTS-$(CONFIG_CPU_VIRT)          += svm vmx
 PREPROCESS_PARTS-$(CONFIG_SCHED_FIXED_PRIO)  += sched_fixed_prio
 PREPROCESS_PARTS-$(CONFIG_SCHED_WFQ)         += sched_wfq
 PREPROCESS_PARTS-$(CONFIG_SCHED_FP_WFQ)      += sched_fp_wfq
+PREPROCESS_PARTS-$(CONFIG_IO_PROT_IOPL_3)    += iopl3
 
 PREPROCESS_PARTS        += $(PREPROCESS_PARTS-y)
 
@@ -51,7 +53,7 @@ VPATH                 += abi/$(CONFIG_XARCH) abi
 INTERFACES_ABI         := l4_fpage l4_msg_item l4_buf_desc kip l4_types \
                           l4_error virt
 
-kip_IMPL               := kip kip-ia32 kip-debug kip-ia32-debug
+kip_IMPL               := kip kip-debug kip-ia32 kip-ia32-debug
 l4_types_IMPL          := l4_types l4_types-debug
 virt_IMPL              := virt-ia32-amd64
 
@@ -87,59 +89,33 @@ processor_IMPL              := processor processor-ia32
 # KERNEL subsystem
 #
 KERNEL                 := fiasco.image
-VPATH                  += kern/$(CONFIG_XARCH) kern/shared kern/ia32/32 kren/ia32 kern
-PRIVATE_INCDIR         += kern/$(CONFIG_XARCH) kern/shared kern/ia32/32 kern/ia32 kern 
-
-INTERFACES_KERNEL      := cpu_mask rcupdate pages kobject_mapdb \
-                          mem_region per_cpu_data startup boot_info cmdline \
-                          __main queue queue_item l4_buf_iter irq_pin \
-                          bitmap acpi io_apic mapping spin_lock \
-                          mapping_tree mappable dbg_page_info  \
-                          mapdb region pic dirq_pic_pin dirq_io_apic \
-                          kobject_dbg kobject ready_queue_wfq ready_queue_fp \
-                          obj_space ptab_base io_space_sigma0 irq_msi \
-                          io_space ram_quota ref_ptr ref_obj     \
-                          mem_space mem_space_sigma0 space vlog        \
-                          kmem kmem_alloc slab_cache_anon mem_layout        \
-                          kmem_slab_simple kmem_slab switch_lock kip_init   \
-                          thread_lock helping_lock cpu_lock timer timeout   \
-                          ipc_timeout timeslice_timeout    \
-                          per_cpu_data_alloc vcpu kobject_helper icu_helper \
-                          thread_state context mp_lock sender receiver      \
-                          mem_unit factory lock ipc_sender \
-                          thread syscalls kernel_thread map_util irq banner \
-                          warn app_cpu_thread                               \
-                          dirq globals apic watchdog kernel_uart pit        \
-                          checksum main config mapped_alloc      \
-                          vmem_alloc paging fpu fpu_state fpu_alloc cpu     \
-                          entry_frame kernel_console boot_console profile   \
-                          ipc_gate task kernel_task irq_controller          \
-                          irq_chip terminate continuation       \
-                          sched_context utcb_init sys_call_page  \
-                          perf_cnt x86desc gdt idt tss trap_state      \
-                          buddy_alloc vkey kdb_ke prio_list ipi timer_irq \
-                          scheduler clock svm vm
-
-
-#ifeq ("$(CONFIG_USER_LOCKS)","y")
-  PREPROCESS_PARTS     += ulock
-  INTERFACES_KERNEL    += u_semaphore
-#endif
+VPATH                  += kern/$(CONFIG_XARCH) kern/ia32/32 kern/ia32 kern
+PRIVATE_INCDIR         += kern/$(CONFIG_XARCH) kern/ia32/32 kern/ia32 kern
+
+INTERFACES_KERNEL      += __main acpi io_apic dirq_pic_pin dirq_io_apic  \
+                          io_space_sigma0 irq_msi boot_console profile   \
+                          io_space apic pit checksum x86desc gdt idt tss \
+                          timer_irq
+
+INTERFACES_KERNEL-$(CONFIG_CPU_VIRT) += svm vmx vm vm_svm vm_vmx
+
+PREPROCESS_PARTS       += ulock
+INTERFACES_KERNEL      += u_semaphore
+
 
 apic_IMPL              := apic-ia32 apic-ia32-mp
 boot_console_IMPL      := boot_console-ia32-amd64
 boot_info_IMPL         := boot_info boot_info-ia32
+clock_IMPL              := clock clock-ia32
 config_IMPL            := config config-ia32-32 config-ia32
 context_IMPL           := context context-ia32 context-ia32-32 context-vcpu
 continuation_IMPL      := continuation-ia32-32
-clock_IMPL              := clock clock-ia32
 cpu_IMPL               := cpu cpu-ia32 cpu-32
 dirq_IMPL              := dirq dirq-ia32-ux
 dirq_pic_pin_IMPL       := dirq_pic_pin dirq_pic_pin-ia32-ux
 entry_frame_IMPL       := entry_frame entry_frame-ia32-ux \
                           entry_frame-abs-timeout-hack
 fpu_IMPL               := fpu fpu-ia32-ux fpu-ia32
-ioapic_IMPL            := ioapic-ia32
 ipi_IMPL               := ipi ipi-ia32
 kdb_ke_IMPL            := kdb_ke kdb_ke-ia32
 kernel_thread_IMPL     := kernel_thread kernel_thread-std kernel_thread-ia32
@@ -149,9 +125,8 @@ kmem_IMPL           := kmem-ia32 kmem-ia32-32
 kmem_alloc_IMPL                := kmem_alloc kmem_alloc-ia32
 main_IMPL              := main-ia32-32 main-ia32
 mapping_IMPL           := mapping-ia32-32 mapping
-mapdb_IMPL             := mapdb
 map_util_IMPL          := map_util map_util-mem map_util-io map_util-objs
-mem_layout_IMPL                := mem_layout mem_layout-ia32-32 mem_layout-ia32
+mem_layout_IMPL                := mem_layout mem_layout-ia32 mem_layout-ia32-32
 mem_space_IMPL         := mem_space mem_space-user mem_space-ia32
 mem_unit_IMPL          := mem_unit-ia32
 obj_space_IMPL          := obj_space obj_space-$(OBJ_SPACE)
@@ -172,17 +147,15 @@ tb_entry_IMPL             := tb_entry tb_entry-ia32-32
 timer_IMPL             := timer timer-ia32-amd64-ux
 thread_IMPL            := thread thread-ia32 thread-ia32-32 \
                           thread-ipc \
-                          thread-list      \
+                          thread-list \
                           thread-pagefault thread-log      \
                           thread-debug thread-dbf thread-ulock thread-vcpu
 utcb_init_IMPL         := utcb_init utcb_init-ia32
 vmem_alloc_IMPL                := vmem_alloc vmem_alloc-ia32
-vm_IMPL                        := vm-svm
+vm_factory_IMPL         := vm_factory vm_factory-ia32
 watchdog_IMPL          := watchdog watchdog-ia32
 
-ifeq ("$(CONFIG_SERIAL)","y")
-  INTERFACES_KERNEL    += uart_console
-endif
+INTERFACES_KERNEL-$(CONFIG_SERIAL) += uart_console
 
 ifeq ("$(CONFIG_PROFILE)","y")
   cpu_lock_IMPL                := cpu_lock cpu_lock-pic
@@ -251,19 +224,16 @@ jdb_screen_IMPL           := jdb_screen jdb_screen-ia32
 jdb_tcb_IMPL           := jdb_tcb jdb_tcb-ia32-ux
 jdb_trace_set_IMPL     := jdb_trace_set jdb_trace_set-ia32-ux
 
-  ifeq ("$(CONFIG_JDB_MISC)","y")
-    INTERFACES_KERNEL  += jdb_tetris
-  endif
+INTERFACES_KERNEL-$(CONFIG_JDB_MISC)   += jdb_tetris
 endif
 
 
 CXXSRC_KERNEL          := kernel_panic.cc libc_backend_lock.cc
-ASSRC_KERNEL           := entry.S entry-native.S \
-                           sys_call_page-asm.S 
-ifeq ($(CONFIG_MP),y)
-ASSRC_KERNEL           += tramp-mp.S entry-mp.S
-endif
+ASSRC_KERNEL           := entry.S entry-native.S sys_call_page-asm.S
 
+ASSRC_KERNEL-$(CONFIG_MP)               += tramp-mp.S entry-mp.S
+ASSRC_KERNEL-$(CONFIG_CPU_VIRT)         += vm_svm_asm.S vm_vmx_asm.S
+ASSRC_KERNEL                            += $(ASSRC_KERNEL-y)
 
 NOOPT                  += $(filter jdb%,\
                             $(foreach in,$(INTERFACES_KERNEL), \
@@ -488,3 +458,5 @@ endif
 endif
 
 MODULES_FILES = $(MODULES_FILE) $(MODULES_FILE_BSP)
+
+INTERFACES_KERNEL       += $(INTERFACES_KERNEL-y)