From 1e4b1d95e1f47654e928f38cd091ffe272689844 Mon Sep 17 00:00:00 2001 From: Nathan Rossi Date: Thu, 4 Jul 2013 07:47:01 +0000 Subject: scripts/runqemu: Add support for 'qemuzynq' machine * Add support to boot the 'qemuzynq' machine in qemu-system-arm * Use the specific machine model for Zynq 'xilinx-zynq-a9' * 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 Signed-off-by: Saul Wold --- scripts/runqemu | 6 +++++- scripts/runqemu-internal | 15 +++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/scripts/runqemu b/scripts/runqemu index 406092be3c..5ad83dd215 100755 --- a/scripts/runqemu +++ b/scripts/runqemu @@ -107,7 +107,8 @@ KVM_ENABLED="no" while true; do arg=${1} case "$arg" in - "qemux86" | "qemux86-64" | "qemuarm" | "qemumips" | "qemumipsel" | "qemumips64" | "qemush4" | "qemuppc") + "qemux86" | "qemux86-64" | "qemuarm" | "qemumips" | "qemumipsel" | \ + "qemumips64" | "qemush4" | "qemuppc" | "qemuzynq") [ -z "$MACHINE" ] && MACHINE=$arg || \ error "conflicting MACHINE types [$MACHINE] and [$arg]" ;; @@ -308,6 +309,9 @@ QEMUSH4_DEFAULT_FSTYPE=ext3 QEMUPPC_DEFAULT_KERNEL=vmlinux-qemuppc.bin QEMUPPC_DEFAULT_FSTYPE=ext3 +QEMUZYNQ_DEFAULT_KERNEL=uImage +QEMUZYNQ_DEFAULT_FSTYPE=cpio + AKITA_DEFAULT_KERNEL=zImage-akita.bin AKITA_DEFAULT_FSTYPE=jffs2 diff --git a/scripts/runqemu-internal b/scripts/runqemu-internal index 4f3ba7b882..f156c4dae5 100755 --- a/scripts/runqemu-internal +++ b/scripts/runqemu-internal @@ -59,6 +59,9 @@ else "qemush4") mem_size=1024 ;; + "qemuzynq") + mem_size=1024 + ;; *) mem_size=64 ;; @@ -270,6 +273,7 @@ case "$MACHINE" in "qemuarmv7") ;; "qemux86") ;; "qemux86-64") ;; + "qemuzynq") ;; "akita") ;; "spitz") ;; *) @@ -492,6 +496,17 @@ if [ "$MACHINE" = "akita" ]; then 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" + # zynq serial ports are named 'ttyPS0' and 'ttyPS1', fixup the default values + SCRIPT_KERNEL_OPT=$(echo "$SCRIPT_KERNEL_OPT" | sed 's/console=ttyS/console=ttyPS/g') + 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 [ "x$RAMFS" = "xtrue" ]; then QEMUOPTIONS="-initrd $ROOTFS -nographic" KERNCMDLINE="root=/dev/ram0 debugshell" -- cgit v1.2.3