]> code.ossystems Code Review - openembedded-core.git/commitdiff
runqemu: Add suport for qemuzynqmp
authorAlistair Francis <alistair.francis@xilinx.com>
Thu, 12 May 2016 21:37:39 +0000 (14:37 -0700)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Sun, 12 Jun 2016 22:33:15 +0000 (23:33 +0100)
Signed-off-by: Alistair Francis <alistair.francis@xilinx.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
scripts/runqemu
scripts/runqemu-internal

index d7fa941a6616eaa16d8550d95e1d3a1b34f8c6b0..de0503546c8d3e7054a03213b821cbd20c45c8c0 100755 (executable)
@@ -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`
index ac1c703c53732fd12a95b4ef80c44d8613f63ddd..5671b4f434204b503f1b78cf941e913d370a67c3 100755 (executable)
@@ -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
         ;;