Skip to content

Commit 4add405

Browse files
mingqiangchiacrnsi
authored andcommitted
hv:build system initialization to sys_init_mod.a
support compiling system initialization code to sys_init_mod.a Tracked-On: #1842 Signed-off-by: Mingqiang Chi <mingqiang.chi@intel.com> Reviewed-by: Jason Chen CJ <jason.cj.chen@intel.com>
1 parent 5abca94 commit 4add405

File tree

1 file changed

+11
-12
lines changed

1 file changed

+11
-12
lines changed

hypervisor/Makefile

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ VP_TRUSTY_MOD = $(HV_MODDIR)/vp_trusty_mod.a
2929
VP_HCALL_MOD = $(HV_MODDIR)/vp_hcall_mod.a
3030
LIB_DEBUG = $(HV_MODDIR)/libdebug.a
3131
LIB_RELEASE = $(HV_MODDIR)/librelease.a
32+
SYS_INIT_MOD = $(HV_MODDIR)/sys_init_mod.a
3233

3334
# initialize the flags we used
3435
CFLAGS :=
@@ -272,8 +273,8 @@ VP_TRUSTY_C_SRCS += arch/x86/seed/seed_sbl.c
272273
VP_HCALL_C_SRCS += arch/x86/guest/vmcall.c
273274
VP_HCALL_C_SRCS += common/hypercall.c
274275

275-
# initilization component
276-
C_SRCS += arch/x86/init.c
276+
# system initialization
277+
SYS_INIT_C_SRCS += arch/x86/init.c
277278

278279
LIB_C_OBJS := $(patsubst %.c,$(HV_OBJDIR)/%.o,$(LIB_C_SRCS))
279280
LIB_S_OBJS := $(patsubst %.S,$(HV_OBJDIR)/%.o,$(LIB_S_SRCS))
@@ -286,12 +287,11 @@ VP_BASE_S_OBJS := $(patsubst %.S,$(HV_OBJDIR)/%.o,$(VP_BASE_S_SRCS))
286287
VP_DM_C_OBJS := $(patsubst %.c,$(HV_OBJDIR)/%.o,$(VP_DM_C_SRCS))
287288
VP_TRUSTY_C_OBJS := $(patsubst %.c,$(HV_OBJDIR)/%.o,$(VP_TRUSTY_C_SRCS))
288289
VP_HCALL_C_OBJS := $(patsubst %.c,$(HV_OBJDIR)/%.o,$(VP_HCALL_C_SRCS))
289-
C_OBJS := $(patsubst %.c,$(HV_OBJDIR)/%.o,$(C_SRCS))
290+
SYS_INIT_C_OBJS := $(patsubst %.c,$(HV_OBJDIR)/%.o,$(SYS_INIT_C_SRCS))
290291

291292
ifneq ($(CONFIG_RELEASE),y)
292293
CFLAGS += -DHV_DEBUG -DPROFILING_ON -fno-omit-frame-pointer
293294
endif
294-
S_OBJS := $(patsubst %.S,$(HV_OBJDIR)/%.o,$(S_SRCS))
295295
PRE_BUILD_SRCS += pre_build/static_checks.c
296296
PRE_BUILD_OBJS := $(patsubst %.c,$(HV_OBJDIR)/%.o,$(PRE_BUILD_SRCS))
297297

@@ -303,6 +303,7 @@ MOD_DEPS += vp-dm-mod
303303
MOD_DEPS += vp-trusty-mod
304304
MOD_DEPS += vp-hcall-mod
305305
MOD_DEPS += lib
306+
MOD_DEPS += sys-init-mod
306307
MODULES += $(LIB_MOD)
307308
MODULES += $(BOOT_MOD)
308309
MODULES += $(HW_MOD)
@@ -315,8 +316,7 @@ MODULES += $(LIB_RELEASE)
315316
else
316317
MODULES += $(LIB_DEBUG)
317318
endif
318-
HV_OBJS += $(C_OBJS)
319-
HV_OBJS += $(S_OBJS)
319+
MODULES += $(SYS_INIT_MOD)
320320

