# -*- makefile -*-
-SUBSYSTEMS = JABI ABI DRIVERS KERNEL CRT0 BOOT LIBK LIBAMM \
+include $(srcdir)/Modules.generic
+
+SUBSYSTEMS = JABI ABI DRIVERS KERNEL CRT0 BOOT LIBK \
CHECKSUM CXXLIB MINILIBC LIBKERN TCBOFFSET SYMBOLS VERSION GBLCFG
ifeq ("$(CONFIG_GSTABS)","y")
VPATH += kern/$(CONFIG_XARCH) kern/ia32/64 kern/ia32 kern
PRIVATE_INCDIR += kern/$(CONFIG_XARCH) kern/ia32/64 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 \
+INTERFACES_KERNEL += __main acpi io_apic dirq_pic_pin dirq_io_apic \
+ io_space_sigma0 irq_msi io_space apic pit checksum \
+ boot_console profile x86desc gdt idt tss timer_irq
INTERFACES_KERNEL-$(CONFIG_CPU_VIRT) += svm vmx vm vm_svm vm_vmx
tb_entry_IMPL := tb_entry tb_entry-ia32-64
timer_IMPL := timer timer-ia32-amd64-ux
thread_IMPL := thread thread-ia32 thread-ia32-64 \
- thread-ipc \
- thread-list \
- thread-pagefault thread-log \
+ thread-ipc thread-pagefault thread-log \
thread-debug thread-dbf thread-ulock thread-vcpu
trap_state_IMPL := trap_state-amd64
tss_IMPL := tss-amd64
endif
ifeq ("$(CONFIG_JDB)","y")
+JDB := jdb_compound.o
+SUBSYSTEMS += JDB
VPATH += jdb/ia32/64 jdb/ia32 jdb
-INTERFACES_KERNEL += jdb jdb_util jdb_prompt_ext jdb_symbol jdb_lines \
+INTERFACES_KERNEL += jdb_tbuf jdb_trace tb_entry jdb_tbuf_init
+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 \
jdb_tcb_IMPL := jdb_tcb jdb_tcb-amd64
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
endif
$(if $($(in)_IMPL),$($(in)_IMPL),$(in))))
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 \
+ $(kernel_uart_IMPL) push_console thread-dbf \
trap_state
### When testing with test threads, uncomment the following:
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)