* Add support to boot the 'qemumicroblaze' machine in
qemu-system-microblazeel
* Use the specific machine model for a MicroBlaze system 'petalogix-ml605'
* Use the DTB generated from the kernel build as the DTB for boot
* Force use of initrd rootfs (either in ext or cpio formats)
Signed-off-by: Nathan Rossi <nathan.rossi@xilinx.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
arg=${1}
case "$arg" in
"qemux86" | "qemux86-64" | "qemuarm" | "qemumips" | "qemumipsel" | \
- "qemumips64" | "qemush4" | "qemuppc" | "qemuzynq")
+ "qemumips64" | "qemush4" | "qemuppc" | "qemumicroblaze" | "qemuzynq")
[ -z "$MACHINE" ] && MACHINE=$arg || \
error "conflicting MACHINE types [$MACHINE] and [$arg]"
;;
QEMUPPC_DEFAULT_KERNEL=vmlinux-qemuppc.bin
QEMUPPC_DEFAULT_FSTYPE=ext3
+QEMUMICROBLAZE_DEFAULT_KERNEL=linux.bin.ub
+QEMUMICROBLAZE_DEFAULT_FSTYPE=cpio
+
QEMUZYNQ_DEFAULT_KERNEL=uImage
QEMUZYNQ_DEFAULT_FSTYPE=cpio
"qemuarm")
mem_size=128
;;
+ "qemumicroblaze")
+ mem_size=64
+ ;;
"qemumips"|"qemumips64")
mem_size=128
;;
case "$MACHINE" in
"qemuarm") ;;
+ "qemumicroblaze") ;;
"qemumips") ;;
"qemumipsel") ;;
"qemumips64") ;;
fi
fi
+if [ "$MACHINE" = "qemumicroblaze" ]; then
+ QEMU=qemu-system-microblazeel
+ QEMU_SYSTEM_OPTIONS="-M petalogix-ml605 -serial mon:stdio -dtb $KERNEL-$MACHINE.dtb"
+ if [ "${FSTYPE:0:3}" = "ext" -o "${FSTYPE:0:4}" = "cpio" ]; then
+ KERNCMDLINE="earlyprintk root=/dev/ram rw"
+ QEMUOPTIONS="$QEMU_SYSTEM_OPTIONS -initrd $ROOTFS"
+ fi
+fi
+
if [ "$MACHINE" = "qemuzynq" ]; then
QEMU=qemu-system-arm
QEMU_SYSTEM_OPTIONS="-M xilinx-zynq-a9 -serial null -serial mon:stdio -dtb $KERNEL-$MACHINE.dtb"