summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlistair Francis <alistair.francis@xilinx.com>2016-05-12 14:37:39 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-06-12 23:33:15 +0100
commitd2a7c1db9bff6ae3844e3d017e94f29d1501bf57 (patch)
treea69436d10333dceb83530bfa8da9002b64d76cad
parent29ebe67fcc49b317bbb24871d8285494c1a29d9a (diff)
downloadopenembedded-core-contrib-d2a7c1db9bff6ae3844e3d017e94f29d1501bf57.tar.gz
openembedded-core-contrib-d2a7c1db9bff6ae3844e3d017e94f29d1501bf57.tar.bz2
openembedded-core-contrib-d2a7c1db9bff6ae3844e3d017e94f29d1501bf57.zip
runqemu: Add suport for qemuzynqmp
Signed-off-by: Alistair Francis <alistair.francis@xilinx.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
-rwxr-xr-xscripts/runqemu9
-rwxr-xr-xscripts/runqemu-internal21
2 files changed, 29 insertions, 1 deletions
diff --git a/scripts/runqemu b/scripts/runqemu
index d7fa941a66..de0503546c 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 ac1c703c53..5671b4f434 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
;;