blob: 863fabc589b8ae4041a190abac4083d15ccb32b6 [file] [log] [blame]
Stefan Reinauer181b7732015-03-15 19:23:50 +01001ifeq ($(CONFIG_ARCH_ROMSTAGE_X86_32)$(CONFIG_ARCH_ROMSTAGE_X86_64),y)
Kyösti Mälkki87acccc2014-12-19 09:19:29 +02002romstage-$(CONFIG_CACHE_AS_RAM) += car.c
Julius Wernerd84afd3e2013-11-13 16:06:34 -08003endif
Aaron Durbine0785c02013-10-21 12:15:29 -05004
5subdirs-$(CONFIG_PARALLEL_MP) += name
6ramstage-$(CONFIG_PARALLEL_MP) += mp_init.c
Aaron Durbinc34713d2014-02-25 20:36:56 -06007ramstage-$(CONFIG_MIRROR_PAYLOAD_TO_RAM_BEFORE_LOADING) += mirror_payload.c
Aaron Durbine0785c02013-10-21 12:15:29 -05008
9SIPI_ELF=$(obj)/cpu/x86/sipi_vector.elf
Aaron Durbin3eb8eb72014-03-10 16:13:58 -050010SIPI_RMOD=$(SIPI_ELF).rmod
Aaron Durbine0785c02013-10-21 12:15:29 -050011SIPI_BIN=$(SIPI_ELF:.elf=)
12SIPI_DOTO=$(SIPI_ELF:.elf=.o)
13
14ifeq ($(CONFIG_PARALLEL_MP),y)
Patrick Georgif4305462015-04-03 10:39:05 +020015ramstage-srcs += $(SIPI_BIN).manual
Aaron Durbine0785c02013-10-21 12:15:29 -050016endif
Furquan Shaikh133096b2014-07-31 09:28:55 -070017rmodules_$(ARCH-ramstage-y)-$(CONFIG_PARALLEL_MP) += sipi_vector.S
Aaron Durbine0785c02013-10-21 12:15:29 -050018
Furquan Shaikh133096b2014-07-31 09:28:55 -070019$(SIPI_DOTO): $(dir $(SIPI_ELF))sipi_vector.rmodules_$(ARCH-ramstage-y).o
20 $(CC_rmodules_$(ARCH-ramstage-y)) $(CFLAGS_rmodules_$(ARCH-ramstage-y)) -nostdlib -r -o $@ $^
Aaron Durbine0785c02013-10-21 12:15:29 -050021
Stefan Reinauer181b7732015-03-15 19:23:50 +010022ifeq ($(CONFIG_ARCH_RAMSTAGE_X86_32),y)
Aaron Durbindde76292015-09-05 12:59:26 -050023$(eval $(call rmodule_link,$(SIPI_ELF), $(SIPI_DOTO), 0,x86_32))
Stefan Reinauer181b7732015-03-15 19:23:50 +010024else
Aaron Durbindde76292015-09-05 12:59:26 -050025$(eval $(call rmodule_link,$(SIPI_ELF), $(SIPI_DOTO), 0,x86_64))
Stefan Reinauer181b7732015-03-15 19:23:50 +010026endif
Aaron Durbine0785c02013-10-21 12:15:29 -050027
Aaron Durbin3eb8eb72014-03-10 16:13:58 -050028$(SIPI_BIN): $(SIPI_RMOD)
Furquan Shaikh99ac98f2014-04-23 10:18:48 -070029 $(OBJCOPY_ramstage) -O binary $< $@
Aaron Durbine0785c02013-10-21 12:15:29 -050030
Patrick Georgif4305462015-04-03 10:39:05 +020031$(SIPI_BIN).ramstage.manual: $(SIPI_BIN)
Aaron Durbine0785c02013-10-21 12:15:29 -050032 @printf " OBJCOPY $(subst $(obj)/,,$(@))\n"
Stefan Reinauer593f5c82015-07-30 18:03:18 -070033 cd $(dir $@); $(OBJCOPY_rmodules_$(ARCH-ramstage-y)) -I binary $(notdir $<) $(target-objcopy) $(notdir $@)