diff options
| author | Gabe Black <gabeblack@chromium.org> | 2012-11-29 16:23:41 +0000 | 
|---|---|---|
| committer | Simon Glass <sjg@chromium.org> | 2012-11-30 13:44:04 -0800 | 
| commit | 5b5ece9ef4ac1a859179b894c3067e2841d76472 (patch) | |
| tree | 036c632e07a534a7a5d98263e498c2d008a029ae | |
| parent | 420a2ca73f5805be5e69d01cfe60a06fba8c9754 (diff) | |
| download | olio-uboot-2014.01-5b5ece9ef4ac1a859179b894c3067e2841d76472.tar.xz olio-uboot-2014.01-5b5ece9ef4ac1a859179b894c3067e2841d76472.zip | |
x86: Allow compiling out realmode/bios code
We don't want this for coreboot, so provide a way of compiling it out.
Signed-off-by: Gabe Black <gabeblack@chromium.org>
Signed-off-by: Stefan Reinauer <reinauer@chromium.org>
Signed-off-by: Simon Glass <sjg@chromium.org>
| -rw-r--r-- | README | 6 | ||||
| -rw-r--r-- | arch/x86/lib/Makefile | 9 | ||||
| -rw-r--r-- | arch/x86/lib/video.c | 2 | ||||
| -rw-r--r-- | arch/x86/lib/zimage.c | 4 | 
4 files changed, 16 insertions, 5 deletions
| @@ -3668,6 +3668,12 @@ Low Level (hardware related) configuration options:  		If defined, the x86 reset vector code is excluded. You will need  		to do this when U-Boot is running from Coreboot. +- CONFIG_X86_NO_REAL_MODE +		If defined, x86 real mode code is omitted. This assumes a +		32-bit environment where such code is not needed. You will +		need to do this when U-Boot is running from Coreboot. + +  Freescale QE/FMAN Firmware Support:  ----------------------------------- diff --git a/arch/x86/lib/Makefile b/arch/x86/lib/Makefile index 51836dacc..4325b2502 100644 --- a/arch/x86/lib/Makefile +++ b/arch/x86/lib/Makefile @@ -25,11 +25,16 @@ include $(TOPDIR)/config.mk  LIB	= $(obj)lib$(ARCH).o +ifeq ($(CONFIG_X86_NO_REAL_MODE),)  SOBJS-$(CONFIG_SYS_PC_BIOS)	+= bios.o  SOBJS-$(CONFIG_SYS_PCI_BIOS)	+= bios_pci.o -SOBJS-$(CONFIG_SYS_X86_REALMODE)	+= realmode_switch.o +COBJS-y	+= realmode.o +SOBJS-y	+= realmode_switch.o  COBJS-$(CONFIG_SYS_PC_BIOS)	+= bios_setup.o +COBJS-$(CONFIG_VIDEO)	+= video_bios.o +endif +  COBJS-y	+= board.o  COBJS-y	+= bootm.o  COBJS-y	+= cmd_boot.o @@ -41,11 +46,9 @@ COBJS-$(CONFIG_SYS_PCAT_INTERRUPTS) += pcat_interrupts.o  COBJS-$(CONFIG_SYS_GENERIC_TIMER) += pcat_timer.o  COBJS-$(CONFIG_PCI) += pci.o  COBJS-$(CONFIG_PCI) += pci_type1.o -COBJS-$(CONFIG_SYS_X86_REALMODE)	+= realmode.o  COBJS-y	+= relocate.o  COBJS-y	+= string.o  COBJS-$(CONFIG_SYS_X86_ISR_TIMER)	+= timer.o -COBJS-$(CONFIG_VIDEO)	+= video_bios.o  COBJS-$(CONFIG_VIDEO)	+= video.o  COBJS-$(CONFIG_CMD_ZBOOT)	+= zimage.o diff --git a/arch/x86/lib/video.c b/arch/x86/lib/video.c index 3d6b24d62..20e2416ae 100644 --- a/arch/x86/lib/video.c +++ b/arch/x86/lib/video.c @@ -222,8 +222,10 @@ int video_init(void)  int drv_video_init(void)  { +#ifndef CONFIG_X86_NO_REAL_MODE  	if (video_bios_init())  		return 1; +#endif  	return video_init();  } diff --git a/arch/x86/lib/zimage.c b/arch/x86/lib/zimage.c index 22142864c..b8c672bab 100644 --- a/arch/x86/lib/zimage.c +++ b/arch/x86/lib/zimage.c @@ -171,7 +171,7 @@ struct boot_params *load_zimage(char *image, unsigned long kernel_size,  	else  		*load_address = (void *)ZIMAGE_LOAD_ADDR; -#if defined CONFIG_ZBOOT_32 +#if (defined CONFIG_ZBOOT_32 || defined CONFIG_X86_NO_REAL_MODE)  	printf("Building boot_params at 0x%8.8lx\n", (ulong)setup_base);  	memset(setup_base, 0, sizeof(*setup_base));  	setup_base->hdr = params->hdr; @@ -237,7 +237,7 @@ int setup_zimage(struct boot_params *setup_base, char *cmd_line, int auto_boot,  	struct setup_header *hdr = &setup_base->hdr;  	int bootproto = get_boot_protocol(hdr); -#if defined CONFIG_ZBOOT_32 +#if (defined CONFIG_ZBOOT_32 || defined CONFIG_X86_NO_REAL_MODE)  	setup_base->e820_entries = install_e820_map(  		ARRAY_SIZE(setup_base->e820_map), setup_base->e820_map);  #endif |