mirror of
https://git.codelinaro.org/clo/qsdk/oss/boot/u-boot-2016.git
synced 2026-01-30 10:44:42 +01:00
The physical base address of the NOR flash is 0x1e000000
on the Malta boards. The hardware also maps the first 4MiB
of the flash into the 0x1fc00000-0x1fffffff range.
Currently, U-Boot uses the mapped address to access the
flash, which does not work in recent qemu versions.
Since commit a427338b222b43197c2776cbc996936df0302f51
(mips_malta: correct reading MIPS revision at 0x1fc00010)
writing to the mapped address space causes a CPU exception.
Due to the exception, U-Boot hangs during boot when it tries
to detect the CFI flash chip.
Use the correct physical address for the MALTA_FLASH_BASE
constant to fix the problem. In order to avoid relocation
problems, also update the CONFIG_SYS_{TEXT,MONITOR}_BASE
constants.
The change makes it possible to start U-Boot on a Malta
board emulated with Qemu 1.6.1 and 1.7.0-rc0. It also
works on older versions (tested with 1.1.1, 1.2.2, 1.4.2,
1.5.3).
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Cc: Paul Burton <paul.burton@imgtec.com>
|
||
|---|---|---|
| .. | ||
| addrspace.h | ||
| asm.h | ||
| au1x00.h | ||
| bitops.h | ||
| byteorder.h | ||
| cache.h | ||
| cachectl.h | ||
| cacheops.h | ||
| config.h | ||
| errno.h | ||
| global_data.h | ||
| inca-ip.h | ||
| io.h | ||
| isadep.h | ||
| jz4740.h | ||
| malta.h | ||
| mipsregs.h | ||
| posix_types.h | ||
| processor.h | ||
| ptrace.h | ||
| reboot.h | ||
| reg.h | ||
| regdef.h | ||
| sections.h | ||
| sgidefs.h | ||
| string.h | ||
| system.h | ||
| types.h | ||
| u-boot-mips.h | ||
| u-boot.h | ||
| unaligned.h | ||