[U-Boot] [Patch 0/17] New 'qemu-mips64' test architecture for U-Boot
Zhi-zhou Zhang
etou.zh at gmail.com
Tue Aug 14 17:06:51 CEST 2012
As so far, U-Boot has already supports mips32. But there are some
differences between mips64 and mips32. Such as different ABI, different
output format. so this patch adds mips64 support.
I use cross compiler from clfs and build U-Boot like this:
export
CROSS_COMPILE=/home/zhangzz/work/clfs/sys_root/cross-tools/bin/mips64el-unknown-linux-gnu-
make qemu_mips64_config
make
And run U-Boot with command below:
$ qemu-system-mips64el -M mips -cpu MIPS64R2-generic -kernel u-boot
-nographic
U-Boot 2012.07-00089-gbbffc64 (Aug 14 2012 - 22:34:02)
Board: Qemu -M mips CPU: unknown proc_id=0x10000
DRAM: 128 MiB
Using default environment
In: serial
Out: serial
Err: serial
Net: NE2000
qemu-mips64 #
=====
Detail:
1 Add qemu_mips64_defconfig, and add related build configuration.
2 mips/cpu/mips64/* are derived from mips/cpu/mips32, but mips32 is using
ABI O32, we can't build it with mips64 cross compiler. so changes are made.
3 Some address operation didn't take care about mips64, so asm/addrspace.h
and io.h were changed.
arch/mips/config.mk | 14 +-
arch/mips/cpu/mips64/Makefile | 48 +++++
arch/mips/cpu/mips64/cache.S | 229 +++++++++++++++++++++
arch/mips/cpu/mips64/config.mk | 36 ++++
arch/mips/cpu/mips64/cpu.c | 116 +++++++++++
arch/mips/cpu/mips64/interrupts.c | 38 ++++
arch/mips/cpu/mips64/start.S | 374
+++++++++++++++++++++++++++++++++++
arch/mips/cpu/mips64/time.c | 86 ++++++++
arch/mips/include/asm/addrspace.h | 2 +-
arch/mips/include/asm/io.h | 16 ++
arch/mips/include/asm/posix_types.h | 4 +
board/qemu-mips/config.mk | 7 +
board/qemu-mips/u-boot.lds | 8 +
boards.cfg | 1 +
examples/standalone/mips64.lds | 59 ++++++
include/configs/qemu-mips64.h | 168 ++++++++++++++++
17 files changed, 1206 insertions(+), 3 deletions(-)
--
Regards,
Zhizhou Zhang
More information about the U-Boot
mailing list