[U-Boot] [PATCH 3/4] x86: Remove all real mode code
Graeme Russ
graeme.russ at gmail.com
Sun Feb 10 23:11:28 CET 2013
Hi Simon,
On Sat, Feb 9, 2013 at 3:42 AM, Simon Glass <sjg at chromium.org> wrote:
> This code is pretty old and we want to support only 32-bit systems now.
>
> Signed-off-by: Simon Glass <sjg at chromium.org>
> ---
> README | 5 -
> arch/x86/config.mk | 1 -
> arch/x86/cpu/u-boot.lds | 25 --
> arch/x86/include/asm/realmode.h | 36 ---
> arch/x86/lib/Makefile | 10 -
> arch/x86/lib/bios.S | 569 ----------------------------------------
> arch/x86/lib/bios.h | 3 -
> arch/x86/lib/bios_pci.S | 447 -------------------------------
> arch/x86/lib/bios_setup.c | 179 -------------
> arch/x86/lib/realmode.c | 93 -------
> arch/x86/lib/realmode_switch.S | 232 ----------------
> arch/x86/lib/video.c | 6 -
> arch/x86/lib/video_bios.c | 196 --------------
> arch/x86/lib/zimage.c | 23 --
> 14 files changed, 1825 deletions(-)
> delete mode 100644 arch/x86/include/asm/realmode.h
> delete mode 100644 arch/x86/lib/bios.S
> delete mode 100644 arch/x86/lib/bios_pci.S
> delete mode 100644 arch/x86/lib/bios_setup.c
> delete mode 100644 arch/x86/lib/realmode.c
> delete mode 100644 arch/x86/lib/realmode_switch.S
> delete mode 100644 arch/x86/lib/video_bios.c
>
> diff --git a/README b/README
> index 2352e38..103036f 100644
> --- a/README
> +++ b/README
> @@ -3820,11 +3820,6 @@ 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/config.mk b/arch/x86/config.mk
> index 23cacff..8356577 100644
> --- a/arch/x86/config.mk
> +++ b/arch/x86/config.mk
> @@ -34,7 +34,6 @@ PF_CPPFLAGS_X86 := $(call cc-option, -ffreestanding) \
> $(call cc-option, -mpreferred-stack-boundary=2)
> PLATFORM_CPPFLAGS += $(PF_CPPFLAGS_X86)
> PLATFORM_CPPFLAGS += -fno-dwarf2-cfi-asm
> -PLATFORM_CPPFLAGS += -DREALMODE_BASE=0x7c0
>
> PLATFORM_RELFLAGS += -ffunction-sections -fvisibility=hidden
>
> diff --git a/arch/x86/cpu/u-boot.lds b/arch/x86/cpu/u-boot.lds
> index 0c6f0e3..8f5e444 100644
> --- a/arch/x86/cpu/u-boot.lds
> +++ b/arch/x86/cpu/u-boot.lds
> @@ -73,29 +73,4 @@ SECTIONS
> /DISCARD/ : { *(.plt*) }
> /DISCARD/ : { *(.interp*) }
> /DISCARD/ : { *(.gnu*) }
> -
> - /* 16bit realmode trampoline code */
> - .realmode REALMODE_BASE : AT ( LOADADDR(.rel.dyn) + SIZEOF(.rel.dyn) ) { KEEP(*(.realmode)) }
> -
> - __realmode_start = LOADADDR(.realmode);
> - __realmode_size = SIZEOF(.realmode);
> -
> - /* 16bit BIOS emulation code (just enough to boot Linux) */
> - .bios 0 : AT ( LOADADDR(.realmode) + SIZEOF(.realmode) ) { KEEP(*(.bios)) }
> -
> - __bios_start = LOADADDR(.bios);
> - __bios_size = SIZEOF(.bios);
> -
> -#ifndef CONFIG_X86_NO_RESET_VECTOR
> -
> - /*
> - * The following expressions place the 16-bit Real-Mode code and
> - * Reset Vector at the end of the Flash ROM
> - */
> - . = START_16;
> - .start16 : AT (CONFIG_SYS_TEXT_BASE + (CONFIG_SYS_MONITOR_LEN - RESET_SEG_SIZE + START_16)) { KEEP(*(.start16)); }
> -
> - . = RESET_VEC_LOC;
> - .resetvec : AT (CONFIG_SYS_TEXT_BASE + (CONFIG_SYS_MONITOR_LEN - RESET_SEG_SIZE + RESET_VEC_LOC)) { KEEP(*(.resetvec)); }
> -#endif
Can we please keep the reset vector and real-to-protected mode code. I
know coreboot does not need it (and hence it is dead code) but it
keeps alive the thought that U-Boot can actually boot an x86 from
power-up
Apart from that, I'll be glad to see the back of this legacy crap :)
Regards,
Graeme
More information about the U-Boot
mailing list