[OE-core] [PATCH v1] runqemu: Add suport for qemuzynqmp

Alistair Francis alistair.francis at xilinx.com
Thu May 12 21:37:39 UTC 2016


Signed-off-by: Alistair Francis <alistair.francis at xilinx.com>
---
 scripts/runqemu          |  9 ++++++++-
 scripts/runqemu-internal | 21 +++++++++++++++++++++
 2 files changed, 29 insertions(+), 1 deletion(-)

diff --git a/scripts/runqemu b/scripts/runqemu
index d7fa941..de05035 100755
--- a/scripts/runqemu
+++ b/scripts/runqemu
@@ -121,7 +121,7 @@ while true; do
     arg=${1}
     case "$arg" in
         "qemux86" | "qemux86-64" | "qemuarm" | "qemuarm64" | "qemumips" | "qemumipsel" | \
-        "qemumips64" | "qemush4"  | "qemuppc" | "qemumicroblaze" | "qemuzynq")
+        "qemumips64" | "qemush4"  | "qemuppc" | "qemumicroblaze" | "qemuzynq" | "qemuzynqmp")
             [ -z "$MACHINE" -o "$MACHINE" = "$arg" ] && MACHINE=$arg || \
                 error "conflicting MACHINE types [$MACHINE] and [$arg]"
             ;;
@@ -350,6 +350,10 @@ QEMUMICROBLAZE_DEFAULT_FSTYPE=cpio
 QEMUZYNQ_DEFAULT_KERNEL=uImage
 QEMUZYNQ_DEFAULT_FSTYPE=cpio
 
+# Default to booting u-boot as a direct Linux boot isn't supported yet.
+QEMUZYNQMP_DEFAULT_KERNEL=u-boot-qemuzynqmp.elf
+QEMUZYNQMP_DEFAULT_FSTYPE=cpio
+
 setup_path_vars() {
     if [ -z "$OE_TMPDIR" ] ; then
         PATHS_REQUIRED=true
@@ -382,6 +386,9 @@ setup_path_vars() {
         if [ -z "$DEPLOY_DIR_IMAGE" ] ; then
             DEPLOY_DIR_IMAGE=`sed -n 's/^DEPLOY_DIR_IMAGE=\"\(.*\)\"/\1/p' $BITBAKE_ENV_TMPFILE`
         fi
+        if [ -z "$QEMU_DTB" ] ; then
+            QEMU_DTB=`sed -n 's/^QEMU_DTB=\"\(.*\)\"/\1/p' $BITBAKE_ENV_TMPFILE`
+        fi
         if [ -z "$OE_TMPDIR" ]; then
             # Check for errors from bitbake that the user needs to know about
             BITBAKE_OUTPUT=`cat $BITBAKE_ENV_TMPFILE | wc -l`
diff --git a/scripts/runqemu-internal b/scripts/runqemu-internal
index ac1c703..5671b4f 100755
--- a/scripts/runqemu-internal
+++ b/scripts/runqemu-internal
@@ -498,6 +498,24 @@ config_qemuzynq() {
     fi
 }
 
+config_qemuzynqmp() {
+    set_mem_size 2048
+    QEMU=qemu-system-aarch64
+
+    export QEMU_AUDIO_DRV="none"
+    if [ "x$SERIALSTDIO" = "x" ] ; then
+        QEMU_UI_OPTIONS="-nographic"
+    else
+        QEMU_UI_OPTIONS=""
+    fi
+
+    # Networking and system options required for QEMU ZynqMP machine
+    QEMU_NETWORK_CMD="-net nic -net nic -net nic -net nic -net user,net=10.10.70.0,dhcpstart=10.10.70.1,host=10.10.70.101"
+    QEMU_SYSTEM_OPTIONS="$QEMU_NETWORK_CMD -M xlnx-ep108 -serial mon:stdio -dtb $DEPLOY_DIR_IMAGE/${QEMU_DTB}.dtb"
+
+    QEMUOPTIONS="$QEMU_SYSTEM_OPTIONS $QEMU_UI_OPTIONS -tftp $DEPLOY_DIR_IMAGE"
+}
+
 config_qemumicroblaze() {
     set_mem_size 256
     QEMU=qemu-system-microblazeel
@@ -533,6 +551,9 @@ case "$MACHINE" in
     "qemuzynq")
         config_qemuzynq
         ;;
+    "qemuzynqmp")
+        config_qemuzynqmp
+        ;;
     "qemumicroblaze")
         config_qemumicroblaze
         ;;
-- 
2.7.4




More information about the Openembedded-core mailing list