]> rtime.felk.cvut.cz Git - l4.git/blobdiff - kernel/fiasco/src/Modules.ia32
update
[l4.git] / kernel / fiasco / src / Modules.ia32
index d0c8129e622403063d98ac4b1476e4b90f3817df..3666aece3a08722b1fcdfeb4a0392212f7ce50c8 100644 (file)
@@ -1,7 +1,9 @@
 # -*- makefile -*-
 
-SUBSYSTEMS = JABI ABI DRIVERS KERNEL CRT0 BOOT LIBK LIBAMM \
-            CHECKSUM CXXLIB MINILIBC LIBKERN TCBOFFSET SYMBOLS VERSION GBLCFG
+include $(srcdir)/Modules.generic
+
+SUBSYSTEMS = JABI ABI DRIVERS KERNEL CRT0 BOOT LIBK \
+            CHECKSUM CXXLIB MINILIBC LIBKERN TCBOFFSET VERSION GBLCFG
 
 ifeq ("$(CONFIG_GSTABS)","y")      
   SUBSYSTEMS           += LINES
@@ -29,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_CPU_VIRT)          += 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)
 
@@ -52,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
 
@@ -88,41 +89,15 @@ 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 \
-                          perf_cnt x86desc gdt idt tss trap_state \
-                          buddy_alloc vkey kdb_ke prio_list ipi timer_irq \
-                          scheduler clock vm_factory \
-                          sys_call_page
-
-INTERFACES_KERNEL-$(CONFIG_CPU_VIRT) += svm vm vm_svm
+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
@@ -151,7 +126,7 @@ kmem_alloc_IMPL             := kmem_alloc kmem_alloc-ia32
 main_IMPL              := main-ia32-32 main-ia32
 mapping_IMPL           := mapping-ia32-32 mapping
 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)
@@ -171,9 +146,7 @@ task_IMPL           := task task-ia32-amd64
 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-pagefault thread-log      \
+                          thread-ipc 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
@@ -210,19 +183,22 @@ ifeq ("$(CONFIG_IO_PROT)","y")
 endif
 
 ifeq ("$(CONFIG_JDB)","y")
+JDB                    := jdb_compound.o
+SUBSYSTEMS             += JDB
 VPATH                  += jdb/ia32/32 jdb/ia32 jdb
-INTERFACES_KERNEL      += jdb jdb_util jdb_prompt_ext jdb_symbol jdb_lines \
+INTERFACES_KERNEL      += jdb_tbuf jdb_tbuf_init jdb_trace tb_entry 
+INTERFACES_JDB         += jdb jdb_util jdb_prompt_ext jdb_symbol jdb_lines \
                           jdb_dbinfo jdb_bp \
-                          jdb_tbuf jdb_module jdb_core jdb_io_ports \
+                          jdb_module jdb_core jdb_io_ports \
                           jdb_kern_info jdb_prompt_module jdb_tbuf_output \
                           jdb_input jdb_dump jdb_ptab jdb_misc jdb_mapdb \
-                          jdb_tcb jdb_attach_irq jdb_tbuf_init jdb_trace \
+                          jdb_tcb jdb_attach_irq \
                           jdb_trace_set jdb_counters jdb_table kern_cnt  \
-                          tb_entry tb_entry_output jdb_exit_module \
-                          jdb_tbuf_show jdb_console_buffer virq \
+                          tb_entry_output jdb_exit_module \
+                          jdb_tbuf_show jdb_console_buffer \
                           jdb_list jdb_screen push_console jdb_timeout \
                           jdb_handler_queue jdb_halt_thread \
-                          jdb_kern_info_kmem_alloc jdb_kern_info_region \
+                          jdb_kern_info_kmem_alloc \
                           jdb_kern_info_kip jdb_kern_info_config \
                           loadcnt jdb_utcb jdb_thread_list \
                           jdb_entry_frame jdb_kobject jdb_space jdb_io_apic \
@@ -249,7 +225,9 @@ 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
 
-INTERFACES_KERNEL-$(CONFIG_JDB_MISC)   += jdb_tetris
+INTERFACES_JDB-$(CONFIG_JDB_MISC)      += jdb_tetris
+
+INTERFACES_JDB         += $(INTERFACES_JDB-y)
 endif
 
 
@@ -257,7 +235,7 @@ CXXSRC_KERNEL               := kernel_panic.cc libc_backend_lock.cc
 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
+ASSRC_KERNEL-$(CONFIG_CPU_VIRT)         += vm_svm_asm.S vm_vmx_asm.S
 ASSRC_KERNEL                            += $(ASSRC_KERNEL-y)
 
 NOOPT                  += $(filter jdb%,\
@@ -267,6 +245,9 @@ NOOPT                       += tb_entry_output $(tb_entry_IMPL) $(perf_cnt_IMPL)  \
                           kern_cnt loadcnt $(apic_IMPL) $(watchdog_IMPL) kdb \
                           $(kernel_uart_IMPL) push_console virq thread-dbf   \
                           trap_state
+NOOPT                  += $(foreach in,$(INTERFACES_JDB), \
+                              $(if $($(in)_IMPL),$($(in)_IMPL),$(in)))
+
 
 ### When testing with test threads, uncomment the following:
 #
@@ -370,17 +351,6 @@ PRIVATE_INCDIR     += lib/kern/include
 CSRC_LIBKERN   :=
 NOOPT          += $(patsubst %.o, %, $(OBJ_LIBKERN))
 
-#
-# LIBAMM subsystem
-#
-LIBAMM         := libamm.a
-VPATH          += lib/amm
-PRIVATE_INCDIR += lib/amm
-CSRC_LIBAMM    := amm_alloc_entry.c amm_allocate.c amm_deallocate.c \
-                  amm_destroy.c amm_dump.c amm_find_addr.c amm_find_gen.c \
-                  amm_free_entry.c amm_init.c amm_init_gen.c amm_iterate.c \
-                  amm_iterate_gen.c amm_join.c amm_modify.c amm_protect.c \
-                  amm_reserve.c amm_select.c amm_split.c
 
 #
 # LIBGZIP subsystem (only for Jdb)