diff options
Diffstat (limited to 'src/arch')
-rw-r--r-- | src/arch/i386/Kconfig | 4 | ||||
-rw-r--r-- | src/arch/i386/Makefile.inc | 21 |
2 files changed, 25 insertions, 0 deletions
diff --git a/src/arch/i386/Kconfig b/src/arch/i386/Kconfig index 1bbeca513d..d64eb7f28e 100644 --- a/src/arch/i386/Kconfig +++ b/src/arch/i386/Kconfig @@ -49,6 +49,10 @@ config BIG_BOOTBLOCK default n if TINY_BOOTBLOCK default y +config ROMCC + bool + default n + config BOOTBLOCK_NORTHBRIDGE_INIT string diff --git a/src/arch/i386/Makefile.inc b/src/arch/i386/Makefile.inc index 5f7bab600e..b46fc8cfb5 100644 --- a/src/arch/i386/Makefile.inc +++ b/src/arch/i386/Makefile.inc @@ -66,6 +66,27 @@ $(obj)/coreboot.a: $(objs) ifeq ($(crt0s),) $(error crt0s are empty. If your board still uses crt0-y and ldscript-y: It shouldn't, we moved away from that in r5065) endif + +OPTION_TABLE_H:= +ifeq ($(CONFIG_HAVE_OPTION_TABLE),y) +OPTION_TABLE_H:=$(obj)/option_table.h +endif + +ifeq ($(CONFIG_ROMCC),y) +ROMCCFLAGS ?= -mcpu=p2 -O2 + +$(obj)/mainboard/$(MAINBOARDDIR)/failover.inc: $(obj)/romcc $(src)/arch/i386/lib/failover.c + $(obj)/romcc $(ROMCCFLAGS) --label-prefix=failover $(INCLUDES) $(src)/arch/i386/lib/failover.c -o $@ + +$(obj)/mainboard/$(MAINBOARDDIR)/romstage.inc: $(src)/mainboard/$(MAINBOARDDIR)/romstage.c $(obj)/romcc $(OPTION_TABLE_H) $(obj)/build.h + $(obj)/romcc $(ROMCCFLAGS) $(INCLUDES) $< -o $@ + +else +$(obj)/mainboard/$(MAINBOARDDIR)/romstage.inc: $(src)/mainboard/$(MAINBOARDDIR)/romstage.c $(OPTION_TABLE_H) $(obj)/build.h + $(CC) $(DISTRO_CFLAGS) $(CFLAGS) $(CPPFLAGS) $(DEBUG_CFLAGS) -I$(src) -I. -c -S $< -o $@ + perl -e 's/\.rodata/.rom.data/g' -pi $@ + perl -e 's/\.text/.section .rom.text/g' -pi $@ +endif endif ifeq ($(CONFIG_TINY_BOOTBLOCK),y) |