[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