[U-Boot] [PATCH v4 03/20] Move lib_$ARCH directories to arch/$ARCH/lib

Peter Tyser ptyser at xes-inc.com
Tue Apr 13 05:28:04 CEST 2010


Also move lib_$ARCH/config.mk to arch/$ARCH/config.mk

This change is intended to clean up the top-level directory structure
and more closely mimic Linux's directory organization.

Signed-off-by: Peter Tyser <ptyser at xes-inc.com>
---
 Makefile                                           |    6 ++--
 README                                             |   28 ++++++++++----------
 {lib_arm => arch/arm}/config.mk                    |    4 +-
 {lib_arm => arch/arm/lib}/Makefile                 |    0
 {lib_arm => arch/arm/lib}/_ashldi3.S               |    0
 {lib_arm => arch/arm/lib}/_ashrdi3.S               |    0
 {lib_arm => arch/arm/lib}/_divsi3.S                |    0
 {lib_arm => arch/arm/lib}/_lshrdi3.S               |    0
 {lib_arm => arch/arm/lib}/_modsi3.S                |    0
 {lib_arm => arch/arm/lib}/_udivsi3.S               |    0
 {lib_arm => arch/arm/lib}/_umodsi3.S               |    0
 {lib_arm => arch/arm/lib}/board.c                  |    0
 {lib_arm => arch/arm/lib}/bootm.c                  |    0
 {lib_arm => arch/arm/lib}/cache-cp15.c             |    0
 {lib_arm => arch/arm/lib}/cache.c                  |    0
 {lib_arm => arch/arm/lib}/div0.c                   |    0
 {lib_arm => arch/arm/lib}/eabi_compat.c            |    0
 {lib_arm => arch/arm/lib}/interrupts.c             |    0
 {lib_arm => arch/arm/lib}/reset.c                  |    0
 {lib_avr32 => arch/avr32}/config.mk                |    0
 {lib_avr32 => arch/avr32/lib}/Makefile             |    0
 {lib_avr32 => arch/avr32/lib}/board.c              |    0
 {lib_avr32 => arch/avr32/lib}/bootm.c              |    0
 {lib_avr32 => arch/avr32/lib}/interrupts.c         |    0
 {lib_avr32 => arch/avr32/lib}/memset.S             |    0
 {lib_blackfin => arch/blackfin}/config.mk          |    2 +-
 {lib_blackfin => arch/blackfin/lib}/.gitignore     |    0
 {lib_blackfin => arch/blackfin/lib}/Makefile       |    0
 {lib_blackfin => arch/blackfin/lib}/__kgdb.S       |    0
 {lib_blackfin => arch/blackfin/lib}/board.c        |    0
 {lib_blackfin => arch/blackfin/lib}/boot.c         |    0
 {lib_blackfin => arch/blackfin/lib}/cache.c        |    0
 {lib_blackfin => arch/blackfin/lib}/clocks.c       |    0
 .../blackfin/lib}/cmd_cache_dump.c                 |    0
 {lib_blackfin => arch/blackfin/lib}/ins.S          |    0
 {lib_blackfin => arch/blackfin/lib}/kgdb.c         |    0
 {lib_blackfin => arch/blackfin/lib}/kgdb.h         |    0
 {lib_blackfin => arch/blackfin/lib}/memcmp.S       |    0
 {lib_blackfin => arch/blackfin/lib}/memcpy.S       |    0
 {lib_blackfin => arch/blackfin/lib}/memmove.S      |    0
 {lib_blackfin => arch/blackfin/lib}/memset.S       |    0
 {lib_blackfin => arch/blackfin/lib}/muldi3.c       |    0
 {lib_blackfin => arch/blackfin/lib}/outs.S         |    0
 {lib_blackfin => arch/blackfin/lib}/post.c         |    0
 {lib_blackfin => arch/blackfin/lib}/string.c       |    0
 {lib_blackfin => arch/blackfin/lib}/tests.c        |    0
 {lib_blackfin => arch/blackfin/lib}/u-boot.lds.S   |    0
 {lib_i386 => arch/i386}/config.mk                  |    0
 {lib_i386 => arch/i386/lib}/Makefile               |    0
 {lib_i386 => arch/i386/lib}/bios.S                 |    0
 {lib_i386 => arch/i386/lib}/bios.h                 |    0
 {lib_i386 => arch/i386/lib}/bios_pci.S             |    0
 {lib_i386 => arch/i386/lib}/bios_setup.c           |    0
 {lib_i386 => arch/i386/lib}/board.c                |    0
 {lib_i386 => arch/i386/lib}/bootm.c                |    0
 {lib_i386 => arch/i386/lib}/interrupts.c           |    0
 {lib_i386 => arch/i386/lib}/pcat_interrupts.c      |    0
 {lib_i386 => arch/i386/lib}/pcat_timer.c           |    0
 {lib_i386 => arch/i386/lib}/pci.c                  |    0
 {lib_i386 => arch/i386/lib}/pci_type1.c            |    0
 {lib_i386 => arch/i386/lib}/realmode.c             |    0
 {lib_i386 => arch/i386/lib}/realmode_switch.S      |    0
 {lib_i386 => arch/i386/lib}/timer.c                |    0
 {lib_i386 => arch/i386/lib}/video.c                |    0
 {lib_i386 => arch/i386/lib}/video_bios.c           |    0
 {lib_i386 => arch/i386/lib}/zimage.c               |    0
 {lib_m68k => arch/m68k}/config.mk                  |    0
 {lib_m68k => arch/m68k/lib}/Makefile               |    0
 {lib_m68k => arch/m68k/lib}/board.c                |    0
 {lib_m68k => arch/m68k/lib}/bootm.c                |    0
 {lib_m68k => arch/m68k/lib}/cache.c                |    0
 {lib_m68k => arch/m68k/lib}/interrupts.c           |    0
 {lib_m68k => arch/m68k/lib}/time.c                 |    0
 {lib_m68k => arch/m68k/lib}/traps.c                |    0
 {lib_microblaze => arch/microblaze}/config.mk      |    0
 {lib_microblaze => arch/microblaze/lib}/Makefile   |    0
 {lib_microblaze => arch/microblaze/lib}/board.c    |    0
 {lib_microblaze => arch/microblaze/lib}/bootm.c    |    0
 {lib_microblaze => arch/microblaze/lib}/cache.c    |    0
 {lib_microblaze => arch/microblaze/lib}/time.c     |    0
 {lib_mips => arch/mips}/config.mk                  |    0
 {lib_mips => arch/mips/lib}/Makefile               |    0
 {lib_mips => arch/mips/lib}/board.c                |    0
 {lib_mips => arch/mips/lib}/bootm.c                |    0
 {lib_mips => arch/mips/lib}/bootm_qemu_mips.c      |    0
 {lib_mips => arch/mips/lib}/time.c                 |    0
 {lib_nios => arch/nios}/config.mk                  |    0
 {lib_nios => arch/nios/lib}/Makefile               |    0
 {lib_nios => arch/nios/lib}/board.c                |    0
 {lib_nios => arch/nios/lib}/bootm.c                |    0
 {lib_nios => arch/nios/lib}/cache.c                |    0
 {lib_nios => arch/nios/lib}/divmod.c               |    0
 {lib_nios => arch/nios/lib}/math.h                 |    0
 {lib_nios => arch/nios/lib}/mult.c                 |    0
 {lib_nios => arch/nios/lib}/time.c                 |    0
 {lib_nios2 => arch/nios2}/config.mk                |    0
 {lib_nios2 => arch/nios2/lib}/Makefile             |    0
 {lib_nios2 => arch/nios2/lib}/board.c              |    0
 {lib_nios2 => arch/nios2/lib}/bootm.c              |    0
 {lib_nios2 => arch/nios2/lib}/cache.S              |    0
 {lib_nios2 => arch/nios2/lib}/divmod.c             |    0
 {lib_nios2 => arch/nios2/lib}/math.h               |    0
 {lib_nios2 => arch/nios2/lib}/mult.c               |    0
 {lib_nios2 => arch/nios2/lib}/time.c               |    0
 {lib_ppc => arch/ppc}/config.mk                    |    0
 {lib_ppc => arch/ppc/lib}/Makefile                 |    0
 {lib_ppc => arch/ppc/lib}/bat_rw.c                 |    0
 {lib_ppc => arch/ppc/lib}/board.c                  |    0
 {lib_ppc => arch/ppc/lib}/bootm.c                  |    0
 {lib_ppc => arch/ppc/lib}/cache.c                  |    0
 {lib_ppc => arch/ppc/lib}/extable.c                |    0
 {lib_ppc => arch/ppc/lib}/interrupts.c             |    0
 {lib_ppc => arch/ppc/lib}/kgdb.c                   |    0
 {lib_ppc => arch/ppc/lib}/ppccache.S               |    0
 {lib_ppc => arch/ppc/lib}/ppcstring.S              |    0
 {lib_ppc => arch/ppc/lib}/reloc.S                  |    0
 {lib_ppc => arch/ppc/lib}/ticks.S                  |    0
 {lib_ppc => arch/ppc/lib}/time.c                   |    0
 {lib_sh => arch/sh}/config.mk                      |    0
 {lib_sh => arch/sh/lib}/Makefile                   |    0
 {lib_sh => arch/sh/lib}/board.c                    |    0
 {lib_sh => arch/sh/lib}/bootm.c                    |    0
 {lib_sh => arch/sh/lib}/time.c                     |    0
 {lib_sh => arch/sh/lib}/time_sh2.c                 |    0
 {lib_sparc => arch/sparc}/config.mk                |    0
 {lib_sparc => arch/sparc/lib}/Makefile             |    0
 {lib_sparc => arch/sparc/lib}/board.c              |    0
 {lib_sparc => arch/sparc/lib}/bootm.c              |    0
 {lib_sparc => arch/sparc/lib}/cache.c              |    0
 {lib_sparc => arch/sparc/lib}/interrupts.c         |    0
 {lib_sparc => arch/sparc/lib}/time.c               |    0
 board/LEOX/elpt860/u-boot.lds                      |   10 +++---
 board/RPXClassic/u-boot.lds                        |    2 +-
 board/RPXlite/u-boot.lds                           |    2 +-
 board/RPXlite_dw/u-boot.lds                        |    2 +-
 board/RRvision/u-boot.lds                          |    6 ++--
 board/actux1/u-boot.lds                            |    2 +-
 board/actux2/u-boot.lds                            |    2 +-
 board/actux3/u-boot.lds                            |    2 +-
 board/amirix/ap1000/u-boot.lds                     |    2 +-
 board/astro/mcf5373l/u-boot.lds                    |    4 +-
 board/c2mon/u-boot.lds                             |    2 +-
 board/cobra5272/u-boot.lds                         |    2 +-
 board/cray/L1/u-boot.lds.debug                     |    2 +-
 board/emk/top860/u-boot.lds.debug                  |    2 +-
 board/esd/tasreg/u-boot.lds                        |    2 +-
 board/esteem192e/u-boot.lds                        |    2 +-
 board/etx094/u-boot.lds.debug                      |    4 +-
 board/fads/u-boot.lds.debug                        |    2 +-
 board/freescale/m5208evbe/u-boot.lds               |    2 +-
 board/freescale/m52277evb/u-boot.spa               |    2 +-
 board/freescale/m5235evb/u-boot.16                 |    4 +-
 board/freescale/m5235evb/u-boot.32                 |    2 +-
 board/freescale/m5249evb/u-boot.lds                |    2 +-
 board/freescale/m5253demo/u-boot.lds               |    2 +-
 board/freescale/m5253evbe/u-boot.lds               |    2 +-
 board/freescale/m5271evb/u-boot.lds                |    2 +-
 board/freescale/m5272c3/u-boot.lds                 |    2 +-
 board/freescale/m53017evb/u-boot.lds               |    2 +-
 board/freescale/m5329evb/u-boot.lds                |    4 +-
 board/freescale/m5373evb/u-boot.lds                |    4 +-
 board/freescale/m54451evb/u-boot.spa               |    2 +-
 board/freescale/m54451evb/u-boot.stm               |    2 +-
 board/freescale/m54455evb/u-boot.atm               |    4 +-
 board/freescale/m54455evb/u-boot.int               |    4 +-
 board/freescale/m547xevb/u-boot.lds                |    4 +-
 board/freescale/m548xevb/u-boot.lds                |    4 +-
 board/freescale/mpc7448hpc2/tsi108_init.c          |    2 +-
 board/freescale/mpc8610hpcd/u-boot.lds             |    2 +-
 board/freescale/mpc8641hpcn/u-boot.lds             |    2 +-
 board/freescale/mx31ads/u-boot.lds                 |    2 +-
 board/genietv/u-boot.lds                           |    2 +-
 board/genietv/u-boot.lds.debug                     |    2 +-
 board/hermes/u-boot.lds                            |    6 ++--
 board/hermes/u-boot.lds.debug                      |    6 ++--
 board/hymod/u-boot.lds                             |    2 +-
 board/icu862/u-boot.lds                            |    2 +-
 board/icu862/u-boot.lds.debug                      |    2 +-
 board/idmr/u-boot.lds                              |    2 +-
 board/ip860/u-boot.lds                             |    6 ++--
 board/ip860/u-boot.lds.debug                       |    6 ++--
 board/ivm/u-boot.lds.debug                         |    2 +-
 board/jse/jse.c                                    |    6 ++--
 board/jse/sdram.c                                  |    2 +-
 board/keymile/km8xx/u-boot.lds                     |    6 ++--
 board/kup/kup4k/u-boot.lds                         |    2 +-
 board/kup/kup4x/u-boot.lds                         |    2 +-
 board/lantec/u-boot.lds                            |    2 +-
 board/lwmon/u-boot.lds.debug                       |    2 +-
 board/mbx8xx/u-boot.lds.debug                      |    2 +-
 board/ml2/u-boot.lds                               |    2 +-
 board/ml2/u-boot.lds.debug                         |    2 +-
 board/mousse/u-boot.lds                            |    4 +-
 board/mousse/u-boot.lds.rom                        |    2 +-
 board/mpl/pip405/u-boot.lds.debug                  |    2 +-
 board/netphone/u-boot.lds                          |    6 ++--
 board/netstal/hcu4/hcu4.c                          |    2 +-
 board/netstal/hcu5/README.txt                      |    6 ++--
 board/netstal/hcu5/hcu5.c                          |    2 +-
 board/netstal/mcu25/mcu25.c                        |    2 +-
 board/netta/u-boot.lds                             |    6 ++--
 board/netta2/u-boot.lds                            |    6 ++--
 board/netvia/u-boot.lds                            |    6 ++--
 board/quantum/u-boot.lds                           |    2 +-
 board/rbc823/u-boot.lds                            |    2 +-
 board/rmu/u-boot.lds                               |    2 +-
 board/sandburst/karef/u-boot.lds.debug             |    2 +-
 board/sandburst/metrobox/u-boot.lds.debug          |    2 +-
 board/sbc8641d/u-boot.lds                          |    2 +-
 board/sc3/u-boot.lds                               |    2 +-
 board/siemens/CCM/u-boot.lds                       |    2 +-
 board/siemens/IAD210/u-boot.lds                    |    4 +-
 board/siemens/pcu_e/u-boot.lds.debug               |    2 +-
 board/snmc/qs850/u-boot.lds                        |    6 ++--
 board/snmc/qs860t/u-boot.lds                       |    6 ++--
 board/spc1920/u-boot.lds                           |    6 ++--
 board/spd8xx/u-boot.lds.debug                      |    2 +-
 board/stx/stxssa/stxssa.c                          |    2 +-
 board/stx/stxxtc/u-boot.lds                        |    6 ++--
 board/svm_sc8xx/u-boot.lds                         |    6 ++--
 board/tqc/tqm8xx/u-boot.lds                        |    4 +-
 board/uc100/u-boot.lds                             |    6 ++--
 board/v37/u-boot.lds                               |    6 ++--
 board/w7o/u-boot.lds.debug                         |    2 +-
 board/westel/amx860/u-boot.lds                     |    2 +-
 board/westel/amx860/u-boot.lds.debug               |    2 +-
 board/xes/xpedite1000/u-boot.lds.debug             |    2 +-
 board/xes/xpedite5170/u-boot.lds                   |    2 +-
 config.mk                                          |    2 +-
 cpu/mpc5xxx/u-boot-customlayout.lds                |    4 +-
 doc/README.LED                                     |    2 +-
 doc/README.alaska8220                              |    2 +-
 doc/README.m52277evb                               |   12 ++++----
 doc/README.m53017evb                               |   12 ++++----
 doc/README.m5373evb                                |   12 ++++----
 doc/README.m54455evb                               |   12 ++++----
 doc/README.m5475evb                                |   10 +++---
 doc/README.mpc5xx                                  |    6 ++--
 doc/README.nios                                    |    2 +-
 doc/TODO-i386                                      |    2 +-
 examples/api/Makefile                              |    4 +-
 include/asm-i386/interrupt.h                       |    2 +-
 include/asm-i386/u-boot-i386.h                     |    4 +-
 include/common.h                                   |    8 +++---
 include/configs/B2.h                               |    2 +-
 nand_spl/board/freescale/mpc8313erdb/Makefile      |    6 ++--
 nand_spl/board/freescale/mpc8315erdb/Makefile      |    6 ++--
 nand_spl/board/freescale/mpc8536ds/Makefile        |    2 +-
 nand_spl/board/freescale/mpc8569mds/Makefile       |    2 +-
 nand_spl/board/freescale/p1_p2_rdb/Makefile        |    2 +-
 nand_spl/board/sheldon/simpc8313/Makefile          |    6 ++--
 251 files changed, 232 insertions(+), 232 deletions(-)
 rename {lib_arm => arch/arm}/config.mk (94%)
 rename {lib_arm => arch/arm/lib}/Makefile (100%)
 rename {lib_arm => arch/arm/lib}/_ashldi3.S (100%)
 rename {lib_arm => arch/arm/lib}/_ashrdi3.S (100%)
 rename {lib_arm => arch/arm/lib}/_divsi3.S (100%)
 rename {lib_arm => arch/arm/lib}/_lshrdi3.S (100%)
 rename {lib_arm => arch/arm/lib}/_modsi3.S (100%)
 rename {lib_arm => arch/arm/lib}/_udivsi3.S (100%)
 rename {lib_arm => arch/arm/lib}/_umodsi3.S (100%)
 rename {lib_arm => arch/arm/lib}/board.c (100%)
 rename {lib_arm => arch/arm/lib}/bootm.c (100%)
 rename {lib_arm => arch/arm/lib}/cache-cp15.c (100%)
 rename {lib_arm => arch/arm/lib}/cache.c (100%)
 rename {lib_arm => arch/arm/lib}/div0.c (100%)
 rename {lib_arm => arch/arm/lib}/eabi_compat.c (100%)
 rename {lib_arm => arch/arm/lib}/interrupts.c (100%)
 rename {lib_arm => arch/arm/lib}/reset.c (100%)
 rename {lib_avr32 => arch/avr32}/config.mk (100%)
 rename {lib_avr32 => arch/avr32/lib}/Makefile (100%)
 rename {lib_avr32 => arch/avr32/lib}/board.c (100%)
 rename {lib_avr32 => arch/avr32/lib}/bootm.c (100%)
 rename {lib_avr32 => arch/avr32/lib}/interrupts.c (100%)
 rename {lib_avr32 => arch/avr32/lib}/memset.S (100%)
 rename {lib_blackfin => arch/blackfin}/config.mk (97%)
 rename {lib_blackfin => arch/blackfin/lib}/.gitignore (100%)
 rename {lib_blackfin => arch/blackfin/lib}/Makefile (100%)
 rename {lib_blackfin => arch/blackfin/lib}/__kgdb.S (100%)
 rename {lib_blackfin => arch/blackfin/lib}/board.c (100%)
 rename {lib_blackfin => arch/blackfin/lib}/boot.c (100%)
 rename {lib_blackfin => arch/blackfin/lib}/cache.c (100%)
 rename {lib_blackfin => arch/blackfin/lib}/clocks.c (100%)
 rename {lib_blackfin => arch/blackfin/lib}/cmd_cache_dump.c (100%)
 rename {lib_blackfin => arch/blackfin/lib}/ins.S (100%)
 rename {lib_blackfin => arch/blackfin/lib}/kgdb.c (100%)
 rename {lib_blackfin => arch/blackfin/lib}/kgdb.h (100%)
 rename {lib_blackfin => arch/blackfin/lib}/memcmp.S (100%)
 rename {lib_blackfin => arch/blackfin/lib}/memcpy.S (100%)
 rename {lib_blackfin => arch/blackfin/lib}/memmove.S (100%)
 rename {lib_blackfin => arch/blackfin/lib}/memset.S (100%)
 rename {lib_blackfin => arch/blackfin/lib}/muldi3.c (100%)
 rename {lib_blackfin => arch/blackfin/lib}/outs.S (100%)
 rename {lib_blackfin => arch/blackfin/lib}/post.c (100%)
 rename {lib_blackfin => arch/blackfin/lib}/string.c (100%)
 rename {lib_blackfin => arch/blackfin/lib}/tests.c (100%)
 rename {lib_blackfin => arch/blackfin/lib}/u-boot.lds.S (100%)
 rename {lib_i386 => arch/i386}/config.mk (100%)
 rename {lib_i386 => arch/i386/lib}/Makefile (100%)
 rename {lib_i386 => arch/i386/lib}/bios.S (100%)
 rename {lib_i386 => arch/i386/lib}/bios.h (100%)
 rename {lib_i386 => arch/i386/lib}/bios_pci.S (100%)
 rename {lib_i386 => arch/i386/lib}/bios_setup.c (100%)
 rename {lib_i386 => arch/i386/lib}/board.c (100%)
 rename {lib_i386 => arch/i386/lib}/bootm.c (100%)
 rename {lib_i386 => arch/i386/lib}/interrupts.c (100%)
 rename {lib_i386 => arch/i386/lib}/pcat_interrupts.c (100%)
 rename {lib_i386 => arch/i386/lib}/pcat_timer.c (100%)
 rename {lib_i386 => arch/i386/lib}/pci.c (100%)
 rename {lib_i386 => arch/i386/lib}/pci_type1.c (100%)
 rename {lib_i386 => arch/i386/lib}/realmode.c (100%)
 rename {lib_i386 => arch/i386/lib}/realmode_switch.S (100%)
 rename {lib_i386 => arch/i386/lib}/timer.c (100%)
 rename {lib_i386 => arch/i386/lib}/video.c (100%)
 rename {lib_i386 => arch/i386/lib}/video_bios.c (100%)
 rename {lib_i386 => arch/i386/lib}/zimage.c (100%)
 rename {lib_m68k => arch/m68k}/config.mk (100%)
 rename {lib_m68k => arch/m68k/lib}/Makefile (100%)
 rename {lib_m68k => arch/m68k/lib}/board.c (100%)
 rename {lib_m68k => arch/m68k/lib}/bootm.c (100%)
 rename {lib_m68k => arch/m68k/lib}/cache.c (100%)
 rename {lib_m68k => arch/m68k/lib}/interrupts.c (100%)
 rename {lib_m68k => arch/m68k/lib}/time.c (100%)
 rename {lib_m68k => arch/m68k/lib}/traps.c (100%)
 rename {lib_microblaze => arch/microblaze}/config.mk (100%)
 rename {lib_microblaze => arch/microblaze/lib}/Makefile (100%)
 rename {lib_microblaze => arch/microblaze/lib}/board.c (100%)
 rename {lib_microblaze => arch/microblaze/lib}/bootm.c (100%)
 rename {lib_microblaze => arch/microblaze/lib}/cache.c (100%)
 rename {lib_microblaze => arch/microblaze/lib}/time.c (100%)
 rename {lib_mips => arch/mips}/config.mk (100%)
 rename {lib_mips => arch/mips/lib}/Makefile (100%)
 rename {lib_mips => arch/mips/lib}/board.c (100%)
 rename {lib_mips => arch/mips/lib}/bootm.c (100%)
 rename {lib_mips => arch/mips/lib}/bootm_qemu_mips.c (100%)
 rename {lib_mips => arch/mips/lib}/time.c (100%)
 rename {lib_nios => arch/nios}/config.mk (100%)
 rename {lib_nios => arch/nios/lib}/Makefile (100%)
 rename {lib_nios => arch/nios/lib}/board.c (100%)
 rename {lib_nios => arch/nios/lib}/bootm.c (100%)
 rename {lib_nios => arch/nios/lib}/cache.c (100%)
 rename {lib_nios => arch/nios/lib}/divmod.c (100%)
 rename {lib_nios => arch/nios/lib}/math.h (100%)
 rename {lib_nios => arch/nios/lib}/mult.c (100%)
 rename {lib_nios => arch/nios/lib}/time.c (100%)
 rename {lib_nios2 => arch/nios2}/config.mk (100%)
 rename {lib_nios2 => arch/nios2/lib}/Makefile (100%)
 rename {lib_nios2 => arch/nios2/lib}/board.c (100%)
 rename {lib_nios2 => arch/nios2/lib}/bootm.c (100%)
 rename {lib_nios2 => arch/nios2/lib}/cache.S (100%)
 rename {lib_nios2 => arch/nios2/lib}/divmod.c (100%)
 rename {lib_nios2 => arch/nios2/lib}/math.h (100%)
 rename {lib_nios2 => arch/nios2/lib}/mult.c (100%)
 rename {lib_nios2 => arch/nios2/lib}/time.c (100%)
 rename {lib_ppc => arch/ppc}/config.mk (100%)
 rename {lib_ppc => arch/ppc/lib}/Makefile (100%)
 rename {lib_ppc => arch/ppc/lib}/bat_rw.c (100%)
 rename {lib_ppc => arch/ppc/lib}/board.c (100%)
 rename {lib_ppc => arch/ppc/lib}/bootm.c (100%)
 rename {lib_ppc => arch/ppc/lib}/cache.c (100%)
 rename {lib_ppc => arch/ppc/lib}/extable.c (100%)
 rename {lib_ppc => arch/ppc/lib}/interrupts.c (100%)
 rename {lib_ppc => arch/ppc/lib}/kgdb.c (100%)
 rename {lib_ppc => arch/ppc/lib}/ppccache.S (100%)
 rename {lib_ppc => arch/ppc/lib}/ppcstring.S (100%)
 rename {lib_ppc => arch/ppc/lib}/reloc.S (100%)
 rename {lib_ppc => arch/ppc/lib}/ticks.S (100%)
 rename {lib_ppc => arch/ppc/lib}/time.c (100%)
 rename {lib_sh => arch/sh}/config.mk (100%)
 rename {lib_sh => arch/sh/lib}/Makefile (100%)
 rename {lib_sh => arch/sh/lib}/board.c (100%)
 rename {lib_sh => arch/sh/lib}/bootm.c (100%)
 rename {lib_sh => arch/sh/lib}/time.c (100%)
 rename {lib_sh => arch/sh/lib}/time_sh2.c (100%)
 rename {lib_sparc => arch/sparc}/config.mk (100%)
 rename {lib_sparc => arch/sparc/lib}/Makefile (100%)
 rename {lib_sparc => arch/sparc/lib}/board.c (100%)
 rename {lib_sparc => arch/sparc/lib}/bootm.c (100%)
 rename {lib_sparc => arch/sparc/lib}/cache.c (100%)
 rename {lib_sparc => arch/sparc/lib}/interrupts.c (100%)
 rename {lib_sparc => arch/sparc/lib}/time.c (100%)

