[U-Boot] [PATCH 00/17] x86: Rework of board init code (plus support patches)

Graeme Russ graeme.russ at gmail.com
Mon Jan 2 05:09:17 CET 2012


Happy New Year!

I was thinking I would do another RFC, but instead I pulled an all-nighter
to get this series cleaned up ready for mainline

There a two major architectural changes introduced by this series:

 - The global data pointer is converted to a psuedo register implementation
   which allows global data to be access pre and post relocations like all
   other aches
 - The init sequences in board.c are reduced to be purely to loops which
   execute arrays of init functions

All patches are checkpatch clean

Series is rebased to commit bfcc40bb09b05c90cc3b1496abb270eb8aa72134
(Merge branch 'next' of ../next)

Regards,

Graeme

Graeme Russ (17):
  x86: Import glibc memcpy implementation
  x86: Speed up copy-to-RAM and clear BSS operations
  x86: Remove GDR related magic numbers
  x86: Rework Global Descriptor Table loading
  x86: Simplify Flash-to-RAM code execution transition
  x86: Rework relocation calcuations
  x86: Use fs for global data
  x86: Set GD_FLG_RELOC after entering in-RAM copy of U-Boot
  x86: Create weak init_cache() function
  x86: Allow cache before copy to RAM
  CHECKPATCH: arch/x86/cpu/*
  CHECKPATCH: arch/x86/lib/*
  x86: Move do_go_exec() out of board.c
  x86: Move setup_pcat_compatibility() out of board.c
  x86: Move relocation code out of board.c
  x86: Simplify board.c
  x86: Tweak initialisation procedure

 arch/x86/cpu/cpu.c                   |  107 ++++++---
 arch/x86/cpu/interrupts.c            |    2 +-
 arch/x86/cpu/start.S                 |   31 +--
 arch/x86/cpu/start16.S               |   57 ++++-
 arch/x86/include/asm/global_data.h   |   21 +-
 arch/x86/include/asm/init_helpers.h  |   43 +++
 arch/x86/include/asm/init_wrappers.h |   42 +++
 arch/x86/include/asm/processor.h     |   12 +-
 arch/x86/include/asm/relocate.h      |   33 +++
 arch/x86/include/asm/string.h        |    2 +-
 arch/x86/include/asm/u-boot-x86.h    |    5 +
 arch/x86/lib/Makefile                |    4 +
 arch/x86/lib/bios.S                  |  134 ++++++----
 arch/x86/lib/board.c                 |  474 +++++++++-------------------------
 arch/x86/lib/cmd_boot.c              |   64 +++++
 arch/x86/lib/init_helpers.c          |  210 +++++++++++++++
 arch/x86/lib/init_wrappers.c         |  137 ++++++++++
 arch/x86/lib/realmode_switch.S       |   61 +++--
 arch/x86/lib/relocate.c              |   91 +++++++
 arch/x86/lib/string.c                |   61 +++++
 arch/x86/lib/zimage.c                |    7 +
 21 files changed, 1099 insertions(+), 499 deletions(-)
 create mode 100644 arch/x86/include/asm/init_helpers.h
 create mode 100644 arch/x86/include/asm/init_wrappers.h
 create mode 100644 arch/x86/include/asm/relocate.h
 create mode 100644 arch/x86/lib/cmd_boot.c
 create mode 100644 arch/x86/lib/init_helpers.c
 create mode 100644 arch/x86/lib/init_wrappers.c
 create mode 100644 arch/x86/lib/relocate.c

--
1.7.5.2.317.g391b14



More information about the U-Boot mailing list