[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