diff --git a/Makefile b/Makefile
index 8e3eb99..de8a4cd 100644
--- a/Makefile
+++ b/Makefile
@@ -195,7 +195,7 @@ endif
 ifeq ($(CPU),ixp)
 LIBS += cpu/ixp/npe/libnpe.a
 endif
-LIBS += lib_$(ARCH)/lib$(ARCH).a
+LIBS += arch/$(ARCH)/lib/lib$(ARCH).a
 LIBS += fs/cramfs/libcramfs.a fs/fat/libfat.a fs/fdos/libfdos.a fs/jffs2/libjffs2.a \
 	fs/reiserfs/libreiserfs.a fs/ext2/libext2fs.a fs/yaffs2/libyaffs2.a \
 	fs/ubifs/libubifs.a
@@ -257,7 +257,7 @@ LIBBOARD := $(addprefix $(obj),$(LIBBOARD))
 # Add GCC lib
 ifdef USE_PRIVATE_LIBGCC
 ifeq ("$(USE_PRIVATE_LIBGCC)", "yes")
-PLATFORM_LIBGCC = -L $(OBJTREE)/lib_$(ARCH) -lgcc
+PLATFORM_LIBGCC = -L $(OBJTREE)/arch/$(ARCH)/lib -lgcc
 else
 PLATFORM_LIBGCC = -L $(USE_PRIVATE_LIBGCC) -lgcc
 endif
@@ -3743,7 +3743,7 @@ clean:
 	       $(obj)board/netstar/{eeprom,crcek,crcit,*.srec,*.bin}	  \
 	       $(obj)board/trab/trab_fkt   $(obj)board/voiceblue/eeprom   \
 	       $(obj)board/armltd/{integratorap,integratorcp}/u-boot.lds  \
-	       $(obj)lib_blackfin/u-boot.lds				  \
+	       $(obj)arch/blackfin/lib/u-boot.lds				  \
 	       $(obj)u-boot.lds						  \
 	       $(obj)cpu/blackfin/bootrom-asm-offsets.[chs]
 	@rm -f $(obj)include/bmp_logo.h
diff --git a/README b/README
index bb13bc6..dc2103f 100644
--- a/README
+++ b/README
@@ -182,19 +182,19 @@ Directory Hierarchy:
 - examples	Example code for standalone applications, etc.
 - fs		Filesystem code (cramfs, ext2, jffs2, etc.)
 - include	Header Files
-- lib_arm	Files generic to ARM	 architecture
-- lib_avr32	Files generic to AVR32	 architecture
-- lib_blackfin	Files generic to Blackfin architecture
+- arch/arm/lib	Files generic to ARM	 architecture
+- arch/avr32/lib	Files generic to AVR32	 architecture
+- arch/blackfin/lib	Files generic to Blackfin architecture
 - lib_generic	Files generic to all	 architectures
-- lib_i386	Files generic to i386	 architecture
-- lib_m68k	Files generic to m68k	 architecture
-- lib_microblaze Files generic to microblaze architecture
-- lib_mips	Files generic to MIPS	 architecture
-- lib_nios	Files generic to NIOS	 architecture
-- lib_nios2	Files generic to NIOS2	 architecture
-- lib_ppc	Files generic to PowerPC architecture
-- lib_sh	Files generic to SH	 architecture
-- lib_sparc	Files generic to SPARC	 architecture
+- arch/i386/lib	Files generic to i386	 architecture
+- arch/m68k/lib	Files generic to m68k	 architecture
+- arch/microblaze/lib Files generic to microblaze architecture
+- arch/mips/lib	Files generic to MIPS	 architecture
+- arch/nios/lib	Files generic to NIOS	 architecture
+- arch/nios/lib2	Files generic to NIOS2	 architecture
+- arch/ppc/lib	Files generic to PowerPC architecture
+- arch/sh/lib	Files generic to SH	 architecture
+- arch/sparc/lib	Files generic to SPARC	 architecture
 - libfdt	Library files to support flattened device trees
 - net		Networking code
 - post		Power On Self Test
@@ -1940,9 +1940,9 @@ Legacy uImage format:
    13	common/image.c		Start multifile image verification
    14	common/image.c		No initial ramdisk, no multifile, continue.
 
-   15	lib_<arch>/bootm.c	All preparation done, transferring control to OS
+   15	arch/<arch>/lib/bootm.c	All preparation done, transferring control to OS
 
-  -30	lib_ppc/board.c		Fatal error, hang the system
+  -30	arch/ppc/lib/board.c		Fatal error, hang the system
   -31	post/post.c		POST test failed, detected by post_output_backlog()
   -32	post/post.c		POST test failed, detected by post_run_single()
 