321321
DISTCLEAN_OBJS := $(shell find $(BASEDIR) -name '*.o')
322322
VERSION := $(HV_OBJDIR)/include/version.h
@@ -382,7 +382,7 @@ pre_build: $(PRE_BUILD_OBJS)
382382
.PHONY: header
383383
header: $(VERSION) $(HV_OBJDIR)/$(HV_CONFIG_H) $(TARGET_ACPI_INFO_HEADER)
384384

385-
.PHONY: lib-mod boot-mod hw-mod vp-base-mod vp-dm-mod vp-trusty-mod vp-hcall-mod
385+
.PHONY: lib-mod boot-mod hw-mod vp-base-mod vp-dm-mod vp-trusty-mod vp-hcall-mod sys-init-mod
386386
lib-mod: $(LIB_C_OBJS) $(LIB_S_OBJS)
387387
$(AR) $(ARFLAGS) $(LIB_MOD) $(LIB_C_OBJS) $(LIB_S_OBJS)
388388
boot-mod: $(BOOT_S_OBJS) $(BOOT_C_OBJS)
@@ -397,6 +397,9 @@ vp-trusty-mod: $(VP_TRUSTY_C_OBJS)
397397
$(AR) $(ARFLAGS) $(VP_TRUSTY_MOD) $(VP_TRUSTY_C_OBJS)
398398
vp-hcall-mod: $(VP_HCALL_C_OBJS)
399399
$(AR) $(ARFLAGS) $(VP_HCALL_MOD) $(VP_HCALL_C_OBJS)
400+
sys-init-mod: $(SYS_INIT_C_OBJS)
401+
$(AR) $(ARFLAGS) $(SYS_INIT_MOD) $(SYS_INIT_C_OBJS)
402+
400403
.PHONY: lib
401404
lib: $(SUB_MAKEFILES)
402405

@@ -412,7 +415,7 @@ $(HV_OBJDIR)/$(HV_FILE).32.out: $(HV_OBJDIR)/$(HV_FILE).out
412415
$(HV_OBJDIR)/$(HV_FILE).bin: $(HV_OBJDIR)/$(HV_FILE).out
413416
$(OBJCOPY) -O binary $< $(HV_OBJDIR)/$(HV_FILE).bin
414417

415-
$(HV_OBJDIR)/$(HV_FILE).out: $(MODULES) $(HV_OBJS)
418+
$(HV_OBJDIR)/$(HV_FILE).out: $(MODULES)
416419
${BASH} ${LD_IN_TOOL} $(ARCH_LDSCRIPT_IN) $(ARCH_LDSCRIPT) ${HV_OBJDIR}/.config
417420
$(CC) -Wl,-Map=$(HV_OBJDIR)/$(HV_FILE).map -o $@ $(LDFLAGS) $(ARCH_LDFLAGS) -T$(ARCH_LDSCRIPT) \
418421
-Wl,--start-group $^ -Wl,--end-group
@@ -421,16 +424,12 @@ $(LIB_FLAGS): lib
421424

422425
.PHONY: clean
423426
clean:
424-
rm -f $(C_OBJS)
425-
rm -f $(S_OBJS)
426427
rm -f $(VERSION)
427428
rm -rf $(HV_OBJDIR)
428429

429430
.PHONY: distclean
430431
distclean:
431432
rm -f $(DISTCLEAN_OBJS)
432-
rm -f $(C_OBJS)
433-
rm -f $(S_OBJS)
434433
rm -f $(VERSION)
435434
rm -rf $(HV_OBJDIR)
436435
rm -f tags TAGS cscope.files cscope.in.out cscope.out cscope.po.out GTAGS GPATH GRTAGS GSYMS

0 commit comments

Comments
 (0)