[OE-core] [PATCH] scripts: add qemuppc64 qemu scripts
Armin Kuster
akuster808 at gmail.com
Sat Sep 13 02:52:21 UTC 2014
Signed-off-by: Armin Kuster <akuster808 at gmail.com>
---
scripts/runqemu | 10 +++++++---
scripts/runqemu-internal | 30 ++++++++++++++++++++++++++++++
2 files changed, 37 insertions(+), 3 deletions(-)
diff --git a/scripts/runqemu b/scripts/runqemu
index ff64a1d..71cd798 100755
--- a/scripts/runqemu
+++ b/scripts/runqemu
@@ -109,7 +109,8 @@ while true; do
arg=${1}
case "$arg" in
"qemux86" | "qemux86-64" | "qemuarm" | "qemumips" | "qemumipsel" | \
- "qemumips64" | "qemush4" | "qemuppc" | "qemumicroblaze" | "qemuzynq")
+ "qemumips64" | "qemush4" | "qemuppc" | "qemuppc64" | \
+ "qemumicroblaze" | "qemuzynq")
[ -z "$MACHINE" ] && MACHINE=$arg || \
error "conflicting MACHINE types [$MACHINE] and [$arg]"
;;
@@ -229,13 +230,13 @@ fi
if [ -z "$MACHINE" ]; then
if [ "x$FSTYPE" = "xvmdk" ]; then
- MACHINE=`basename $VM | sed -n 's/.*\(qemux86-64\|qemux86\|qemuarm\|qemumips64\|qemumips\|qemuppc\|qemush4\).*/\1/p'`
+ MACHINE=`basename $VM | sed -n 's/.*\(qemux86-64\|qemux86\|qemuarm\|qemumips64\|qemumips\|qemuppc\|qemush4\|qemuppc64).*/\1/p'`
if [ -z "$MACHINE" ]; then
error "Unable to set MACHINE from vmdk filename [$VM]"
fi
echo "Set MACHINE to [$MACHINE] based on vmdk [$VM]"
else
- MACHINE=`basename $KERNEL | sed -n 's/.*\(qemux86-64\|qemux86\|qemuarm\|qemumips64\|qemumips\|qemuppc\|qemush4\).*/\1/p'`
+ MACHINE=`basename $KERNEL | sed -n 's/.*\(qemux86-64\|qemux86\|qemuarm\|qemumips64\|qemumips\|qemuppc\|qemush4\qemuppc64).*/\1/p'`
if [ -z "$MACHINE" ]; then
error "Unable to set MACHINE from kernel filename [$KERNEL]"
fi
@@ -316,6 +317,9 @@ QEMUSH4_DEFAULT_FSTYPE=ext3
QEMUPPC_DEFAULT_KERNEL=vmlinux-qemuppc.bin
QEMUPPC_DEFAULT_FSTYPE=ext3
+QEMUPPC64_DEFAULT_KERNEL=vmlinux-qemuppc64.bin
+QEMUPPC64_DEFAULT_FSTYPE=ext3
+
QEMUMICROBLAZE_DEFAULT_KERNEL=linux.bin.ub
QEMUMICROBLAZE_DEFAULT_FSTYPE=cpio
diff --git a/scripts/runqemu-internal b/scripts/runqemu-internal
index 38745dd..800ab69 100755
--- a/scripts/runqemu-internal
+++ b/scripts/runqemu-internal
@@ -59,6 +59,9 @@ else
"qemuppc")
mem_size=256
;;
+ "qemuppc64")
+ mem_size=1024
+ ;;
"qemush4")
mem_size=1024
;;
@@ -280,6 +283,7 @@ case "$MACHINE" in
"qemumips64") ;;
"qemush4") ;;
"qemuppc") ;;
+ "qemuppc64") ;;
"qemuarmv6") ;;
"qemuarmv7") ;;
"qemux86") ;;
@@ -548,6 +552,32 @@ if [ "$MACHINE" = "qemuzynq" ]; then
fi
fi
+if [ "$MACHINE" = "qemuppc64" ]; then
+ QEMU=qemu-system-ppc64
+ MACHINE_SUBTYPE=pseries
+ CPU_SUBTYPE=POWER7
+ QEMU_UI_OPTIONS="$QEMU_UI_OPTIONS"
+ if [ "$SLIRP_ENABLED" = "yes" ]; then
+ QEMU_NETWORK_CMD=""
+ else
+ QEMU_NETWORK_CMD="-net nic,model=e1000 $QEMU_TAP_CMD"
+ fi
+ if [ "${FSTYPE:0:3}" = "ext" -o "$FSTYPE" = "btrfs" ]; then
+ KERNCMDLINE="root=/dev/sda rw console=ttyS0 console=tty $KERNEL_NETWORK_CMD mem=$QEMU_MEMORY"
+ QEMUOPTIONS="$QEMU_NETWORK_CMD -cpu $CPU_SUBTYPE -M $MACHINE_SUBTYPE -hda $ROOTFS -no-reboot $QEMU_UI_OPTIONS"
+ fi
+ if [ "$FSTYPE" = "nfs" ]; then
+ if [ "$NFS_SERVER" = "192.168.7.1" -a ! -d "$NFS_DIR" ]; then
+ echo "Error: NFS mount point $ROOTFS doesn't exist"
+ cleanup
+ return 1
+ fi
+ KERNCMDLINE="root=/dev/nfs console=ttyS0 console=tty nfsroot=$NFS_SERVER:$NFS_DIR,$UNFS_OPTS rw $KERNEL_NETWORK_CMD mem=$QEMU_MEMORY"
+ QEMUOPTIONS="$QEMU_NETWORK_CMD -cpu $CPU_SUBTYPE -M $MACHINE_SUBTYPE -no-reboot $QEMU_UI_OPTIONS"
+ fi
+fi
+
+
if [ "x$RAMFS" = "xtrue" ]; then
QEMUOPTIONS="-initrd $ROOTFS -nographic"
KERNCMDLINE="root=/dev/ram0 console=ttyS0 debugshell"
--
1.9.1
More information about the Openembedded-core
mailing list