diff --git a/lib_arm/config.mk b/arch/arm/config.mk
similarity index 94%
rename from lib_arm/config.mk
rename to arch/arm/config.mk
index 8dd4dcc..e10dafc 100644
--- a/lib_arm/config.mk
+++ b/arch/arm/config.mk
@@ -59,8 +59,8 @@ PLATFORM_CPPFLAGS += $(call cc-option,\
 # For EABI, make sure to provide raise()
 ifneq (,$(findstring -mabi=aapcs-linux,$(PLATFORM_CPPFLAGS)))
 # This file is parsed several times; make sure to add only once.
-ifeq (,$(findstring lib_arm/eabi_compat.o,$(PLATFORM_LIBS)))
-PLATFORM_LIBS += $(OBJTREE)/lib_arm/eabi_compat.o
+ifeq (,$(findstring arch/arm/lib/eabi_compat.o,$(PLATFORM_LIBS)))
+PLATFORM_LIBS += $(OBJTREE)/arch/arm/lib/eabi_compat.o
 endif
 endif
 LDSCRIPT := $(SRCTREE)/$(CPUDIR)/u-boot.lds
diff --git a/lib_arm/Makefile b/arch/arm/lib/Makefile
similarity index 100%
rename from lib_arm/Makefile
rename to arch/arm/lib/Makefile
diff --git a/lib_arm/_ashldi3.S b/arch/arm/lib/_ashldi3.S
similarity index 100%
rename from lib_arm/_ashldi3.S
rename to arch/arm/lib/_ashldi3.S
diff --git a/lib_arm/_ashrdi3.S b/arch/arm/lib/_ashrdi3.S
similarity index 100%
rename from lib_arm/_ashrdi3.S
rename to arch/arm/lib/_ashrdi3.S
diff --git a/lib_arm/_divsi3.S b/arch/arm/lib/_divsi3.S
similarity index 100%
rename from lib_arm/_divsi3.S
rename to arch/arm/lib/_divsi3.S
diff --git a/lib_arm/_lshrdi3.S b/arch/arm/lib/_lshrdi3.S
similarity index 100%
rename from lib_arm/_lshrdi3.S
rename to arch/arm/lib/_lshrdi3.S
diff --git a/lib_arm/_modsi3.S b/arch/arm/lib/_modsi3.S
similarity index 100%
rename from lib_arm/_modsi3.S
rename to arch/arm/lib/_modsi3.S
diff --git a/lib_arm/_udivsi3.S b/arch/arm/lib/_udivsi3.S
similarity index 100%
rename from lib_arm/_udivsi3.S
rename to arch/arm/lib/_udivsi3.S
diff --git a/lib_arm/_umodsi3.S b/arch/arm/lib/_umodsi3.S
similarity index 100%
rename from lib_arm/_umodsi3.S
rename to arch/arm/lib/_umodsi3.S
diff --git a/lib_arm/board.c b/arch/arm/lib/board.c
similarity index 100%
rename from lib_arm/board.c
rename to arch/arm/lib/board.c
diff --git a/lib_arm/bootm.c b/arch/arm/lib/bootm.c
similarity index 100%
rename from lib_arm/bootm.c
rename to arch/arm/lib/bootm.c
diff --git a/lib_arm/cache-cp15.c b/arch/arm/lib/cache-cp15.c
similarity index 100%
rename from lib_arm/cache-cp15.c
rename to arch/arm/lib/cache-cp15.c
diff --git a/lib_arm/cache.c b/arch/arm/lib/cache.c
similarity index 100%
rename from lib_arm/cache.c
rename to arch/arm/lib/cache.c
diff --git a/lib_arm/div0.c b/arch/arm/lib/div0.c
similarity index 100%
rename from lib_arm/div0.c
rename to arch/arm/lib/div0.c
diff --git a/lib_arm/eabi_compat.c b/arch/arm/lib/eabi_compat.c
similarity index 100%
rename from lib_arm/eabi_compat.c
rename to arch/arm/lib/eabi_compat.c
diff --git a/lib_arm/interrupts.c b/arch/arm/lib/interrupts.c
similarity index 100%
rename from lib_arm/interrupts.c
rename to arch/arm/lib/interrupts.c
diff --git a/lib_arm/reset.c b/arch/arm/lib/reset.c
similarity index 100%
rename from lib_arm/reset.c
rename to arch/arm/lib/reset.c
diff --git a/lib_avr32/config.mk b/arch/avr32/config.mk
similarity index 100%
rename from lib_avr32/config.mk
rename to arch/avr32/config.mk
diff --git a/lib_avr32/Makefile b/arch/avr32/lib/Makefile
similarity index 100%
rename from lib_avr32/Makefile
rename to arch/avr32/lib/Makefile
diff --git a/lib_avr32/board.c b/arch/avr32/lib/board.c
similarity index 100%
rename from lib_avr32/board.c
rename to arch/avr32/lib/board.c
diff --git a/lib_avr32/bootm.c b/arch/avr32/lib/bootm.c
similarity index 100%
rename from lib_avr32/bootm.c
rename to arch/avr32/lib/bootm.c
diff --git a/lib_avr32/interrupts.c b/arch/avr32/lib/interrupts.c
similarity index 100%
rename from lib_avr32/interrupts.c
rename to arch/avr32/lib/interrupts.c
diff --git a/lib_avr32/memset.S b/arch/avr32/lib/memset.S
similarity index 100%
rename from lib_avr32/memset.S
rename to arch/avr32/lib/memset.S
diff --git a/lib_blackfin/config.mk b/arch/blackfin/config.mk
similarity index 97%
rename from lib_blackfin/config.mk
rename to arch/blackfin/config.mk
index 3ecade9..137834e 100644
--- a/lib_blackfin/config.mk
+++ b/arch/blackfin/config.mk
@@ -68,5 +68,5 @@ endif
 LDR_FLAGS += $(LDR_FLAGS-y)
 
 ifeq ($(wildcard $(TOPDIR)/board/$(BOARD)/u-boot.lds*),)
-LDSCRIPT = $(obj)lib_$(ARCH)/u-boot.lds.S
+LDSCRIPT = $(obj)arch/$(ARCH)/lib/u-boot.lds.S
 endif
diff --git a/lib_blackfin/.gitignore b/arch/blackfin/lib/.gitignore
similarity index 100%
rename from lib_blackfin/.gitignore
rename to arch/blackfin/lib/.gitignore
diff --git a/lib_blackfin/Makefile b/arch/blackfin/lib/Makefile
similarity index 100%
rename from lib_blackfin/Makefile
rename to arch/blackfin/lib/Makefile
diff --git a/lib_blackfin/__kgdb.S b/arch/blackfin/lib/__kgdb.S
similarity index 100%
rename from lib_blackfin/__kgdb.S
rename to arch/blackfin/lib/__kgdb.S
diff --git a/lib_blackfin/board.c b/arch/blackfin/lib/board.c
similarity index 100%
rename from lib_blackfin/board.c
rename to arch/blackfin/lib/board.c
diff --git a/lib_blackfin/boot.c b/arch/blackfin/lib/boot.c
similarity index 100%
rename from lib_blackfin/boot.c
rename to arch/blackfin/lib/boot.c
diff --git a/lib_blackfin/cache.c b/arch/blackfin/lib/cache.c
similarity index 100%
rename from lib_blackfin/cache.c
rename to arch/blackfin/lib/cache.c
diff --git a/lib_blackfin/clocks.c b/arch/blackfin/lib/clocks.c
similarity index 100%
rename from lib_blackfin/clocks.c
rename to arch/blackfin/lib/clocks.c
diff --git a/lib_blackfin/cmd_cache_dump.c b/arch/blackfin/lib/cmd_cache_dump.c
similarity index 100%
rename from lib_blackfin/cmd_cache_dump.c
rename to arch/blackfin/lib/cmd_cache_dump.c
diff --git a/lib_blackfin/ins.S b/arch/blackfin/lib/ins.S
similarity index 100%
rename from lib_blackfin/ins.S
rename to arch/blackfin/lib/ins.S
diff --git a/lib_blackfin/kgdb.c b/arch/blackfin/lib/kgdb.c
similarity index 100%
rename from lib_blackfin/kgdb.c
rename to arch/blackfin/lib/kgdb.c
diff --git a/lib_blackfin/kgdb.h b/arch/blackfin/lib/kgdb.h
similarity index 100%
rename from lib_blackfin/kgdb.h
rename to arch/blackfin/lib/kgdb.h
diff --git a/lib_blackfin/memcmp.S b/arch/blackfin/lib/memcmp.S
similarity index 100%
rename from lib_blackfin/memcmp.S
rename to arch/blackfin/lib/memcmp.S
diff --git a/lib_blackfin/memcpy.S b/arch/blackfin/lib/memcpy.S
similarity index 100%
rename from lib_blackfin/memcpy.S
rename to arch/blackfin/lib/memcpy.S
diff --git a/lib_blackfin/memmove.S b/arch/blackfin/lib/memmove.S
similarity index 100%
rename from lib_blackfin/memmove.S
rename to arch/blackfin/lib/memmove.S
diff --git a/lib_blackfin/memset.S b/arch/blackfin/lib/memset.S
similarity index 100%
rename from lib_blackfin/memset.S
rename to arch/blackfin/lib/memset.S
diff --git a/lib_blackfin/muldi3.c b/arch/blackfin/lib/muldi3.c
similarity index 100%
rename from lib_blackfin/muldi3.c
rename to arch/blackfin/lib/muldi3.c
diff --git a/lib_blackfin/outs.S b/arch/blackfin/lib/outs.S
similarity index 100%
rename from lib_blackfin/outs.S
rename to arch/blackfin/lib/outs.S
diff --git a/lib_blackfin/post.c b/arch/blackfin/lib/post.c
similarity index 100%
rename from lib_blackfin/post.c
rename to arch/blackfin/lib/post.c
diff --git a/lib_blackfin/string.c b/arch/blackfin/lib/string.c
similarity index 100%
rename from lib_blackfin/string.c
rename to arch/blackfin/lib/string.c
diff --git a/lib_blackfin/tests.c b/arch/blackfin/lib/tests.c
similarity index 100%
rename from lib_blackfin/tests.c
rename to arch/blackfin/lib/tests.c
diff --git a/lib_blackfin/u-boot.lds.S b/arch/blackfin/lib/u-boot.lds.S
similarity index 100%
rename from lib_blackfin/u-boot.lds.S
rename to arch/blackfin/lib/u-boot.lds.S
diff --git a/lib_i386/config.mk b/arch/i386/config.mk
similarity index 100%
rename from lib_i386/config.mk
rename to arch/i386/config.mk
diff --git a/lib_i386/Makefile b/arch/i386/lib/Makefile
similarity index 100%
rename from lib_i386/Makefile
rename to arch/i386/lib/Makefile
diff --git a/lib_i386/bios.S b/arch/i386/lib/bios.S
similarity index 100%
rename from lib_i386/bios.S
rename to arch/i386/lib/bios.S
diff --git a/lib_i386/bios.h b/arch/i386/lib/bios.h
similarity index 100%
rename from lib_i386/bios.h
rename to arch/i386/lib/bios.h
diff --git a/lib_i386/bios_pci.S b/arch/i386/lib/bios_pci.S
similarity index 100%
rename from lib_i386/bios_pci.S
rename to arch/i386/lib/bios_pci.S
diff --git a/lib_i386/bios_setup.c b/arch/i386/lib/bios_setup.c
similarity index 100%
rename from lib_i386/bios_setup.c
rename to arch/i386/lib/bios_setup.c
diff --git a/lib_i386/board.c b/arch/i386/lib/board.c
similarity index 100%
rename from lib_i386/board.c
rename to arch/i386/lib/board.c
diff --git a/lib_i386/bootm.c b/arch/i386/lib/bootm.c
similarity index 100%
rename from lib_i386/bootm.c
rename to arch/i386/lib/bootm.c
diff --git a/lib_i386/interrupts.c b/arch/i386/lib/interrupts.c
similarity index 100%
rename from lib_i386/interrupts.c
rename to arch/i386/lib/interrupts.c
diff --git a/lib_i386/pcat_interrupts.c b/arch/i386/lib/pcat_interrupts.c
similarity index 100%
rename from lib_i386/pcat_interrupts.c
rename to arch/i386/lib/pcat_interrupts.c
diff --git a/lib_i386/pcat_timer.c b/arch/i386/lib/pcat_timer.c
similarity index 100%
rename from lib_i386/pcat_timer.c
rename to arch/i386/lib/pcat_timer.c
diff --git a/lib_i386/pci.c b/arch/i386/lib/pci.c
similarity index 100%
rename from lib_i386/pci.c
rename to arch/i386/lib/pci.c
diff --git a/lib_i386/pci_type1.c b/arch/i386/lib/pci_type1.c
similarity index 100%
rename from lib_i386/pci_type1.c
rename to arch/i386/lib/pci_type1.c
diff --git a/lib_i386/realmode.c b/arch/i386/lib/realmode.c
similarity index 100%
rename from lib_i386/realmode.c
rename to arch/i386/lib/realmode.c
diff --git a/lib_i386/realmode_switch.S b/arch/i386/lib/realmode_switch.S
similarity index 100%
rename from lib_i386/realmode_switch.S
rename to arch/i386/lib/realmode_switch.S
diff --git a/lib_i386/timer.c b/arch/i386/lib/timer.c
similarity index 100%
rename from lib_i386/timer.c
rename to arch/i386/lib/timer.c
diff --git a/lib_i386/video.c b/arch/i386/lib/video.c
similarity index 100%
rename from lib_i386/video.c
rename to arch/i386/lib/video.c
diff --git a/lib_i386/video_bios.c b/arch/i386/lib/video_bios.c
similarity index 100%
rename from lib_i386/video_bios.c
rename to arch/i386/lib/video_bios.c
diff --git a/lib_i386/zimage.c b/arch/i386/lib/zimage.c
similarity index 100%
rename from lib_i386/zimage.c
rename to arch/i386/lib/zimage.c
diff --git a/lib_m68k/config.mk b/arch/m68k/config.mk
similarity index 100%
rename from lib_m68k/config.mk
rename to arch/m68k/config.mk
diff --git a/lib_m68k/Makefile b/arch/m68k/lib/Makefile
similarity index 100%
rename from lib_m68k/Makefile
rename to arch/m68k/lib/Makefile
diff --git a/lib_m68k/board.c b/arch/m68k/lib/board.c
similarity index 100%
rename from lib_m68k/board.c
rename to arch/m68k/lib/board.c
diff --git a/lib_m68k/bootm.c b/arch/m68k/lib/bootm.c
similarity index 100%
rename from lib_m68k/bootm.c
rename to arch/m68k/lib/bootm.c
diff --git a/lib_m68k/cache.c b/arch/m68k/lib/cache.c
similarity index 100%
rename from lib_m68k/cache.c
rename to arch/m68k/lib/cache.c
diff --git a/lib_m68k/interrupts.c b/arch/m68k/lib/interrupts.c
similarity index 100%
rename from lib_m68k/interrupts.c
rename to arch/m68k/lib/interrupts.c
diff --git a/lib_m68k/time.c b/arch/m68k/lib/time.c
similarity index 100%
rename from lib_m68k/time.c
rename to arch/m68k/lib/time.c
diff --git a/lib_m68k/traps.c b/arch/m68k/lib/traps.c
similarity index 100%
rename from lib_m68k/traps.c
rename to arch/m68k/lib/traps.c
diff --git a/lib_microblaze/config.mk b/arch/microblaze/config.mk
similarity index 100%
rename from lib_microblaze/config.mk
rename to arch/microblaze/config.mk
diff --git a/lib_microblaze/Makefile b/arch/microblaze/lib/Makefile
similarity index 100%
rename from lib_microblaze/Makefile
rename to arch/microblaze/lib/Makefile
diff --git a/lib_microblaze/board.c b/arch/microblaze/lib/board.c
similarity index 100%
rename from lib_microblaze/board.c
rename to arch/microblaze/lib/board.c
diff --git a/lib_microblaze/bootm.c b/arch/microblaze/lib/bootm.c
similarity index 100%
rename from lib_microblaze/bootm.c
rename to arch/microblaze/lib/bootm.c
diff --git a/lib_microblaze/cache.c b/arch/microblaze/lib/cache.c
similarity index 100%
rename from lib_microblaze/cache.c
rename to arch/microblaze/lib/cache.c
diff --git a/lib_microblaze/time.c b/arch/microblaze/lib/time.c
similarity index 100%
rename from lib_microblaze/time.c
rename to arch/microblaze/lib/time.c
diff --git a/lib_mips/config.mk b/arch/mips/config.mk
similarity index 100%
rename from lib_mips/config.mk
rename to arch/mips/config.mk
diff --git a/lib_mips/Makefile b/arch/mips/lib/Makefile
similarity index 100%
rename from lib_mips/Makefile
rename to arch/mips/lib/Makefile
diff --git a/lib_mips/board.c b/arch/mips/lib/board.c
similarity index 100%
rename from lib_mips/board.c
rename to arch/mips/lib/board.c
diff --git a/lib_mips/bootm.c b/arch/mips/lib/bootm.c
similarity index 100%
rename from lib_mips/bootm.c
rename to arch/mips/lib/bootm.c
diff --git a/lib_mips/bootm_qemu_mips.c b/arch/mips/lib/bootm_qemu_mips.c
similarity index 100%
rename from lib_mips/bootm_qemu_mips.c
rename to arch/mips/lib/bootm_qemu_mips.c
diff --git a/lib_mips/time.c b/arch/mips/lib/time.c
similarity index 100%
rename from lib_mips/time.c
rename to arch/mips/lib/time.c
diff --git a/lib_nios/config.mk b/arch/nios/config.mk
similarity index 100%
rename from lib_nios/config.mk
rename to arch/nios/config.mk
diff --git a/lib_nios/Makefile b/arch/nios/lib/Makefile
similarity index 100%
rename from lib_nios/Makefile
rename to arch/nios/lib/Makefile
diff --git a/lib_nios/board.c b/arch/nios/lib/board.c
similarity index 100%
rename from lib_nios/board.c
rename to arch/nios/lib/board.c
diff --git a/lib_nios/bootm.c b/arch/nios/lib/bootm.c
similarity index 100%
rename from lib_nios/bootm.c
rename to arch/nios/lib/bootm.c
diff --git a/lib_nios/cache.c b/arch/nios/lib/cache.c
similarity index 100%
rename from lib_nios/cache.c
rename to arch/nios/lib/cache.c
diff --git a/lib_nios/divmod.c b/arch/nios/lib/divmod.c
similarity index 100%
rename from lib_nios/divmod.c
rename to arch/nios/lib/divmod.c
diff --git a/lib_nios/math.h b/arch/nios/lib/math.h
similarity index 100%
rename from lib_nios/math.h
rename to arch/nios/lib/math.h
diff --git a/lib_nios/mult.c b/arch/nios/lib/mult.c
similarity index 100%
rename from lib_nios/mult.c
rename to arch/nios/lib/mult.c
diff --git a/lib_nios/time.c b/arch/nios/lib/time.c
similarity index 100%
rename from lib_nios/time.c
rename to arch/nios/lib/time.c
diff --git a/lib_nios2/config.mk b/arch/nios2/config.mk
similarity index 100%
rename from lib_nios2/config.mk
rename to arch/nios2/config.mk
diff --git a/lib_nios2/Makefile b/arch/nios2/lib/Makefile
similarity index 100%
rename from lib_nios2/Makefile
rename to arch/nios2/lib/Makefile
diff --git a/lib_nios2/board.c b/arch/nios2/lib/board.c
similarity index 100%
rename from lib_nios2/board.c
rename to arch/nios2/lib/board.c
diff --git a/lib_nios2/bootm.c b/arch/nios2/lib/bootm.c
similarity index 100%
rename from lib_nios2/bootm.c
rename to arch/nios2/lib/bootm.c
diff --git a/lib_nios2/cache.S b/arch/nios2/lib/cache.S
similarity index 100%
rename from lib_nios2/cache.S
rename to arch/nios2/lib/cache.S
diff --git a/lib_nios2/divmod.c b/arch/nios2/lib/divmod.c
similarity index 100%
rename from lib_nios2/divmod.c
rename to arch/nios2/lib/divmod.c
diff --git a/lib_nios2/math.h b/arch/nios2/lib/math.h
similarity index 100%
rename from lib_nios2/math.h
rename to arch/nios2/lib/math.h
diff --git a/lib_nios2/mult.c b/arch/nios2/lib/mult.c
similarity index 100%
rename from lib_nios2/mult.c
rename to arch/nios2/lib/mult.c
diff --git a/lib_nios2/time.c b/arch/nios2/lib/time.c
similarity index 100%
rename from lib_nios2/time.c
rename to arch/nios2/lib/time.c
diff --git a/lib_ppc/config.mk b/arch/ppc/config.mk
similarity index 100%
rename from lib_ppc/config.mk
rename to arch/ppc/config.mk
diff --git a/lib_ppc/Makefile b/arch/ppc/lib/Makefile
similarity index 100%
rename from lib_ppc/Makefile
rename to arch/ppc/lib/Makefile
diff --git a/lib_ppc/bat_rw.c b/arch/ppc/lib/bat_rw.c
similarity index 100%
rename from lib_ppc/bat_rw.c
rename to arch/ppc/lib/bat_rw.c
diff --git a/lib_ppc/board.c b/arch/ppc/lib/board.c
similarity index 100%
rename from lib_ppc/board.c
rename to arch/ppc/lib/board.c
diff --git a/lib_ppc/bootm.c b/arch/ppc/lib/bootm.c
similarity index 100%
rename from lib_ppc/bootm.c
rename to arch/ppc/lib/bootm.c
diff --git a/lib_ppc/cache.c b/arch/ppc/lib/cache.c
similarity index 100%
rename from lib_ppc/cache.c
rename to arch/ppc/lib/cache.c
diff --git a/lib_ppc/extable.c b/arch/ppc/lib/extable.c
similarity index 100%
rename from lib_ppc/extable.c
rename to arch/ppc/lib/extable.c
diff --git a/lib_ppc/interrupts.c b/arch/ppc/lib/interrupts.c
similarity index 100%
rename from lib_ppc/interrupts.c
rename to arch/ppc/lib/interrupts.c
diff --git a/lib_ppc/kgdb.c b/arch/ppc/lib/kgdb.c
similarity index 100%
rename from lib_ppc/kgdb.c
rename to arch/ppc/lib/kgdb.c
diff --git a/lib_ppc/ppccache.S b/arch/ppc/lib/ppccache.S
similarity index 100%
rename from lib_ppc/ppccache.S
rename to arch/ppc/lib/ppccache.S
diff --git a/lib_ppc/ppcstring.S b/arch/ppc/lib/ppcstring.S
similarity index 100%
rename from lib_ppc/ppcstring.S
rename to arch/ppc/lib/ppcstring.S
diff --git a/lib_ppc/reloc.S b/arch/ppc/lib/reloc.S
similarity index 100%
rename from lib_ppc/reloc.S
rename to arch/ppc/lib/reloc.S
diff --git a/lib_ppc/ticks.S b/arch/ppc/lib/ticks.S
similarity index 100%
rename from lib_ppc/ticks.S
rename to arch/ppc/lib/ticks.S
diff --git a/lib_ppc/time.c b/arch/ppc/lib/time.c
similarity index 100%
rename from lib_ppc/time.c
rename to arch/ppc/lib/time.c
diff --git a/lib_sh/config.mk b/arch/sh/config.mk
similarity index 100%
rename from lib_sh/config.mk
rename to arch/sh/config.mk
diff --git a/lib_sh/Makefile b/arch/sh/lib/Makefile
similarity index 100%
rename from lib_sh/Makefile
rename to arch/sh/lib/Makefile
diff --git a/lib_sh/board.c b/arch/sh/lib/board.c
similarity index 100%
rename from lib_sh/board.c
rename to arch/sh/lib/board.c
diff --git a/lib_sh/bootm.c b/arch/sh/lib/bootm.c
similarity index 100%
rename from lib_sh/bootm.c
rename to arch/sh/lib/bootm.c
diff --git a/lib_sh/time.c b/arch/sh/lib/time.c
similarity index 100%
rename from lib_sh/time.c
rename to arch/sh/lib/time.c
diff --git a/lib_sh/time_sh2.c b/arch/sh/lib/time_sh2.c
similarity index 100%
rename from lib_sh/time_sh2.c
rename to arch/sh/lib/time_sh2.c
diff --git a/lib_sparc/config.mk b/arch/sparc/config.mk
similarity index 100%
rename from lib_sparc/config.mk
rename to arch/sparc/config.mk
diff --git a/lib_sparc/Makefile b/arch/sparc/lib/Makefile
similarity index 100%
rename from lib_sparc/Makefile
rename to arch/sparc/lib/Makefile
diff --git a/lib_sparc/board.c b/arch/sparc/lib/board.c
similarity index 100%
rename from lib_sparc/board.c
rename to arch/sparc/lib/board.c
diff --git a/lib_sparc/bootm.c b/arch/sparc/lib/bootm.c
similarity index 100%
rename from lib_sparc/bootm.c
rename to arch/sparc/lib/bootm.c
diff --git a/lib_sparc/cache.c b/arch/sparc/lib/cache.c
similarity index 100%
rename from lib_sparc/cache.c
rename to arch/sparc/lib/cache.c
diff --git a/lib_sparc/interrupts.c b/arch/sparc/lib/interrupts.c
similarity index 100%
rename from lib_sparc/interrupts.c
rename to arch/sparc/lib/interrupts.c
diff --git a/lib_sparc/time.c b/arch/sparc/lib/time.c
similarity index 100%
rename from lib_sparc/time.c
rename to arch/sparc/lib/time.c
diff --git a/board/LEOX/elpt860/u-boot.lds b/board/LEOX/elpt860/u-boot.lds
index 3c44b3e..32778ca 100644
--- a/board/LEOX/elpt860/u-boot.lds
+++ b/board/LEOX/elpt860/u-boot.lds
@@ -66,15 +66,15 @@ SECTIONS
 
     cpu/mpc8xx/start.o			(.text)
     common/dlmalloc.o			(.text)
-    lib_ppc/ppcstring.o			(.text)
+    arch/ppc/lib/ppcstring.o			(.text)
     lib_generic/vsprintf.o		(.text)
     lib_generic/crc32.o			(.text)
     lib_generic/zlib.o			(.text)
     lib_generic/string.o		(.text)
-    lib_ppc/cache.o			(.text)
-    lib_ppc/extable.o			(.text)
-    lib_ppc/time.o			(.text)
-    lib_ppc/ticks.o			(.text)
+    arch/ppc/lib/cache.o			(.text)
+    arch/ppc/lib/extable.o			(.text)
+    arch/ppc/lib/time.o			(.text)
+    arch/ppc/lib/ticks.o			(.text)
 
     . = env_offset;
     common/env_embedded.o		(.text)
diff --git a/board/RPXClassic/u-boot.lds b/board/RPXClassic/u-boot.lds
index 47247ec..c354ff8 100644
--- a/board/RPXClassic/u-boot.lds
+++ b/board/RPXClassic/u-boot.lds
@@ -57,7 +57,7 @@ SECTIONS
 
     cpu/mpc8xx/start.o	(.text)
     common/dlmalloc.o	(.text)
-    lib_ppc/ppcstring.o	(.text)
+    arch/ppc/lib/ppcstring.o	(.text)
     lib_generic/vsprintf.o	(.text)
     lib_generic/crc32.o		(.text)
     lib_generic/zlib.o		(.text)
diff --git a/board/RPXlite/u-boot.lds b/board/RPXlite/u-boot.lds
index 47247ec..c354ff8 100644
--- a/board/RPXlite/u-boot.lds
+++ b/board/RPXlite/u-boot.lds
@@ -57,7 +57,7 @@ SECTIONS
 
     cpu/mpc8xx/start.o	(.text)
     common/dlmalloc.o	(.text)
-    lib_ppc/ppcstring.o	(.text)
+    arch/ppc/lib/ppcstring.o	(.text)
     lib_generic/vsprintf.o	(.text)
     lib_generic/crc32.o		(.text)
     lib_generic/zlib.o		(.text)
diff --git a/board/RPXlite_dw/u-boot.lds b/board/RPXlite_dw/u-boot.lds
index 7ae7be0..89aafff 100644
--- a/board/RPXlite_dw/u-boot.lds
+++ b/board/RPXlite_dw/u-boot.lds
@@ -57,7 +57,7 @@ SECTIONS
 
     cpu/mpc8xx/start.o	(.text)
     common/dlmalloc.o	(.text)
-    lib_ppc/ppcstring.o	(.text)
+    arch/ppc/lib/ppcstring.o	(.text)
     lib_generic/vsprintf.o	(.text)
     lib_generic/crc32.o		(.text)
     lib_generic/zlib.o		(.text)
diff --git a/board/RRvision/u-boot.lds b/board/RRvision/u-boot.lds
index f22b25f..88644a4 100644
--- a/board/RRvision/u-boot.lds
+++ b/board/RRvision/u-boot.lds
@@ -58,12 +58,12 @@ SECTIONS
     cpu/mpc8xx/start.o		(.text)
     cpu/mpc8xx/traps.o		(.text)
     common/dlmalloc.o		(.text)
-    lib_ppc/ppcstring.o		(.text)
+    arch/ppc/lib/ppcstring.o		(.text)
     lib_generic/vsprintf.o	(.text)
     lib_generic/crc32.o		(.text)
     lib_generic/zlib.o		(.text)
-    lib_ppc/cache.o		(.text)
-    lib_ppc/time.o		(.text)
+    arch/ppc/lib/cache.o		(.text)
+    arch/ppc/lib/time.o		(.text)
 
     . = env_offset;
     common/env_embedded.o	(.ppcenv)
diff --git a/board/actux1/u-boot.lds b/board/actux1/u-boot.lds
index 836775f..1087167 100644
--- a/board/actux1/u-boot.lds
+++ b/board/actux1/u-boot.lds
@@ -33,7 +33,7 @@ SECTIONS
 		cpu/ixp/start.o(.text)
 		lib_generic/string.o(.text)
 		lib_generic/vsprintf.o(.text)
-		lib_arm/board.o(.text)
+		arch/arm/lib/board.o(.text)
 		common/dlmalloc.o(.text)
 		cpu/ixp/cpu.o(.text)
 		. = env_offset;
diff --git a/board/actux2/u-boot.lds b/board/actux2/u-boot.lds
index 0752656..543af30 100644
--- a/board/actux2/u-boot.lds
+++ b/board/actux2/u-boot.lds
@@ -33,7 +33,7 @@ SECTIONS
 		cpu/ixp/start.o(.text)
 		lib_generic/string.o(.text)
 		lib_generic/vsprintf.o(.text)
-		lib_arm/board.o(.text)
+		arch/arm/lib/board.o(.text)
 		common/dlmalloc.o(.text)
 		cpu/ixp/cpu.o(.text)
 
diff --git a/board/actux3/u-boot.lds b/board/actux3/u-boot.lds
index a69e7db..f63251d 100644
--- a/board/actux3/u-boot.lds
+++ b/board/actux3/u-boot.lds
@@ -33,7 +33,7 @@ SECTIONS
 		cpu/ixp/start.o (.text)
 		lib_generic/string.o (.text)
 		lib_generic/vsprintf.o (.text)
-		lib_arm/board.o (.text)
+		arch/arm/lib/board.o (.text)
 		common/dlmalloc.o (.text)
 		cpu/ixp/cpu.o (.text)
 
diff --git a/board/amirix/ap1000/u-boot.lds b/board/amirix/ap1000/u-boot.lds
index 707203d..10308d5 100644
--- a/board/amirix/ap1000/u-boot.lds
+++ b/board/amirix/ap1000/u-boot.lds
@@ -65,7 +65,7 @@ SECTIONS
     cpu/ppc4xx/speed.o	(.text)
     common/dlmalloc.o	(.text)
     lib_generic/crc32.o		(.text)
-    lib_ppc/extable.o	(.text)
+    arch/ppc/lib/extable.o	(.text)
     lib_generic/zlib.o		(.text)
 
 /*    . = env_offset;*/
diff --git a/board/astro/mcf5373l/u-boot.lds b/board/astro/mcf5373l/u-boot.lds
index a9a4e0a..7fbe16f 100644
--- a/board/astro/mcf5373l/u-boot.lds
+++ b/board/astro/mcf5373l/u-boot.lds
@@ -56,8 +56,8 @@ SECTIONS
     /* the sector layout of our flash chips!	XXX FIXME XXX	*/
 
     cpu/mcf532x/start.o		(.text)
-    lib_m68k/traps.o		(.text)
-    lib_m68k/interrupts.o	(.text)
+    arch/m68k/lib/traps.o		(.text)
+    arch/m68k/lib/interrupts.o	(.text)
     common/dlmalloc.o		(.text)
     lib_generic/zlib.o		(.text)
 
diff --git a/board/c2mon/u-boot.lds b/board/c2mon/u-boot.lds
index 2d0efb3..0571f02 100644
--- a/board/c2mon/u-boot.lds
+++ b/board/c2mon/u-boot.lds
@@ -57,7 +57,7 @@ SECTIONS
 
     cpu/mpc8xx/start.o	(.text)
     common/dlmalloc.o	(.text)
-    lib_ppc/ppcstring.o	(.text)
+    arch/ppc/lib/ppcstring.o	(.text)
     lib_generic/vsprintf.o	(.text)
     lib_generic/crc32.o		(.text)
     lib_generic/zlib.o		(.text)
diff --git a/board/cobra5272/u-boot.lds b/board/cobra5272/u-boot.lds
index 7e716bb..8989880 100644
--- a/board/cobra5272/u-boot.lds
+++ b/board/cobra5272/u-boot.lds
@@ -56,7 +56,7 @@ SECTIONS
     /* the sector layout of our flash chips!	XXX FIXME XXX	*/
     cpu/mcf52x2/start.o		(.text)
     cpu/mcf52x2/cpu_init.o	(.text)
-    lib_m68k/traps.o		(.text)
+    arch/m68k/lib/traps.o		(.text)
     cpu/mcf52x2/interrupts.o	(.text)
     common/dlmalloc.o		(.text)
     lib_generic/zlib.o		(.text)
diff --git a/board/cray/L1/u-boot.lds.debug b/board/cray/L1/u-boot.lds.debug
index 970628d..40d2f78 100644
--- a/board/cray/L1/u-boot.lds.debug
+++ b/board/cray/L1/u-boot.lds.debug
@@ -59,7 +59,7 @@ SECTIONS
     common/dlmalloc.o	(.text)
     lib_generic/vsprintf.o	(.text)
     lib_generic/crc32.o		(.text)
-    lib_ppc/extable.o	(.text)
+    arch/ppc/lib/extable.o	(.text)
 
     common/env_embedded.o(.text)
 
diff --git a/board/emk/top860/u-boot.lds.debug b/board/emk/top860/u-boot.lds.debug
index bfe8513..4e4943f 100644
--- a/board/emk/top860/u-boot.lds.debug
+++ b/board/emk/top860/u-boot.lds.debug
@@ -59,7 +59,7 @@ SECTIONS
     common/dlmalloc.o	(.text)
     lib_generic/vsprintf.o	(.text)
     lib_generic/crc32.o		(.text)
-    lib_ppc/extable.o	(.text)
+    arch/ppc/lib/extable.o	(.text)
 
     . = env_offset;
     common/env_embedded.o(.text)
diff --git a/board/esd/tasreg/u-boot.lds b/board/esd/tasreg/u-boot.lds
index e3230b9..54e0169 100644
--- a/board/esd/tasreg/u-boot.lds
+++ b/board/esd/tasreg/u-boot.lds
@@ -56,7 +56,7 @@ SECTIONS
     /* the sector layout of our flash chips!	XXX FIXME XXX	*/
 
     cpu/mcf52x2/start.o		(.text)
-    lib_m68k/traps.o		(.text)
+    arch/m68k/lib/traps.o		(.text)
     cpu/mcf52x2/interrupts.o	(.text)
     common/dlmalloc.o		(.text)
     lib_generic/zlib.o		(.text)
diff --git a/board/esteem192e/u-boot.lds b/board/esteem192e/u-boot.lds
index 3e4490e..215a2c4 100644
--- a/board/esteem192e/u-boot.lds
+++ b/board/esteem192e/u-boot.lds
@@ -57,7 +57,7 @@ SECTIONS
 
     cpu/mpc8xx/start.o	(.text)
     common/dlmalloc.o	(.text)
-    lib_ppc/ppcstring.o	(.text)
+    arch/ppc/lib/ppcstring.o	(.text)
     lib_generic/vsprintf.o	(.text)
     lib_generic/crc32.o		(.text)
     lib_generic/zlib.o		(.text)
diff --git a/board/etx094/u-boot.lds.debug b/board/etx094/u-boot.lds.debug
index 1af61fb..dd4dbfa 100644
--- a/board/etx094/u-boot.lds.debug
+++ b/board/etx094/u-boot.lds.debug
@@ -62,8 +62,8 @@ SECTIONS
     cpu/mpc8xx/cpu_init.o	(.text)
     cpu/mpc8xx/speed.o	(.text)
     cpu/mpc8xx/serial.o	(.text)
-    lib_ppc/extable.o	(.text)
-    lib_ppc/ppcstring.o	(.text)
+    arch/ppc/lib/extable.o	(.text)
+    arch/ppc/lib/ppcstring.o	(.text)
     lib_generic/string.o	(.text)
     lib_generic/crc32.o		(.text)
     common/dlmalloc.o	(.text)
diff --git a/board/fads/u-boot.lds.debug b/board/fads/u-boot.lds.debug
index 0a3b958..8d91aed 100644
--- a/board/fads/u-boot.lds.debug
+++ b/board/fads/u-boot.lds.debug
@@ -59,7 +59,7 @@ SECTIONS
     common/dlmalloc.o	(.text)
     lib_generic/vsprintf.o	(.text)
     lib_generic/crc32.o		(.text)
-    lib_ppc/extable.o	(.text)
+    arch/ppc/lib/extable.o	(.text)
 
     . = env_offset;
     common/env_embedded.o(.text)
diff --git a/board/freescale/m5208evbe/u-boot.lds b/board/freescale/m5208evbe/u-boot.lds
index bc9d5cd..3877527 100644
--- a/board/freescale/m5208evbe/u-boot.lds
+++ b/board/freescale/m5208evbe/u-boot.lds
@@ -57,7 +57,7 @@ SECTIONS
 
     cpu/mcf52x2/start.o		(.text)
     cpu/mcf52x2/libmcf52x2.a	(.text)
-    lib_m68k/libm68k.a		(.text)
+    arch/m68k/lib/libm68k.a		(.text)
     common/dlmalloc.o		(.text)
 
     . = DEFINED(env_offset) ? env_offset : .;
diff --git a/board/freescale/m52277evb/u-boot.spa b/board/freescale/m52277evb/u-boot.spa
index 7ae70d4..23d5710 100644
--- a/board/freescale/m52277evb/u-boot.spa
+++ b/board/freescale/m52277evb/u-boot.spa
@@ -57,7 +57,7 @@ SECTIONS
 
     cpu/mcf5227x/start.o	(.text)
     cpu/mcf5227x/libmcf5227x.a	(.text)
-    lib_m68k/libm68k.a		(.text)
+    arch/m68k/lib/libm68k.a		(.text)
     lib_generic/libgeneric.a	(.text)
     common/cmd_mem.o		(.text)
     common/main.o		(.text)
diff --git a/board/freescale/m5235evb/u-boot.16 b/board/freescale/m5235evb/u-boot.16
index c134884..940da14 100644
--- a/board/freescale/m5235evb/u-boot.16
+++ b/board/freescale/m5235evb/u-boot.16
@@ -57,8 +57,8 @@ SECTIONS
 
     cpu/mcf523x/start.o		(.text)
     cpu/mcf523x/cpu_init.o	(.text)
-    lib_m68k/traps.o		(.text)
-    lib_m68k/interrupts.o	(.text)
+    arch/m68k/lib/traps.o		(.text)
+    arch/m68k/lib/interrupts.o	(.text)
     common/dlmalloc.o		(.text)
     lib_generic/zlib.o		(.text)
 
diff --git a/board/freescale/m5235evb/u-boot.32 b/board/freescale/m5235evb/u-boot.32
index 53c337d..50045e1 100644
--- a/board/freescale/m5235evb/u-boot.32
+++ b/board/freescale/m5235evb/u-boot.32
@@ -60,7 +60,7 @@ SECTIONS
     cpu/mcf523x/cpu_init.o	(.text)
     cpu/mcf523x/interrupts.o	(.text)
     cpu/mcf523x/speed.o		(.text)
-    lib_m68k/libm68k.a		(.text)
+    arch/m68k/lib/libm68k.a		(.text)
     common/dlmalloc.o		(.text)
     common/cmd_bootm.o		(.text)
     common/cmd_flash.o		(.text)
diff --git a/board/freescale/m5249evb/u-boot.lds b/board/freescale/m5249evb/u-boot.lds
index e3230b9..54e0169 100644
--- a/board/freescale/m5249evb/u-boot.lds
+++ b/board/freescale/m5249evb/u-boot.lds
@@ -56,7 +56,7 @@ SECTIONS
     /* the sector layout of our flash chips!	XXX FIXME XXX	*/
 
     cpu/mcf52x2/start.o		(.text)
-    lib_m68k/traps.o		(.text)
+    arch/m68k/lib/traps.o		(.text)
     cpu/mcf52x2/interrupts.o	(.text)
     common/dlmalloc.o		(.text)
     lib_generic/zlib.o		(.text)
diff --git a/board/freescale/m5253demo/u-boot.lds b/board/freescale/m5253demo/u-boot.lds
index 6cb5ee0..e53e67d 100644
--- a/board/freescale/m5253demo/u-boot.lds
+++ b/board/freescale/m5253demo/u-boot.lds
@@ -56,7 +56,7 @@ SECTIONS
     /* the sector layout of our flash chips!	XXX FIXME XXX	*/
 
     cpu/mcf52x2/start.o		(.text)
-    lib_m68k/traps.o		(.text)
+    arch/m68k/lib/traps.o		(.text)
     cpu/mcf52x2/interrupts.o	(.text)
     common/dlmalloc.o		(.text)
     lib_generic/zlib.o		(.text)
diff --git a/board/freescale/m5253evbe/u-boot.lds b/board/freescale/m5253evbe/u-boot.lds
index 132fccf..7f4dc27 100644
--- a/board/freescale/m5253evbe/u-boot.lds
+++ b/board/freescale/m5253evbe/u-boot.lds
@@ -56,7 +56,7 @@ SECTIONS
     /* the sector layout of our flash chips!	XXX FIXME XXX	*/
 
     cpu/mcf52x2/start.o		(.text)
-    lib_m68k/traps.o		(.text)
+    arch/m68k/lib/traps.o		(.text)
     cpu/mcf52x2/interrupts.o	(.text)
     common/dlmalloc.o		(.text)
     lib_generic/zlib.o		(.text)
diff --git a/board/freescale/m5271evb/u-boot.lds b/board/freescale/m5271evb/u-boot.lds
index 00c1f2a..713b18a 100644
--- a/board/freescale/m5271evb/u-boot.lds
+++ b/board/freescale/m5271evb/u-boot.lds
@@ -57,7 +57,7 @@ SECTIONS
     /* the sector layout of our flash chips!	XXX FIXME XXX	*/
 
     cpu/mcf52x2/start.o		(.text)
-    lib_m68k/traps.o		(.text)
+    arch/m68k/lib/traps.o		(.text)
     cpu/mcf52x2/interrupts.o	(.text)
     common/dlmalloc.o		(.text)
     lib_generic/zlib.o		(.text)
diff --git a/board/freescale/m5272c3/u-boot.lds b/board/freescale/m5272c3/u-boot.lds
index 9d20b22..446ec1b 100644
--- a/board/freescale/m5272c3/u-boot.lds
+++ b/board/freescale/m5272c3/u-boot.lds
@@ -56,7 +56,7 @@ SECTIONS
     /* the sector layout of our flash chips!	XXX FIXME XXX	*/
 
     cpu/mcf52x2/start.o		(.text)
-    lib_m68k/traps.o		(.text)
+    arch/m68k/lib/traps.o		(.text)
     cpu/mcf52x2/interrupts.o	(.text)
     common/dlmalloc.o		(.text)
     lib_generic/zlib.o		(.text)
diff --git a/board/freescale/m53017evb/u-boot.lds b/board/freescale/m53017evb/u-boot.lds
index c79d06c..fe0e314 100644
--- a/board/freescale/m53017evb/u-boot.lds
+++ b/board/freescale/m53017evb/u-boot.lds
@@ -57,7 +57,7 @@ SECTIONS
 
     cpu/mcf532x/start.o		(.text)
     cpu/mcf532x/libmcf532x.a	(.text)
-    lib_m68k/libm68k.a		(.text)
+    arch/m68k/lib/libm68k.a		(.text)
     common/dlmalloc.o		(.text)
     lib_generic/zlib.o		(.text)
 
diff --git a/board/freescale/m5329evb/u-boot.lds b/board/freescale/m5329evb/u-boot.lds
index af31098..0ed87ff 100644
--- a/board/freescale/m5329evb/u-boot.lds
+++ b/board/freescale/m5329evb/u-boot.lds
@@ -56,8 +56,8 @@ SECTIONS
     /* the sector layout of our flash chips!	XXX FIXME XXX	*/
 
     cpu/mcf532x/start.o		(.text)
-    lib_m68k/traps.o		(.text)
-    lib_m68k/interrupts.o	(.text)
+    arch/m68k/lib/traps.o		(.text)
+    arch/m68k/lib/interrupts.o	(.text)
     common/dlmalloc.o		(.text)
     lib_generic/zlib.o		(.text)
 
diff --git a/board/freescale/m5373evb/u-boot.lds b/board/freescale/m5373evb/u-boot.lds
index dff74b6..605452b 100644
--- a/board/freescale/m5373evb/u-boot.lds
+++ b/board/freescale/m5373evb/u-boot.lds
@@ -56,8 +56,8 @@ SECTIONS
     /* the sector layout of our flash chips!	XXX FIXME XXX	*/
 
     cpu/mcf532x/start.o		(.text)
-    lib_m68k/traps.o		(.text)
-    lib_m68k/interrupts.o	(.text)
+    arch/m68k/lib/traps.o		(.text)
+    arch/m68k/lib/interrupts.o	(.text)
     common/dlmalloc.o		(.text)
     lib_generic/zlib.o		(.text)
 
diff --git a/board/freescale/m54451evb/u-boot.spa b/board/freescale/m54451evb/u-boot.spa
index d8caefa..569518b 100644
--- a/board/freescale/m54451evb/u-boot.spa
+++ b/board/freescale/m54451evb/u-boot.spa
@@ -57,7 +57,7 @@ SECTIONS
 
     cpu/mcf5445x/start.o		(.text)
     cpu/mcf5445x/libmcf5445x.a	(.text)
-    lib_m68k/libm68k.a		(.text)
+    arch/m68k/lib/libm68k.a		(.text)
     common/cmd_flash.o		(.text)
     common/dlmalloc.o		(.text)
     common/main.o		(.text)
diff --git a/board/freescale/m54451evb/u-boot.stm b/board/freescale/m54451evb/u-boot.stm
index e9eac67..1b06b12 100644
--- a/board/freescale/m54451evb/u-boot.stm
+++ b/board/freescale/m54451evb/u-boot.stm
@@ -61,7 +61,7 @@ SECTIONS
     cpu/mcf5445x/dspi.o			(.text)
     cpu/mcf5445x/interrupt.o		(.text)
     cpu/mcf5445x/speed.o		(.text)
-    lib_m68k/board.o			(.text)
+    arch/m68k/lib/board.o			(.text)
     common/serial.o			(.text)
     common/console.o			(.text)
     lib_generic/display_options.o	(.text)
diff --git a/board/freescale/m54455evb/u-boot.atm b/board/freescale/m54455evb/u-boot.atm
index 08e184c..c48dd75 100644
--- a/board/freescale/m54455evb/u-boot.atm
+++ b/board/freescale/m54455evb/u-boot.atm
@@ -56,8 +56,8 @@ SECTIONS
     /* the sector layout of our flash chips!	XXX FIXME XXX	*/
 
     cpu/mcf5445x/start.o		(.text)
-    lib_m68k/traps.o		(.text)
-    lib_m68k/interrupts.o	(.text)
+    arch/m68k/lib/traps.o		(.text)
+    arch/m68k/lib/interrupts.o	(.text)
     common/dlmalloc.o		(.text)
     lib_generic/zlib.o		(.text)
 
diff --git a/board/freescale/m54455evb/u-boot.int b/board/freescale/m54455evb/u-boot.int
index 4d504a2..ef07174 100644
--- a/board/freescale/m54455evb/u-boot.int
+++ b/board/freescale/m54455evb/u-boot.int
@@ -56,8 +56,8 @@ SECTIONS
     /* the sector layout of our flash chips!	XXX FIXME XXX	*/
 
     cpu/mcf5445x/start.o		(.text)
-    lib_m68k/traps.o		(.text)
-    lib_m68k/interrupts.o	(.text)
+    arch/m68k/lib/traps.o		(.text)
+    arch/m68k/lib/interrupts.o	(.text)
     common/dlmalloc.o		(.text)
     lib_generic/zlib.o		(.text)
 
diff --git a/board/freescale/m547xevb/u-boot.lds b/board/freescale/m547xevb/u-boot.lds
index a3014bd..5f28a10 100644
--- a/board/freescale/m547xevb/u-boot.lds
+++ b/board/freescale/m547xevb/u-boot.lds
@@ -56,8 +56,8 @@ SECTIONS
     /* the sector layout of our flash chips!	XXX FIXME XXX	*/
 
     cpu/mcf547x_8x/start.o		(.text)
-    lib_m68k/traps.o		(.text)
-    lib_m68k/interrupts.o	(.text)
+    arch/m68k/lib/traps.o		(.text)
+    arch/m68k/lib/interrupts.o	(.text)
     common/dlmalloc.o		(.text)
 
     . = DEFINED(env_offset) ? env_offset : .;
diff --git a/board/freescale/m548xevb/u-boot.lds b/board/freescale/m548xevb/u-boot.lds
index a3014bd..5f28a10 100644
--- a/board/freescale/m548xevb/u-boot.lds
+++ b/board/freescale/m548xevb/u-boot.lds
@@ -56,8 +56,8 @@ SECTIONS
     /* the sector layout of our flash chips!	XXX FIXME XXX	*/
 
     cpu/mcf547x_8x/start.o		(.text)
-    lib_m68k/traps.o		(.text)
-    lib_m68k/interrupts.o	(.text)
+    arch/m68k/lib/traps.o		(.text)
+    arch/m68k/lib/interrupts.o	(.text)
     common/dlmalloc.o		(.text)
 
     . = DEFINED(env_offset) ? env_offset : .;
diff --git a/board/freescale/mpc7448hpc2/tsi108_init.c b/board/freescale/mpc7448hpc2/tsi108_init.c
index 74bb564..c6a3ade 100644
--- a/board/freescale/mpc7448hpc2/tsi108_init.c
+++ b/board/freescale/mpc7448hpc2/tsi108_init.c
@@ -323,7 +323,7 @@ int board_early_init_r (void)
 	 * We will over-ride the env_init called in board_init_f
 	 * This is really a work-around because, the HLP bank 1
 	 * where NVRAM resides is not visible during board_init_f
-	 * (lib_ppc/board.c)
+	 * (arch/ppc/lib/board.c)
 	 * Alternatively, we could use the I2C EEPROM at start-up to configure
 	 * and enable all HLP banks and not just HLP 0 as is being done for
 	 * Taiga Rev. 2.
diff --git a/board/freescale/mpc8610hpcd/u-boot.lds b/board/freescale/mpc8610hpcd/u-boot.lds
index b573807..2ad0f0e 100644
--- a/board/freescale/mpc8610hpcd/u-boot.lds
+++ b/board/freescale/mpc8610hpcd/u-boot.lds
@@ -58,7 +58,7 @@ SECTIONS
     cpu/mpc86xx/speed.o (.text)
     common/dlmalloc.o (.text)
     lib_generic/crc32.o (.text)
-    lib_ppc/extable.o (.text)
+    arch/ppc/lib/extable.o (.text)
     lib_generic/zlib.o (.text)
     *(.text)
     *(.got1)
diff --git a/board/freescale/mpc8641hpcn/u-boot.lds b/board/freescale/mpc8641hpcn/u-boot.lds
index 2b98b5a..796828a 100644
--- a/board/freescale/mpc8641hpcn/u-boot.lds
+++ b/board/freescale/mpc8641hpcn/u-boot.lds
@@ -58,7 +58,7 @@ SECTIONS
     cpu/mpc86xx/speed.o (.text)
     common/dlmalloc.o (.text)
     lib_generic/crc32.o (.text)
-    lib_ppc/extable.o (.text)
+    arch/ppc/lib/extable.o (.text)
     lib_generic/zlib.o (.text)
     drivers/bios_emulator/atibios.o (.text)
     *(.text)
diff --git a/board/freescale/mx31ads/u-boot.lds b/board/freescale/mx31ads/u-boot.lds
index 3182aa6..6f5bda4 100644
--- a/board/freescale/mx31ads/u-boot.lds
+++ b/board/freescale/mx31ads/u-boot.lds
@@ -39,7 +39,7 @@ SECTIONS
 
 	  cpu/arm1136/start.o			(.text)
 	  board/freescale/mx31ads/libmx31ads.a	(.text)
-	  lib_arm/libarm.a			(.text)
+	  arch/arm/lib/libarm.a			(.text)
 	  net/libnet.a				(.text)
 	  drivers/mtd/libmtd.a			(.text)
 
diff --git a/board/genietv/u-boot.lds b/board/genietv/u-boot.lds
index 716efcd..9fc71a2 100644
--- a/board/genietv/u-boot.lds
+++ b/board/genietv/u-boot.lds
@@ -57,7 +57,7 @@ SECTIONS
 
     cpu/mpc8xx/start.o	(.text)
     common/dlmalloc.o	(.text)
-    lib_ppc/ppcstring.o	(.text)
+    arch/ppc/lib/ppcstring.o	(.text)
     lib_generic/vsprintf.o	(.text)
     lib_generic/crc32.o		(.text)
     lib_generic/zlib.o		(.text)
diff --git a/board/genietv/u-boot.lds.debug b/board/genietv/u-boot.lds.debug
index 3568e6d..9bb2c58 100644
--- a/board/genietv/u-boot.lds.debug
+++ b/board/genietv/u-boot.lds.debug
@@ -57,7 +57,7 @@ SECTIONS
 
     cpu/mpc8xx/start.o	(.text)
     common/dlmalloc.o	(.text)
-    lib_ppc/ppcstring.o	(.text)
+    arch/ppc/lib/ppcstring.o	(.text)
     lib_generic/vsprintf.o	(.text)
     lib_generic/crc32.o		(.text)
     lib_generic/zlib.o		(.text)
diff --git a/board/hermes/u-boot.lds b/board/hermes/u-boot.lds
index 7b74cb7..1252baf 100644
--- a/board/hermes/u-boot.lds
+++ b/board/hermes/u-boot.lds
@@ -58,9 +58,9 @@ SECTIONS
     cpu/mpc8xx/start.o		(.text)
     common/dlmalloc.o		(.text)
     cpu/mpc8xx/interrupts.o	(.text)
-    lib_ppc/time.o		(.text)
-    lib_ppc/ticks.o		(.text)
-    lib_ppc/cache.o		(.text)
+    arch/ppc/lib/time.o		(.text)
+    arch/ppc/lib/ticks.o		(.text)
+    arch/ppc/lib/cache.o		(.text)
     lib_generic/crc32.o		(.text)
     . = env_offset;
     common/env_embedded.o(.text)
diff --git a/board/hermes/u-boot.lds.debug b/board/hermes/u-boot.lds.debug
index 3801206..dc810be 100644
--- a/board/hermes/u-boot.lds.debug
+++ b/board/hermes/u-boot.lds.debug
@@ -56,10 +56,10 @@ SECTIONS
     /* the sector layout of our flash chips!	XXX FIXME XXX	*/
 
     cpu/mpc8xx/start.o	(.text)
-    lib_ppc/ppcstring.o	(.text)
+    arch/ppc/lib/ppcstring.o	(.text)
     cpu/mpc8xx/interrupts.o (.text)
-    lib_ppc/time.o		(.text)
-    lib_ppc/ticks.o		(.text)
+    arch/ppc/lib/time.o		(.text)
+    arch/ppc/lib/ticks.o		(.text)
     . = env_offset;
     common/env_embedded.o(.text)
 
diff --git a/board/hymod/u-boot.lds b/board/hymod/u-boot.lds
index 52d66a2..cc32b44 100644
--- a/board/hymod/u-boot.lds
+++ b/board/hymod/u-boot.lds
@@ -58,7 +58,7 @@ SECTIONS
     cpu/mpc8260/start.o	(.text)
 /*
     common/dlmalloc.o	(.text)
-    lib_ppc/ppcstring.o	(.text)
+    arch/ppc/lib/ppcstring.o	(.text)
     lib_generic/vsprintf.o	(.text)
     lib_generic/crc32.o		(.text)
     lib_generic/zlib.o		(.text)
diff --git a/board/icu862/u-boot.lds b/board/icu862/u-boot.lds
index b43be81..b614262 100644
--- a/board/icu862/u-boot.lds
+++ b/board/icu862/u-boot.lds
@@ -59,7 +59,7 @@ SECTIONS
 /*
     cpu/mpc8xx/start.o	(.text)
     common/dlmalloc.o	(.text)
-    lib_ppc/ppcstring.o	(.text)
+    arch/ppc/lib/ppcstring.o	(.text)
     lib_generic/vsprintf.o	(.text)
     lib_generic/crc32.o		(.text)
     lib_generic/zlib.o		(.text)
diff --git a/board/icu862/u-boot.lds.debug b/board/icu862/u-boot.lds.debug
index 653e0be..919eb21 100644
--- a/board/icu862/u-boot.lds.debug
+++ b/board/icu862/u-boot.lds.debug
@@ -59,7 +59,7 @@ SECTIONS
     common/dlmalloc.o	(.text)
     lib_generic/vsprintf.o	(.text)
     lib_generic/crc32.o		(.text)
-    lib_ppc/extable.o	(.text)
+    arch/ppc/lib/extable.o	(.text)
 
     . = env_offset;
     common/env_embedded.o(.text)
diff --git a/board/idmr/u-boot.lds b/board/idmr/u-boot.lds
index 00c1f2a..713b18a 100644
--- a/board/idmr/u-boot.lds
+++ b/board/idmr/u-boot.lds
@@ -57,7 +57,7 @@ SECTIONS
     /* the sector layout of our flash chips!	XXX FIXME XXX	*/
 
     cpu/mcf52x2/start.o		(.text)
-    lib_m68k/traps.o		(.text)
+    arch/m68k/lib/traps.o		(.text)
     cpu/mcf52x2/interrupts.o	(.text)
     common/dlmalloc.o		(.text)
     lib_generic/zlib.o		(.text)
diff --git a/board/ip860/u-boot.lds b/board/ip860/u-boot.lds
index a786bf2..bbc7139 100644
--- a/board/ip860/u-boot.lds
+++ b/board/ip860/u-boot.lds
@@ -57,10 +57,10 @@ SECTIONS
 
     cpu/mpc8xx/start.o	(.text)
     common/dlmalloc.o	(.text)
-    lib_ppc/ppcstring.o	(.text)
+    arch/ppc/lib/ppcstring.o	(.text)
     cpu/mpc8xx/interrupts.o (.text)
-    lib_ppc/time.o		(.text)
-    lib_ppc/ticks.o		(.text)
+    arch/ppc/lib/time.o		(.text)
+    arch/ppc/lib/ticks.o		(.text)
 /**
     . = env_offset;
     common/env_embedded.o(.text)
diff --git a/board/ip860/u-boot.lds.debug b/board/ip860/u-boot.lds.debug
index dc2f6e1..fc8fe6c 100644
--- a/board/ip860/u-boot.lds.debug
+++ b/board/ip860/u-boot.lds.debug
@@ -56,10 +56,10 @@ SECTIONS
     /* the sector layout of our flash chips!	XXX FIXME XXX	*/
 
     cpu/mpc8xx/start.o	(.text)
-    lib_ppc/ppcstring.o	(.text)
+    arch/ppc/lib/ppcstring.o	(.text)
     cpu/mpc8xx/interrupts.o (.text)
-    lib_ppc/time.o		(.text)
-    lib_ppc/ticks.o		(.text)
+    arch/ppc/lib/time.o		(.text)
+    arch/ppc/lib/ticks.o		(.text)
 /**
     . = env_offset;
     common/env_embedded.o(.text)
diff --git a/board/ivm/u-boot.lds.debug b/board/ivm/u-boot.lds.debug
index b5206c5..17965a0 100644
--- a/board/ivm/u-boot.lds.debug
+++ b/board/ivm/u-boot.lds.debug
@@ -59,7 +59,7 @@ SECTIONS
     common/dlmalloc.o	(.text)
     lib_generic/vsprintf.o	(.text)
     lib_generic/crc32.o		(.text)
-    lib_ppc/extable.o	(.text)
+    arch/ppc/lib/extable.o	(.text)
 
     . = env_offset;
     common/env_embedded.o(.text)
diff --git a/board/jse/jse.c b/board/jse/jse.c
index 1849ca4..e4c7b9d 100644
--- a/board/jse/jse.c
+++ b/board/jse/jse.c
@@ -26,7 +26,7 @@
 
 /*
  * This function is run very early, out of flash, and before devices are
- * initialized. It is called by lib_ppc/board.c:board_init_f by virtue
+ * initialized. It is called by arch/ppc/lib/board.c:board_init_f by virtue
  * of being in the init_sequence array.
  *
  * The SDRAM has been initialized already -- start.S:start called
@@ -85,7 +85,7 @@ int board_pre_init (void)
 #endif
 
 /*
- * This function is also called by lib_ppc/board.c:board_init_f (it is
+ * This function is also called by arch/ppc/lib/board.c:board_init_f (it is
  * also in the init_sequence array) but later. Many more things are
  * configured, but we are still running from flash.
  */
@@ -149,7 +149,7 @@ int checkboard (void)
 /* **** No more functions called by board_init_f. **** */
 
 /*
- * This function is called by lib_ppc/board.c:board_init_r. At this
+ * This function is called by arch/ppc/lib/board.c:board_init_r. At this
  * point, basic setup is done, U-Boot has been moved into SDRAM and
  * PCI has been set up. From here we done late setup.
  */
diff --git a/board/jse/sdram.c b/board/jse/sdram.c
index 88fdd84..a12ebde 100644
--- a/board/jse/sdram.c
+++ b/board/jse/sdram.c
@@ -27,7 +27,7 @@
 /*
  * this is even after checkboard. It returns the size of the SDRAM
  * that we have installed. This function is called by board_init_f
- * in lib_ppc/board.c to initialize the memory and return what I
+ * in arch/ppc/lib/board.c to initialize the memory and return what I
  * found.
  */
 phys_size_t initdram (int board_type)
diff --git a/board/keymile/km8xx/u-boot.lds b/board/keymile/km8xx/u-boot.lds
index a8057f2..8b6305a 100644
--- a/board/keymile/km8xx/u-boot.lds
+++ b/board/keymile/km8xx/u-boot.lds
@@ -58,12 +58,12 @@ SECTIONS
     cpu/mpc8xx/start.o		(.text)
     cpu/mpc8xx/traps.o		(.text)
     common/dlmalloc.o		(.text)
-    lib_ppc/ppcstring.o		(.text)
+    arch/ppc/lib/ppcstring.o		(.text)
     lib_generic/vsprintf.o	(.text)
     lib_generic/crc32.o		(.text)
     lib_generic/zlib.o		(.text)
-    lib_ppc/cache.o		(.text)
-    lib_ppc/time.o		(.text)
+    arch/ppc/lib/cache.o		(.text)
+    arch/ppc/lib/time.o		(.text)
 
     . = DEFINED(env_offset) ? env_offset : .;
     common/env_embedded.o	(.ppcenv)
diff --git a/board/kup/kup4k/u-boot.lds b/board/kup/kup4k/u-boot.lds
index 79b886a..8e4faa1 100644
--- a/board/kup/kup4k/u-boot.lds
+++ b/board/kup/kup4k/u-boot.lds
@@ -59,7 +59,7 @@ SECTIONS
 /*
     cpu/mpc8xx/start.o	(.text)
     common/dlmalloc.o	(.text)
-    lib_ppc/ppcstring.o	(.text)
+    arch/ppc/lib/ppcstring.o	(.text)
     lib_generic/vsprintf.o	(.text)
     lib_generic/crc32.o		(.text)
     lib_generic/zlib.o		(.text)
diff --git a/board/kup/kup4x/u-boot.lds b/board/kup/kup4x/u-boot.lds
index 79b886a..8e4faa1 100644
--- a/board/kup/kup4x/u-boot.lds
+++ b/board/kup/kup4x/u-boot.lds
@@ -59,7 +59,7 @@ SECTIONS
 /*
     cpu/mpc8xx/start.o	(.text)
     common/dlmalloc.o	(.text)
-    lib_ppc/ppcstring.o	(.text)
+    arch/ppc/lib/ppcstring.o	(.text)
     lib_generic/vsprintf.o	(.text)
     lib_generic/crc32.o		(.text)
     lib_generic/zlib.o		(.text)
diff --git a/board/lantec/u-boot.lds b/board/lantec/u-boot.lds
index 854ed68..814a7a6 100644
--- a/board/lantec/u-boot.lds
+++ b/board/lantec/u-boot.lds
@@ -57,7 +57,7 @@ SECTIONS
 
     cpu/mpc8xx/start.o	(.text)
     common/dlmalloc.o	(.text)
-    lib_ppc/ppcstring.o	(.text)
+    arch/ppc/lib/ppcstring.o	(.text)
     lib_generic/vsprintf.o	(.text)
     lib_generic/crc32.o		(.text)
     lib_generic/zlib.o		(.text)
diff --git a/board/lwmon/u-boot.lds.debug b/board/lwmon/u-boot.lds.debug
index 987c4dd..49f8972 100644
--- a/board/lwmon/u-boot.lds.debug
+++ b/board/lwmon/u-boot.lds.debug
@@ -59,7 +59,7 @@ SECTIONS
     common/dlmalloc.o	(.text)
     lib_generic/vsprintf.o	(.text)
     lib_generic/crc32.o		(.text)
-    lib_ppc/extable.o	(.text)
+    arch/ppc/lib/extable.o	(.text)
 
     . = env_offset;
     common/env_embedded.o(.text)
diff --git a/board/mbx8xx/u-boot.lds.debug b/board/mbx8xx/u-boot.lds.debug
index 0a3b958..8d91aed 100644
--- a/board/mbx8xx/u-boot.lds.debug
+++ b/board/mbx8xx/u-boot.lds.debug
@@ -59,7 +59,7 @@ SECTIONS
     common/dlmalloc.o	(.text)
     lib_generic/vsprintf.o	(.text)
     lib_generic/crc32.o		(.text)
-    lib_ppc/extable.o	(.text)
+    arch/ppc/lib/extable.o	(.text)
 
     . = env_offset;
     common/env_embedded.o(.text)
diff --git a/board/ml2/u-boot.lds b/board/ml2/u-boot.lds
index 8fea3be..0083a21 100644
--- a/board/ml2/u-boot.lds
+++ b/board/ml2/u-boot.lds
@@ -65,7 +65,7 @@ SECTIONS
     cpu/ppc4xx/speed.o	(.text)
     common/dlmalloc.o	(.text)
     lib_generic/crc32.o		(.text)
-    lib_ppc/extable.o	(.text)
+    arch/ppc/lib/extable.o	(.text)
     lib_generic/zlib.o		(.text)
 
 /*    . = env_offset;*/
diff --git a/board/ml2/u-boot.lds.debug b/board/ml2/u-boot.lds.debug
index 970628d..40d2f78 100644
--- a/board/ml2/u-boot.lds.debug
+++ b/board/ml2/u-boot.lds.debug
@@ -59,7 +59,7 @@ SECTIONS
     common/dlmalloc.o	(.text)
     lib_generic/vsprintf.o	(.text)
     lib_generic/crc32.o		(.text)
-    lib_ppc/extable.o	(.text)
+    arch/ppc/lib/extable.o	(.text)
 
     common/env_embedded.o(.text)
 
diff --git a/board/mousse/u-boot.lds b/board/mousse/u-boot.lds
index 5100542..c92a2ab 100644
--- a/board/mousse/u-boot.lds
+++ b/board/mousse/u-boot.lds
@@ -53,8 +53,8 @@ SECTIONS
   .text      :
   {
     cpu/mpc824x/start.o		(.text)
-    lib_ppc/board.o		(.text)
-    lib_ppc/ppcstring.o		(.text)
+    arch/ppc/lib/board.o		(.text)
+    arch/ppc/lib/ppcstring.o		(.text)
     lib_generic/vsprintf.o	(.text)
     lib_generic/crc32.o		(.text)
     lib_generic/zlib.o		(.text)
diff --git a/board/mousse/u-boot.lds.rom b/board/mousse/u-boot.lds.rom
index f79c39f..9750fc5 100644
--- a/board/mousse/u-boot.lds.rom
+++ b/board/mousse/u-boot.lds.rom
@@ -54,7 +54,7 @@ SECTIONS
   {
     cpu/mpc824x/start.o	(.text)
 	 common/board.o (.text)
-    lib_ppc/ppcstring.o	(.text)
+    arch/ppc/lib/ppcstring.o	(.text)
     lib_generic/vsprintf.o	(.text)
     lib_generic/crc32.o		(.text)
     lib_generic/zlib.o		(.text)
diff --git a/board/mpl/pip405/u-boot.lds.debug b/board/mpl/pip405/u-boot.lds.debug
index 970628d..40d2f78 100644
--- a/board/mpl/pip405/u-boot.lds.debug
+++ b/board/mpl/pip405/u-boot.lds.debug
@@ -59,7 +59,7 @@ SECTIONS
     common/dlmalloc.o	(.text)
     lib_generic/vsprintf.o	(.text)
     lib_generic/crc32.o		(.text)
-    lib_ppc/extable.o	(.text)
+    arch/ppc/lib/extable.o	(.text)
 
     common/env_embedded.o(.text)
 
diff --git a/board/netphone/u-boot.lds b/board/netphone/u-boot.lds
index d64274b..4b17a1f 100644
--- a/board/netphone/u-boot.lds
+++ b/board/netphone/u-boot.lds
@@ -55,12 +55,12 @@ SECTIONS
     cpu/mpc8xx/start.o		(.text)
     cpu/mpc8xx/traps.o		(.text)
     common/dlmalloc.o		(.text)
-    lib_ppc/ppcstring.o		(.text)
+    arch/ppc/lib/ppcstring.o		(.text)
     lib_generic/vsprintf.o	(.text)
     lib_generic/crc32.o		(.text)
     lib_generic/zlib.o		(.text)
-    lib_ppc/cache.o		(.text)
-    lib_ppc/time.o		(.text)
+    arch/ppc/lib/cache.o		(.text)
+    arch/ppc/lib/time.o		(.text)
 
     . = DEFINED(env_offset) ? env_offset : .;
     common/env_embedded.o	(.text)
diff --git a/board/netstal/hcu4/hcu4.c b/board/netstal/hcu4/hcu4.c
index 8efbc23..3f07ff1 100644
--- a/board/netstal/hcu4/hcu4.c
+++ b/board/netstal/hcu4/hcu4.c
@@ -34,7 +34,7 @@ DECLARE_GLOBAL_DATA_PTR;
 
 /*
  * This function is run very early, out of flash, and before devices are
- * initialized. It is called by lib_ppc/board.c:board_init_f by virtue
+ * initialized. It is called by arch/ppc/lib/board.c:board_init_f by virtue
  * of being in the init_sequence array.
  *
  * The SDRAM has been initialized already -- start.S:start called
diff --git a/board/netstal/hcu5/README.txt b/board/netstal/hcu5/README.txt
index f649876..0a54f9a 100644
--- a/board/netstal/hcu5/README.txt
+++ b/board/netstal/hcu5/README.txt
@@ -109,7 +109,7 @@ _start:
 	call cpu_init_f	/* run low-level CPU init code	   (from Flash) */
 
     call cpu_init_f
-    board_init_f: (lib_ppc\board.c)
+    board_init_f: (arch/ppc/lib\board.c)
 	init_sequence defines a list of function to be called
 	    board_early_init_f: (board/netstal/hcu5/hcu5.c)
 		We are using Bootstrap-Option A
@@ -141,7 +141,7 @@ _start:
 From now on our copy is in RAM and we will run from there,
 	starting with board_init_r
 -------------------------------------------------------
-    board_init_r: (lib_ppc\board.c)
+    board_init_r: (arch/ppc/lib\board.c)
 	setup bd function pointers
 	trap_init
 	flash_init: (board/netstal/hcu5/flash.c)
@@ -162,7 +162,7 @@ Most of the HW specific code for the HCU5 may be found in
 include/configs/hcu5.h
 board/netstal/hcu5/*
 cpu/ppc4xx/*
-lib_ppc/*
+arch/ppc/lib/*
 include/ppc440.h
 
 Drivers for serial etc are found under drivers/
diff --git a/board/netstal/hcu5/hcu5.c b/board/netstal/hcu5/hcu5.c
index c545cc0..90433fe 100644
--- a/board/netstal/hcu5/hcu5.c
+++ b/board/netstal/hcu5/hcu5.c
@@ -49,7 +49,7 @@ extern flash_info_t flash_info[CONFIG_SYS_MAX_FLASH_BANKS];
 
 /*
  * This function is run very early, out of flash, and before devices are
- * initialized. It is called by lib_ppc/board.c:board_init_f by virtue
+ * initialized. It is called by arch/ppc/lib/board.c:board_init_f by virtue
  * of being in the init_sequence array.
  *
  * The SDRAM has been initialized already -- start.S:start called
diff --git a/board/netstal/mcu25/mcu25.c b/board/netstal/mcu25/mcu25.c
index c66ab97..cc2f998 100644
--- a/board/netstal/mcu25/mcu25.c
+++ b/board/netstal/mcu25/mcu25.c
@@ -39,7 +39,7 @@ DECLARE_GLOBAL_DATA_PTR;
 
 /*
  * This function is run very early, out of flash, and before devices are
- * initialized. It is called by lib_ppc/board.c:board_init_f by virtue
+ * initialized. It is called by arch/ppc/lib/board.c:board_init_f by virtue
  * of being in the init_sequence array.
  *
  * The SDRAM has been initialized already -- start.S:start called
diff --git a/board/netta/u-boot.lds b/board/netta/u-boot.lds
index 860c887..991d7a1 100644
--- a/board/netta/u-boot.lds
+++ b/board/netta/u-boot.lds
@@ -55,12 +55,12 @@ SECTIONS
     cpu/mpc8xx/start.o		(.text)
     cpu/mpc8xx/traps.o		(.text)
     common/dlmalloc.o		(.text)
-    lib_ppc/ppcstring.o		(.text)
+    arch/ppc/lib/ppcstring.o		(.text)
     lib_generic/vsprintf.o	(.text)
     lib_generic/crc32.o		(.text)
     lib_generic/zlib.o		(.text)
-    lib_ppc/cache.o		(.text)
-    lib_ppc/time.o		(.text)
+    arch/ppc/lib/cache.o		(.text)
+    arch/ppc/lib/time.o		(.text)
 
     . = DEFINED(env_offset) ? env_offset : .;
     common/env_embedded.o	(.text)
diff --git a/board/netta2/u-boot.lds b/board/netta2/u-boot.lds
index 860c887..991d7a1 100644
--- a/board/netta2/u-boot.lds
+++ b/board/netta2/u-boot.lds
@@ -55,12 +55,12 @@ SECTIONS
     cpu/mpc8xx/start.o		(.text)
     cpu/mpc8xx/traps.o		(.text)
     common/dlmalloc.o		(.text)
-    lib_ppc/ppcstring.o		(.text)
+    arch/ppc/lib/ppcstring.o		(.text)
     lib_generic/vsprintf.o	(.text)
     lib_generic/crc32.o		(.text)
     lib_generic/zlib.o		(.text)
-    lib_ppc/cache.o		(.text)
-    lib_ppc/time.o		(.text)
+    arch/ppc/lib/cache.o		(.text)
+    arch/ppc/lib/time.o		(.text)
 
     . = DEFINED(env_offset) ? env_offset : .;
     common/env_embedded.o	(.text)
diff --git a/board/netvia/u-boot.lds b/board/netvia/u-boot.lds
index a7d290a..7eb01ee 100644
--- a/board/netvia/u-boot.lds
+++ b/board/netvia/u-boot.lds
@@ -55,12 +55,12 @@ SECTIONS
     cpu/mpc8xx/start.o		(.text)
     cpu/mpc8xx/traps.o		(.text)
     common/dlmalloc.o		(.text)
-    lib_ppc/ppcstring.o		(.text)
+    arch/ppc/lib/ppcstring.o		(.text)
     lib_generic/vsprintf.o	(.text)
     lib_generic/crc32.o		(.text)
     lib_generic/zlib.o		(.text)
-    lib_ppc/cache.o		(.text)
-    lib_ppc/time.o		(.text)
+    arch/ppc/lib/cache.o		(.text)
+    arch/ppc/lib/time.o		(.text)
 
     . = DEFINED(env_offset) ? env_offset : .;
     common/env_embedded.o	(.text)
diff --git a/board/quantum/u-boot.lds b/board/quantum/u-boot.lds
index 47247ec..c354ff8 100644
--- a/board/quantum/u-boot.lds
+++ b/board/quantum/u-boot.lds
@@ -57,7 +57,7 @@ SECTIONS
 
     cpu/mpc8xx/start.o	(.text)
     common/dlmalloc.o	(.text)
-    lib_ppc/ppcstring.o	(.text)
+    arch/ppc/lib/ppcstring.o	(.text)
     lib_generic/vsprintf.o	(.text)
     lib_generic/crc32.o		(.text)
     lib_generic/zlib.o		(.text)
diff --git a/board/rbc823/u-boot.lds b/board/rbc823/u-boot.lds
index e0ea600..6074c14 100644
--- a/board/rbc823/u-boot.lds
+++ b/board/rbc823/u-boot.lds
@@ -57,7 +57,7 @@ SECTIONS
 
     cpu/mpc8xx/start.o	(.text)
     common/dlmalloc.o	(.text)
-    lib_ppc/ppcstring.o	(.text)
+    arch/ppc/lib/ppcstring.o	(.text)
     lib_generic/vsprintf.o	(.text)
     lib_generic/crc32.o		(.text)
     lib_generic/zlib.o		(.text)
diff --git a/board/rmu/u-boot.lds b/board/rmu/u-boot.lds
index 47247ec..c354ff8 100644
--- a/board/rmu/u-boot.lds
+++ b/board/rmu/u-boot.lds
@@ -57,7 +57,7 @@ SECTIONS
 
     cpu/mpc8xx/start.o	(.text)
     common/dlmalloc.o	(.text)
-    lib_ppc/ppcstring.o	(.text)
+    arch/ppc/lib/ppcstring.o	(.text)
     lib_generic/vsprintf.o	(.text)
     lib_generic/crc32.o		(.text)
     lib_generic/zlib.o		(.text)
diff --git a/board/sandburst/karef/u-boot.lds.debug b/board/sandburst/karef/u-boot.lds.debug
index 48fd579..1d8ce10 100644
--- a/board/sandburst/karef/u-boot.lds.debug
+++ b/board/sandburst/karef/u-boot.lds.debug
@@ -67,7 +67,7 @@ SECTIONS
     drivers/net/4xx_enet.o	(.text)
     common/dlmalloc.o	(.text)
     lib_generic/crc32.o		(.text)
-    lib_ppc/extable.o	(.text)
+    arch/ppc/lib/extable.o	(.text)
     lib_generic/zlib.o		(.text)
 
 /*    common/env_embedded.o(.text) */
diff --git a/board/sandburst/metrobox/u-boot.lds.debug b/board/sandburst/metrobox/u-boot.lds.debug
index 4bc5cea..bbfea13 100644
--- a/board/sandburst/metrobox/u-boot.lds.debug
+++ b/board/sandburst/metrobox/u-boot.lds.debug
@@ -67,7 +67,7 @@ SECTIONS
     drivers/net/4xx_enet.o	(.text)
     common/dlmalloc.o	(.text)
     lib_generic/crc32.o		(.text)
-    lib_ppc/extable.o	(.text)
+    arch/ppc/lib/extable.o	(.text)
     lib_generic/zlib.o		(.text)
 
 /*    common/env_embedded.o(.text) */
diff --git a/board/sbc8641d/u-boot.lds b/board/sbc8641d/u-boot.lds
index b71a7d6..648efa2 100644
--- a/board/sbc8641d/u-boot.lds
+++ b/board/sbc8641d/u-boot.lds
@@ -58,7 +58,7 @@ SECTIONS
     cpu/mpc86xx/speed.o (.text)
     common/dlmalloc.o (.text)
     lib_generic/crc32.o (.text)
-    lib_ppc/extable.o (.text)
+    arch/ppc/lib/extable.o (.text)
     lib_generic/zlib.o (.text)
     *(.text)
     *(.got1)
diff --git a/board/sc3/u-boot.lds b/board/sc3/u-boot.lds
index 16dc384..04b350a 100644
--- a/board/sc3/u-boot.lds
+++ b/board/sc3/u-boot.lds
@@ -70,7 +70,7 @@ SECTIONS
     cpu/ppc4xx/speed.o	(.text)
     common/dlmalloc.o	(.text)
     lib_generic/crc32.o		(.text)
-    lib_ppc/extable.o	(.text)
+    arch/ppc/lib/extable.o	(.text)
     lib_generic/zlib.o		(.text)
 
 /*    . = env_offset;*/
diff --git a/board/siemens/CCM/u-boot.lds b/board/siemens/CCM/u-boot.lds
index 2d0efb3..0571f02 100644
--- a/board/siemens/CCM/u-boot.lds
+++ b/board/siemens/CCM/u-boot.lds
@@ -57,7 +57,7 @@ SECTIONS
 
     cpu/mpc8xx/start.o	(.text)
     common/dlmalloc.o	(.text)
-    lib_ppc/ppcstring.o	(.text)
+    arch/ppc/lib/ppcstring.o	(.text)
     lib_generic/vsprintf.o	(.text)
     lib_generic/crc32.o		(.text)
     lib_generic/zlib.o		(.text)
diff --git a/board/siemens/IAD210/u-boot.lds b/board/siemens/IAD210/u-boot.lds
index 104b44c..877cf9a 100644
--- a/board/siemens/IAD210/u-boot.lds
+++ b/board/siemens/IAD210/u-boot.lds
@@ -57,9 +57,9 @@ SECTIONS
 
     cpu/mpc8xx/start.o	(.text)
     common/dlmalloc.o	(.text)
-    lib_ppc/ppcstring.o	(.text)
+    arch/ppc/lib/ppcstring.o	(.text)
     cpu/mpc8xx/interrupts.o (.text)
-    lib_ppc/time.o		(.text)
+    arch/ppc/lib/time.o		(.text)
     . = env_offset;
     common/env_embedded.o(.text)
 
diff --git a/board/siemens/pcu_e/u-boot.lds.debug b/board/siemens/pcu_e/u-boot.lds.debug
index 987c4dd..49f8972 100644
--- a/board/siemens/pcu_e/u-boot.lds.debug
+++ b/board/siemens/pcu_e/u-boot.lds.debug
@@ -59,7 +59,7 @@ SECTIONS
     common/dlmalloc.o	(.text)
     lib_generic/vsprintf.o	(.text)
     lib_generic/crc32.o		(.text)
-    lib_ppc/extable.o	(.text)
+    arch/ppc/lib/extable.o	(.text)
 
     . = env_offset;
     common/env_embedded.o(.text)
diff --git a/board/snmc/qs850/u-boot.lds b/board/snmc/qs850/u-boot.lds
index 9ef2c20..ce115f5 100644
--- a/board/snmc/qs850/u-boot.lds
+++ b/board/snmc/qs850/u-boot.lds
@@ -58,12 +58,12 @@ SECTIONS
 	cpu/mpc8xx/start.o		(.text)
 	cpu/mpc8xx/traps.o		(.text)
 	common/dlmalloc.o		(.text)
-	lib_ppc/ppcstring.o		(.text)
+	arch/ppc/lib/ppcstring.o		(.text)
 	lib_generic/vsprintf.o	(.text)
 	lib_generic/crc32.o		(.text)
 	lib_generic/zlib.o		(.text)
-	lib_ppc/cache.o		(.text)
-	lib_ppc/time.o		(.text)
+	arch/ppc/lib/cache.o		(.text)
+	arch/ppc/lib/time.o		(.text)
 
     . = DEFINED(env_offset) ? env_offset : .;
 	common/env_embedded.o	(.ppcenv)
diff --git a/board/snmc/qs860t/u-boot.lds b/board/snmc/qs860t/u-boot.lds
index 9ef2c20..ce115f5 100644
--- a/board/snmc/qs860t/u-boot.lds
+++ b/board/snmc/qs860t/u-boot.lds
@@ -58,12 +58,12 @@ SECTIONS
 	cpu/mpc8xx/start.o		(.text)
 	cpu/mpc8xx/traps.o		(.text)
 	common/dlmalloc.o		(.text)
-	lib_ppc/ppcstring.o		(.text)
+	arch/ppc/lib/ppcstring.o		(.text)
 	lib_generic/vsprintf.o	(.text)
 	lib_generic/crc32.o		(.text)
 	lib_generic/zlib.o		(.text)
-	lib_ppc/cache.o		(.text)
-	lib_ppc/time.o		(.text)
+	arch/ppc/lib/cache.o		(.text)
+	arch/ppc/lib/time.o		(.text)
 
     . = DEFINED(env_offset) ? env_offset : .;
 	common/env_embedded.o	(.ppcenv)
diff --git a/board/spc1920/u-boot.lds b/board/spc1920/u-boot.lds
index d6711b5..172cfbb 100644
--- a/board/spc1920/u-boot.lds
+++ b/board/spc1920/u-boot.lds
@@ -58,12 +58,12 @@ SECTIONS
     cpu/mpc8xx/start.o		(.text)
     cpu/mpc8xx/traps.o		(.text)
     common/dlmalloc.o		(.text)
-    lib_ppc/ppcstring.o		(.text)
+    arch/ppc/lib/ppcstring.o		(.text)
     lib_generic/vsprintf.o	(.text)
     lib_generic/crc32.o		(.text)
     lib_generic/zlib.o		(.text)
-    lib_ppc/cache.o		(.text)
-    lib_ppc/time.o		(.text)
+    arch/ppc/lib/cache.o		(.text)
+    arch/ppc/lib/time.o		(.text)
 
     . = DEFINED(env_offset) ? env_offset : .;
     common/env_embedded.o	(.ppcenv)
diff --git a/board/spd8xx/u-boot.lds.debug b/board/spd8xx/u-boot.lds.debug
index 0a3b958..8d91aed 100644
--- a/board/spd8xx/u-boot.lds.debug
+++ b/board/spd8xx/u-boot.lds.debug
@@ -59,7 +59,7 @@ SECTIONS
     common/dlmalloc.o	(.text)
     lib_generic/vsprintf.o	(.text)
     lib_generic/crc32.o		(.text)
-    lib_ppc/extable.o	(.text)
+    arch/ppc/lib/extable.o	(.text)
 
     . = env_offset;
     common/env_embedded.o(.text)
diff --git a/board/stx/stxssa/stxssa.c b/board/stx/stxssa/stxssa.c
index 73dddf3..678ec58 100644
--- a/board/stx/stxssa/stxssa.c
+++ b/board/stx/stxssa/stxssa.c
@@ -259,7 +259,7 @@ board_early_init_f(void)
 #endif
 
 	/* Why is the phy reset done _after_ the ethernet
-	 * initialization in lib_ppc/board.c?
+	 * initialization in arch/ppc/lib/board.c?
 	 * Do it here so it's done before the TSECs are used.
 	 */
 	reset_phy();
diff --git a/board/stx/stxxtc/u-boot.lds b/board/stx/stxxtc/u-boot.lds
index 860c887..991d7a1 100644
--- a/board/stx/stxxtc/u-boot.lds
+++ b/board/stx/stxxtc/u-boot.lds
@@ -55,12 +55,12 @@ SECTIONS
     cpu/mpc8xx/start.o		(.text)
     cpu/mpc8xx/traps.o		(.text)
     common/dlmalloc.o		(.text)
-    lib_ppc/ppcstring.o		(.text)
+    arch/ppc/lib/ppcstring.o		(.text)
     lib_generic/vsprintf.o	(.text)
     lib_generic/crc32.o		(.text)
     lib_generic/zlib.o		(.text)
-    lib_ppc/cache.o		(.text)
-    lib_ppc/time.o		(.text)
+    arch/ppc/lib/cache.o		(.text)
+    arch/ppc/lib/time.o		(.text)
 
     . = DEFINED(env_offset) ? env_offset : .;
     common/env_embedded.o	(.text)
diff --git a/board/svm_sc8xx/u-boot.lds b/board/svm_sc8xx/u-boot.lds
index 02aa9dd..cf78200 100644
--- a/board/svm_sc8xx/u-boot.lds
+++ b/board/svm_sc8xx/u-boot.lds
@@ -58,12 +58,12 @@ SECTIONS
     cpu/mpc8xx/start.o		(.text)
     cpu/mpc8xx/traps.o		(.text)
     common/dlmalloc.o		(.text)
-    lib_ppc/ppcstring.o		(.text)
+    arch/ppc/lib/ppcstring.o		(.text)
     lib_generic/vsprintf.o	(.text)
     lib_generic/crc32.o		(.text)
     lib_generic/zlib.o		(.text)
-    lib_ppc/cache.o		(.text)
-    lib_ppc/time.o		(.text)
+    arch/ppc/lib/cache.o		(.text)
+    arch/ppc/lib/time.o		(.text)
 
     . = env_offset;
     common/env_embedded.o	(.ppcenv)
diff --git a/board/tqc/tqm8xx/u-boot.lds b/board/tqc/tqm8xx/u-boot.lds
index 2df8d84..9f452c1 100644
--- a/board/tqc/tqm8xx/u-boot.lds
+++ b/board/tqc/tqm8xx/u-boot.lds
@@ -58,11 +58,11 @@ SECTIONS
     cpu/mpc8xx/start.o		(.text)
     cpu/mpc8xx/traps.o		(.text)
     common/dlmalloc.o		(.text)
-    lib_ppc/ppcstring.o		(.text)
+    arch/ppc/lib/ppcstring.o		(.text)
     lib_generic/vsprintf.o	(.text)
     lib_generic/crc32.o		(.text)
     lib_generic/zlib.o		(.text)
-    lib_ppc/cache.o		(.text)
+    arch/ppc/lib/cache.o		(.text)
 
     . = DEFINED(env_offset) ? env_offset : .;
     common/env_embedded.o	(.ppcenv)
diff --git a/board/uc100/u-boot.lds b/board/uc100/u-boot.lds
index e3ea52a..967e432 100644
--- a/board/uc100/u-boot.lds
+++ b/board/uc100/u-boot.lds
@@ -58,12 +58,12 @@ SECTIONS
     cpu/mpc8xx/start.o		(.text)
     cpu/mpc8xx/traps.o		(.text)
     common/dlmalloc.o		(.text)
-    lib_ppc/ppcstring.o		(.text)
+    arch/ppc/lib/ppcstring.o		(.text)
     lib_generic/vsprintf.o	(.text)
     lib_generic/crc32.o		(.text)
     lib_generic/zlib.o		(.text)
-    lib_ppc/cache.o		(.text)
-    lib_ppc/time.o		(.text)
+    arch/ppc/lib/cache.o		(.text)
+    arch/ppc/lib/time.o		(.text)
 
     common/env_embedded.o	(.text)
 
diff --git a/board/v37/u-boot.lds b/board/v37/u-boot.lds
index 6f2ea9a..c3dd8c7 100644
--- a/board/v37/u-boot.lds
+++ b/board/v37/u-boot.lds
@@ -58,12 +58,12 @@ SECTIONS
     cpu/mpc8xx/start.o		(.text)
     cpu/mpc8xx/traps.o		(.text)
     common/dlmalloc.o		(.text)
-    lib_ppc/ppcstring.o		(.text)
+    arch/ppc/lib/ppcstring.o		(.text)
     lib_generic/vsprintf.o	(.text)
     lib_generic/crc32.o		(.text)
     lib_generic/zlib.o		(.text)
-    lib_ppc/cache.o		(.text)
-    lib_ppc/time.o		(.text)
+    arch/ppc/lib/cache.o		(.text)
+    arch/ppc/lib/time.o		(.text)
 
 /*
     . = env_offset;
diff --git a/board/w7o/u-boot.lds.debug b/board/w7o/u-boot.lds.debug
index 8bb4929..85b1cd6 100644
--- a/board/w7o/u-boot.lds.debug
+++ b/board/w7o/u-boot.lds.debug
@@ -59,7 +59,7 @@ SECTIONS
     common/dlmalloc.o	(.text)
     lib_generic/vsprintf.o	(.text)
     lib_generic/crc32.o		(.text)
-    lib_ppc/extable.o	(.text)
+    arch/ppc/lib/extable.o	(.text)
 
     common/env_embedded.o(.text)
 
diff --git a/board/westel/amx860/u-boot.lds b/board/westel/amx860/u-boot.lds
index 2d0efb3..0571f02 100644
--- a/board/westel/amx860/u-boot.lds
+++ b/board/westel/amx860/u-boot.lds
@@ -57,7 +57,7 @@ SECTIONS
 
     cpu/mpc8xx/start.o	(.text)
     common/dlmalloc.o	(.text)
-    lib_ppc/ppcstring.o	(.text)
+    arch/ppc/lib/ppcstring.o	(.text)
     lib_generic/vsprintf.o	(.text)
     lib_generic/crc32.o		(.text)
     lib_generic/zlib.o		(.text)
diff --git a/board/westel/amx860/u-boot.lds.debug b/board/westel/amx860/u-boot.lds.debug
index 653e0be..919eb21 100644
--- a/board/westel/amx860/u-boot.lds.debug
+++ b/board/westel/amx860/u-boot.lds.debug
@@ -59,7 +59,7 @@ SECTIONS
     common/dlmalloc.o	(.text)
     lib_generic/vsprintf.o	(.text)
     lib_generic/crc32.o		(.text)
-    lib_ppc/extable.o	(.text)
+    arch/ppc/lib/extable.o	(.text)
 
     . = env_offset;
     common/env_embedded.o(.text)
diff --git a/board/xes/xpedite1000/u-boot.lds.debug b/board/xes/xpedite1000/u-boot.lds.debug
index d00834e..0830d0a 100644
--- a/board/xes/xpedite1000/u-boot.lds.debug
+++ b/board/xes/xpedite1000/u-boot.lds.debug
@@ -65,7 +65,7 @@ SECTIONS
     cpu/ppc4xx/speed.o	(.text)
     common/dlmalloc.o	(.text)
     lib_generic/crc32.o		(.text)
-    lib_ppc/extable.o	(.text)
+    arch/ppc/lib/extable.o	(.text)
     lib_generic/zlib.o		(.text)
 
 /*    common/env_embedded.o(.text) */
diff --git a/board/xes/xpedite5170/u-boot.lds b/board/xes/xpedite5170/u-boot.lds
index b71a7d6..648efa2 100644
--- a/board/xes/xpedite5170/u-boot.lds
+++ b/board/xes/xpedite5170/u-boot.lds
@@ -58,7 +58,7 @@ SECTIONS
     cpu/mpc86xx/speed.o (.text)
     common/dlmalloc.o (.text)
     lib_generic/crc32.o (.text)
-    lib_ppc/extable.o (.text)
+    arch/ppc/lib/extable.o (.text)
     lib_generic/zlib.o (.text)
     *(.text)
     *(.got1)
diff --git a/config.mk b/config.mk
index 1a61dbb..85b524e 100644
--- a/config.mk
+++ b/config.mk
@@ -114,7 +114,7 @@ sinclude $(OBJTREE)/include/autoconf.mk
 # so calculate CPUDIR before including ARCH/SOC/CPU config.mk files.
 CPUDIR=cpu/$(CPU)
 
-sinclude $(TOPDIR)/lib_$(ARCH)/config.mk	# include architecture dependend rules
+sinclude $(TOPDIR)/arch/$(ARCH)/config.mk	# include architecture dependend rules
 sinclude $(TOPDIR)/$(CPUDIR)/config.mk		# include  CPU	specific rules
 
 ifdef	SOC
diff --git a/cpu/mpc5xxx/u-boot-customlayout.lds b/cpu/mpc5xxx/u-boot-customlayout.lds
index c340086..c08c9c9 100644
--- a/cpu/mpc5xxx/u-boot-customlayout.lds
+++ b/cpu/mpc5xxx/u-boot-customlayout.lds
@@ -58,8 +58,8 @@ SECTIONS
     cpu/mpc5xxx/start.o          (.text)
     cpu/mpc5xxx/traps.o          (.text)
     lib_generic/crc32.o         (.text)
-    lib_ppc/cache.o             (.text)
-    lib_ppc/time.o              (.text)
+    arch/ppc/lib/cache.o             (.text)
+    arch/ppc/lib/time.o              (.text)
 
     . = DEFINED(env_offset) ? env_offset : .;
     common/env_embedded.o        (.ppcenv)
diff --git a/doc/README.LED b/doc/README.LED
index 94e552a..c3bcb3a 100644
--- a/doc/README.LED
+++ b/doc/README.LED
@@ -69,7 +69,7 @@ yellow_LED_off
 blue_LED_on
 blue_LED_off
 
-These are weakly defined in lib_arm/board.c to noops. Where applicable, define
+These are weakly defined in arch/arm/lib/board.c to noops. Where applicable, define
 these functions in the board specific source.
 
 TBD : Describe older board dependent macros similar to what is done for
diff --git a/doc/README.alaska8220 b/doc/README.alaska8220
index 0bd68d9..279dac6 100644
--- a/doc/README.alaska8220
+++ b/doc/README.alaska8220
@@ -22,7 +22,7 @@ Changed files:
 - include/asm-ppc/global_data.h added global variables - inp_clk, pci_clk,
 			    vco_clk, pev_clk, flb_clk, and bExtUart
 
-- lib_ppc/board.c	    added CONFIG_MPC8220 support
+- arch/ppc/lib/board.c	    added CONFIG_MPC8220 support
 
 - net/eth.c		    added FEC support for MPC8220
 
diff --git a/doc/README.m52277evb b/doc/README.m52277evb
index 40f9028..f30b45e 100644
--- a/doc/README.m52277evb
+++ b/doc/README.m52277evb
@@ -53,12 +53,12 @@ Changed files:
 
 - include/configs/M52277EVB.h		Board specific configuration file
 
-- lib_m68k/board.c			board init function
-- lib_m68k/cache.c
-- lib_m68k/interrupts			Coldfire common interrupt functions
-- lib_m68k/m68k_linux.c
-- lib_m68k/time.c			Timer functions (Dma timer and PIT)
-- lib_m68k/traps.c			Exception init code
+- arch/m68k/lib/board.c			board init function
+- arch/m68k/lib/cache.c
+- arch/m68k/lib/interrupts			Coldfire common interrupt functions
+- arch/m68k/lib/m68k_linux.c
+- arch/m68k/lib/time.c			Timer functions (Dma timer and PIT)
+- arch/m68k/lib/traps.c			Exception init code
 
 1 MCF52277 specific Options/Settings
 ====================================
diff --git a/doc/README.m53017evb b/doc/README.m53017evb
index 60cfa95..780a803 100644
--- a/doc/README.m53017evb
+++ b/doc/README.m53017evb
@@ -51,12 +51,12 @@ Changed files:
 
 - include/configs/M53017EVB.h		Board specific configuration file
 
-- lib_m68k/board.c			board init function
-- lib_m68k/cache.c
-- lib_m68k/interrupts			Coldfire common interrupt functions
-- lib_m68k/m68k_linux.c
-- lib_m68k/time.c			Timer functions (Dma timer and PIT)
-- lib_m68k/traps.c			Exception init code
+- arch/m68k/lib/board.c			board init function
+- arch/m68k/lib/cache.c
+- arch/m68k/lib/interrupts			Coldfire common interrupt functions
+- arch/m68k/lib/m68k_linux.c
+- arch/m68k/lib/time.c			Timer functions (Dma timer and PIT)
+- arch/m68k/lib/traps.c			Exception init code
 
 1 MCF5301x specific Options/Settings
 ====================================
diff --git a/doc/README.m5373evb b/doc/README.m5373evb
index 5591748..24a659b 100644
--- a/doc/README.m5373evb
+++ b/doc/README.m5373evb
@@ -50,12 +50,12 @@ Changed files:
 
 - include/configs/M5373EVB.h		Board specific configuration file
 
-- lib_m68k/board.c			board init function
-- lib_m68k/cache.c
-- lib_m68k/interrupts			Coldfire common interrupt functions
-- lib_m68k/m68k_linux.c
-- lib_m68k/time.c			Timer functions (Dma timer and PIT)
-- lib_m68k/traps.c			Exception init code
+- arch/m68k/lib/board.c			board init function
+- arch/m68k/lib/cache.c
+- arch/m68k/lib/interrupts			Coldfire common interrupt functions
+- arch/m68k/lib/m68k_linux.c
+- arch/m68k/lib/time.c			Timer functions (Dma timer and PIT)
+- arch/m68k/lib/traps.c			Exception init code
 
 1 MCF5373 specific Options/Settings
 ====================================
diff --git a/doc/README.m54455evb b/doc/README.m54455evb
index 1888e16..257bcd5 100644
--- a/doc/README.m54455evb
+++ b/doc/README.m54455evb
@@ -52,12 +52,12 @@ Changed files:
 
 - include/configs/M54455EVB.h	Board specific configuration file
 
-- lib_m68k/board.c			board init function
-- lib_m68k/cache.c
-- lib_m68k/interrupts			Coldfire common interrupt functions
-- lib_m68k/m68k_linux.c
-- lib_m68k/time.c			Timer functions (Dma timer and PIT)
-- lib_m68k/traps.c			Exception init code
+- arch/m68k/lib/board.c			board init function
+- arch/m68k/lib/cache.c
+- arch/m68k/lib/interrupts			Coldfire common interrupt functions
+- arch/m68k/lib/m68k_linux.c
+- arch/m68k/lib/time.c			Timer functions (Dma timer and PIT)
+- arch/m68k/lib/traps.c			Exception init code
 
 - rtc/mcfrtc.c				Realtime clock Driver
 
diff --git a/doc/README.m5475evb b/doc/README.m5475evb
index f3a1d7b..b61dfba 100644
--- a/doc/README.m5475evb
+++ b/doc/README.m5475evb
@@ -58,11 +58,11 @@ Changed files:
 
 - include/configs/M5475EVB.h		Board specific configuration file
 
-- lib_m68k/board.c			board init function
-- lib_m68k/cache.c
-- lib_m68k/interrupts			Coldfire common interrupt functions
-- lib_m68k/m68k_linux.c
-- lib_m68k/traps.c			Exception init code
+- arch/m68k/lib/board.c			board init function
+- arch/m68k/lib/cache.c
+- arch/m68k/lib/interrupts			Coldfire common interrupt functions
+- arch/m68k/lib/m68k_linux.c
+- arch/m68k/lib/traps.c			Exception init code
 
 1 MCF547x specific Options/Settings
 ====================================
diff --git a/doc/README.mpc5xx b/doc/README.mpc5xx
index 07be863..2e12174 100644
--- a/doc/README.mpc5xx
+++ b/doc/README.mpc5xx
@@ -34,9 +34,9 @@ u-boot-0.2.0/include/mpc5xx.h
 u-boot-0.2.0/include/status_led.h
 u-boot-0.2.0/include/asm-ppc/u-boot.h
 u-boot-0.2.0/include/asm-ppc/5xx_immap.h
-u-boot-0.2.0/lib_ppc/board.c
-u-boot-0.2.0/lib_ppc/cache.c
-u-boot-0.2.0/lib_ppc/time.c
+u-boot-0.2.0/arch/ppc/lib/board.c
+u-boot-0.2.0/arch/ppc/lib/cache.c
+u-boot-0.2.0/arch/ppc/lib/time.c
 u-boot-0.2.0/Makefile
 u-boot-0.2.0/CREDITS
 u-boot-0.2.0/doc/README.mpc5xx
diff --git a/doc/README.nios b/doc/README.nios
index 7f34938..da30ff5 100644
--- a/doc/README.nios
+++ b/doc/README.nios
@@ -244,7 +244,7 @@ cover most of the individual functions to get you started.
 
 		(gdb) directory common
 		(gdb) directory cpu/nios
-		(gdb) directory lib_nios
+		(gdb) directory arch/nios/lib
 		(gdb) directory board/altera/dk1c20
 
 	Note that the last command is for the DK1C20 board only. If you
diff --git a/doc/TODO-i386 b/doc/TODO-i386
index 84113f8..2261f4a 100644
--- a/doc/TODO-i386
+++ b/doc/TODO-i386
@@ -8,7 +8,7 @@ i386 port missing features:
 * re-entry of protected mode from real mode, should be added to realmode_switch.S 
   (and used by INT 10h and INT 16h handlers for console I/O during early
    linux boot...) 
-* missing functions in lib_i386 and cpu/i386
+* missing functions in arch/i386/lib and cpu/i386
 * speaker beep interface
 
 
diff --git a/examples/api/Makefile b/examples/api/Makefile
index d4c5ca2..62751ec 100644
--- a/examples/api/Makefile
+++ b/examples/api/Makefile
@@ -47,7 +47,7 @@ EXT_COBJ_FILES-$(CONFIG_API) += lib_generic/string.o
 EXT_COBJ_FILES-$(CONFIG_API) += lib_generic/time.o
 EXT_COBJ_FILES-$(CONFIG_API) += lib_generic/vsprintf.o
 ifeq ($(ARCH),ppc)
-EXT_SOBJ_FILES-$(CONFIG_API) += lib_ppc/ppcstring.o
+EXT_SOBJ_FILES-$(CONFIG_API) += arch/ppc/lib/ppcstring.o
 endif
 
 # Create a list of source files so their dependencies can be auto-generated
@@ -79,7 +79,7 @@ $(obj)%.o: $(SRCTREE)/lib_generic/%.c
 	$(CC) -g $(CFLAGS) -c -o $@ $<
 
 # Rule to build architecture-specific library assembly files
-$(obj)%.o: $(SRCTREE)/lib_$(ARCH)/%.S
+$(obj)%.o: $(SRCTREE)/arch/$(ARCH)/lib/%.S
 	$(CC) -g $(CFLAGS) -c -o $@ $<
 
 #########################################################################
diff --git a/include/asm-i386/interrupt.h b/include/asm-i386/interrupt.h
index 3e2674a..8d324d9 100644
--- a/include/asm-i386/interrupt.h
+++ b/include/asm-i386/interrupt.h
@@ -30,7 +30,7 @@
 /* cpu/i386/interrupts.c */
 void set_vector(u8 intnum, void *routine);
 
-/* lib_i386/interupts.c */
+/* arch/i386/lib/interupts.c */
 void disable_irq(int irq);
 void enable_irq(int irq);
 
diff --git a/include/asm-i386/u-boot-i386.h b/include/asm-i386/u-boot-i386.h
index 7c99c8c..a08632d 100644
--- a/include/asm-i386/u-boot-i386.h
+++ b/include/asm-i386/u-boot-i386.h
@@ -33,7 +33,7 @@ void timer_isr(void *);
 typedef void (timer_fnc_t) (void);
 int register_timer_isr (timer_fnc_t *isr_func);
 
-/* Architecture specific - can be in cpu/i386/, lib_i386/, or $(BOARD)/ */
+/* Architecture specific - can be in cpu/i386/, arch/i386/lib/, or $(BOARD)/ */
 int timer_init(void);
 
 /* cpu/.../interrupts.c */
@@ -46,7 +46,7 @@ int dram_init(void);
 void isa_unmap_rom(u32 addr);
 u32 isa_map_rom(u32 bus_addr, int size);
 
-/* lib_i386/... */
+/* arch/i386/lib/... */
 int video_bios_init(void);
 int video_init(void);
 
diff --git a/include/common.h b/include/common.h
index a133e34..7aa910d 100644
--- a/include/common.h
+++ b/include/common.h
@@ -230,7 +230,7 @@ int	parse_line (char *, char *[]);
 void	init_cmd_timeout(void);
 void	reset_cmd_timeout(void);
 
-/* lib_$(ARCH)/board.c */
+/* arch/$(ARCH)/lib/board.c */
 void	board_init_f  (ulong) __attribute__ ((noreturn));
 void	board_init_r  (gd_t *, ulong) __attribute__ ((noreturn));
 int	checkboard    (void);
@@ -604,17 +604,17 @@ ulong	vfd_setmem (ulong);
 /* $(CPU)/.../video.c */
 ulong	video_setmem (ulong);
 
-/* lib_$(ARCH)/cache.c */
+/* arch/$(ARCH)/lib/cache.c */
 void	flush_cache   (unsigned long, unsigned long);
 void	flush_dcache_range(unsigned long start, unsigned long stop);
 void	invalidate_dcache_range(unsigned long start, unsigned long stop);
 
 
-/* lib_$(ARCH)/ticks.S */
+/* arch/$(ARCH)/lib/ticks.S */
 unsigned long long get_ticks(void);
 void	wait_ticks    (unsigned long);
 
-/* lib_$(ARCH)/time.c */
+/* arch/$(ARCH)/lib/time.c */
 void	__udelay      (unsigned long);
 ulong	usec2ticks    (unsigned long usec);
 ulong	ticks2usec    (unsigned long ticks);
diff --git a/include/configs/B2.h b/include/configs/B2.h
index f51a261..ca7350d 100644
--- a/include/configs/B2.h
+++ b/include/configs/B2.h
@@ -207,7 +207,7 @@
 */
 
 /*
-	Linux TAGs (see lib_arm/armlinux.c)
+	Linux TAGs (see arch/arm/lib/armlinux.c)
 */
 #define CONFIG_CMDLINE_TAG
 #undef CONFIG_SETUP_MEMORY_TAGS
diff --git a/nand_spl/board/freescale/mpc8313erdb/Makefile b/nand_spl/board/freescale/mpc8313erdb/Makefile
index a13e7e2..ee1dc4b 100644
--- a/nand_spl/board/freescale/mpc8313erdb/Makefile
+++ b/nand_spl/board/freescale/mpc8313erdb/Makefile
@@ -84,13 +84,13 @@ $(obj)nand_init.c:
 	ln -sf $(SRCTREE)/cpu/mpc83xx/nand_init.c $(obj)nand_init.c
 
 $(obj)cache.c:
-	ln -sf $(SRCTREE)/lib_ppc/cache.c $(obj)cache.c
+	ln -sf $(SRCTREE)/arch/ppc/lib/cache.c $(obj)cache.c
 
 $(obj)time.c:
-	ln -sf $(SRCTREE)/lib_ppc/time.c $(obj)time.c
+	ln -sf $(SRCTREE)/arch/ppc/lib/time.c $(obj)time.c
 
 $(obj)ticks.S:
-	ln -sf $(SRCTREE)/lib_ppc/ticks.S $(obj)ticks.S
+	ln -sf $(SRCTREE)/arch/ppc/lib/ticks.S $(obj)ticks.S
 
 #########################################################################
 
diff --git a/nand_spl/board/freescale/mpc8315erdb/Makefile b/nand_spl/board/freescale/mpc8315erdb/Makefile
index a13e7e2..ee1dc4b 100644
--- a/nand_spl/board/freescale/mpc8315erdb/Makefile
+++ b/nand_spl/board/freescale/mpc8315erdb/Makefile
@@ -84,13 +84,13 @@ $(obj)nand_init.c:
 	ln -sf $(SRCTREE)/cpu/mpc83xx/nand_init.c $(obj)nand_init.c
 
 $(obj)cache.c:
-	ln -sf $(SRCTREE)/lib_ppc/cache.c $(obj)cache.c
+	ln -sf $(SRCTREE)/arch/ppc/lib/cache.c $(obj)cache.c
 
 $(obj)time.c:
-	ln -sf $(SRCTREE)/lib_ppc/time.c $(obj)time.c
+	ln -sf $(SRCTREE)/arch/ppc/lib/time.c $(obj)time.c
 
 $(obj)ticks.S:
-	ln -sf $(SRCTREE)/lib_ppc/ticks.S $(obj)ticks.S
+	ln -sf $(SRCTREE)/arch/ppc/lib/ticks.S $(obj)ticks.S
 
 #########################################################################
 
diff --git a/nand_spl/board/freescale/mpc8536ds/Makefile b/nand_spl/board/freescale/mpc8536ds/Makefile
index be0caaa..ff8b8be 100644
--- a/nand_spl/board/freescale/mpc8536ds/Makefile
+++ b/nand_spl/board/freescale/mpc8536ds/Makefile
@@ -64,7 +64,7 @@ $(nandobj)u-boot-spl:	$(OBJS)
 
 $(obj)cache.c:
 	@rm -f $(obj)cache.c
-	ln -sf $(SRCTREE)/lib_ppc/cache.c $(obj)cache.c
+	ln -sf $(SRCTREE)/arch/ppc/lib/cache.c $(obj)cache.c
 
 $(obj)cpu_init_early.c:
 	@rm -f $(obj)cpu_init_early.c
diff --git a/nand_spl/board/freescale/mpc8569mds/Makefile b/nand_spl/board/freescale/mpc8569mds/Makefile
index be0caaa..ff8b8be 100644
--- a/nand_spl/board/freescale/mpc8569mds/Makefile
+++ b/nand_spl/board/freescale/mpc8569mds/Makefile
@@ -64,7 +64,7 @@ $(nandobj)u-boot-spl:	$(OBJS)
 
 $(obj)cache.c:
 	@rm -f $(obj)cache.c
-	ln -sf $(SRCTREE)/lib_ppc/cache.c $(obj)cache.c
+	ln -sf $(SRCTREE)/arch/ppc/lib/cache.c $(obj)cache.c
 
 $(obj)cpu_init_early.c:
 	@rm -f $(obj)cpu_init_early.c
diff --git a/nand_spl/board/freescale/p1_p2_rdb/Makefile b/nand_spl/board/freescale/p1_p2_rdb/Makefile
index be0caaa..ff8b8be 100644
--- a/nand_spl/board/freescale/p1_p2_rdb/Makefile
+++ b/nand_spl/board/freescale/p1_p2_rdb/Makefile
@@ -64,7 +64,7 @@ $(nandobj)u-boot-spl:	$(OBJS)
 
 $(obj)cache.c:
 	@rm -f $(obj)cache.c
-	ln -sf $(SRCTREE)/lib_ppc/cache.c $(obj)cache.c
+	ln -sf $(SRCTREE)/arch/ppc/lib/cache.c $(obj)cache.c
 
 $(obj)cpu_init_early.c:
 	@rm -f $(obj)cpu_init_early.c
diff --git a/nand_spl/board/sheldon/simpc8313/Makefile b/nand_spl/board/sheldon/simpc8313/Makefile
index 6920fe8..48c22f8 100644
--- a/nand_spl/board/sheldon/simpc8313/Makefile
+++ b/nand_spl/board/sheldon/simpc8313/Makefile
@@ -90,15 +90,15 @@ $(obj)nand_init.c:
 
 $(obj)cache.c:
 	@rm -f $@
-	ln -s $(SRCTREE)/lib_ppc/cache.c $@
+	ln -s $(SRCTREE)/arch/ppc/lib/cache.c $@
 
 $(obj)time.c:
 	@rm -f $@
-	ln -s $(SRCTREE)/lib_ppc/time.c $@
+	ln -s $(SRCTREE)/arch/ppc/lib/time.c $@
 
 $(obj)ticks.S:
 	@rm -f $@
-	ln -s $(SRCTREE)/lib_ppc/ticks.S $@
+	ln -s $(SRCTREE)/arch/ppc/lib/ticks.S $@
 
 #########################################################################
 
-- 
1.6.2.1



More information about the U-Boot mailing list