diff options
| -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 |