[U-Boot] [PATCH 00/27] Clean up address mapping functions & CONFIG_SYS_SDRAM_BASE
Paul Burton
paul.burton at imgtec.com
Sat Oct 1 16:19:03 CEST 2016
README states that CONFIG_SYS_SDRAM_BASE should be the physical address
of the base of SDRAM memory. This is expected by some code such as the
PCI layer, which uses CONFIG_SYS_SDRAM_BASE to set up a region for
system memory. Other code such as the image loading code used by bootm
or the generic board_f.c expect CONFIG_SYS_SDRAM_BASE to be directly
accessible by the CPU, which necessitates that it be a virtual address.
Where virtual & physical addresses aren't identity mapped, as is the
case for MIPS, we cannot possibly satisfy both. Until now MIPS has used
a virtual CONFIG_SYS_SDRAM_BASE. This series fixes up the mess by doing
a few things:
- Ensuring that we provide virt_to_phys() on all architectures.
- Fixing code that expects to use CONFIG_SYS_SDRAM_BASE as a virtual
address to instead convert it to a physical address using
virt_to_phys().
- Converts MIPS code & all MIPS boards to provide a physical
CONFIG_SYS_SDRAM_BASE, which typically is zero.
Paul Burton (27):
Provide a generic io.h & address mapping functions
arc: Use asm-generic/io.h
arm: Use asm-generic/io.h
blackfin: Use asm-generic/io.h
m68k: Use asm-generic/io.h
microblaze: Use asm-generic/io.h
nds32: Use asm-generic/io.h
openrisc: Use asm-generic/io.h
sh: Use asm-generic/io.h
sparc: Use asm-generic/io.h
x86: Use asm-generic/io.h
xtensa: Use asm-generic/io.h
mips: Use asm-generic/io.h
mips: Fix map_physmem for cached mappings
nios2: Use asm-generic/io.h
powerpc: Use asm-generic/io.h
sandbox: Use asm-generic/io.h
board_f: Account for CONFIG_SYS_SDRAM_BASE being physical
image: Account for CONFIG_SYS_SDRAM_BASE being physical
image: Use ram_top, not bi_memsize, in getenv_bootm_size
mips: Use ram_top, not bi_memsize, in arch_lmb_reserve
mips: Ensure stack is at a virtual address
boston: Provide physical CONFIG_SYS_SDRAM_BASE
malta: Use a physical CONFIG_SYS_SDRAM_BASE
xilfpga: Use a physical CONFIG_SYS_SDRAM_BASE
mips: Use a physical CONFIG_SYS_SDRAM_BASE for remaining boards
mips: Remove virt_to_phys call on bi_memstart
arch/arc/include/asm/io.h | 29 +----------
arch/arm/include/asm/io.h | 30 +----------
arch/blackfin/include/asm/io.h | 31 +----------
arch/m68k/include/asm/io.h | 29 +----------
arch/microblaze/include/asm/io.h | 29 +----------
arch/mips/cpu/start.S | 3 +-
arch/mips/include/asm/io.h | 19 +++----
arch/mips/lib/bootm.c | 4 +-
arch/nds32/include/asm/io.h | 32 ++----------
arch/nios2/include/asm/io.h | 15 +++---
arch/openrisc/include/asm/io.h | 35 +------------
arch/powerpc/include/asm/io.h | 25 ++-------
arch/sandbox/cpu/cpu.c | 12 ++++-
arch/sandbox/include/asm/io.h | 17 +++---
arch/sh/include/asm/io.h | 29 +----------
arch/sparc/include/asm/io.h | 30 +----------
arch/x86/include/asm/io.h | 31 +----------
arch/xtensa/include/asm/io.h | 25 +--------
board/imgtec/boston/ddr.c | 8 +--
common/board_f.c | 4 +-
common/image.c | 6 +--
include/asm-generic/io.h | 110 +++++++++++++++++++++++++++++++++++++++
include/configs/ap121.h | 2 +-
include/configs/ap143.h | 2 +-
include/configs/boston.h | 21 ++++----
include/configs/dbau1x00.h | 2 +-
include/configs/imgtec_xilfpga.h | 4 +-
include/configs/malta.h | 18 ++++---
include/configs/pb1x00.h | 2 +-
include/configs/pic32mzdask.h | 2 +-
include/configs/qemu-mips.h | 2 +-
include/configs/qemu-mips64.h | 2 +-
include/configs/tplink_wdr4300.h | 2 +-
include/configs/vct.h | 2 +-
34 files changed, 208 insertions(+), 406 deletions(-)
create mode 100644 include/asm-generic/io.h
--
2.10.0
More information about the U-Boot
mailing list