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
_______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot