From 52ea026df141ea23bbab38ad3a9733c15097eaa4 Mon Sep 17 00:00:00 2001 From: Liming Wang Date: Wed, 4 Jan 2012 18:29:17 +0800 Subject: qemuppc: replace emulation of qemuppc from prep to mac99 With this new emulation, existing qemuppc functionality is maintained and other functionality such as framebuffer + sato and NFS boot are added. Signed-off-by: Liming Wang Signed-off-by: Bruce Ashfield --- meta/conf/machine/qemuppc.conf | 2 +- meta/recipes-kernel/linux/linux-yocto-rt_3.0.bb | 2 +- meta/recipes-kernel/linux/linux-yocto_3.0.bb | 2 +- scripts/runqemu | 7 +------ scripts/runqemu-internal | 16 ++++++++-------- 5 files changed, 12 insertions(+), 17 deletions(-) diff --git a/meta/conf/machine/qemuppc.conf b/meta/conf/machine/qemuppc.conf index bcc408f4d..48eecb73b 100644 --- a/meta/conf/machine/qemuppc.conf +++ b/meta/conf/machine/qemuppc.conf @@ -5,7 +5,7 @@ require conf/machine/include/qemu.inc require conf/machine/include/tune-ppc603e.inc -KERNEL_IMAGETYPE = "zImage" +KERNEL_IMAGETYPE = "vmlinux" SERIAL_CONSOLE = "115200 ttyS0" diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_3.0.bb b/meta/recipes-kernel/linux/linux-yocto-rt_3.0.bb index c8983c405..c6bf4465b 100644 --- a/meta/recipes-kernel/linux/linux-yocto-rt_3.0.bb +++ b/meta/recipes-kernel/linux/linux-yocto-rt_3.0.bb @@ -16,7 +16,7 @@ LINUX_KERNEL_TYPE = "preempt-rt" SRCREV_machine ?= "bcf4107c7f22d10952618a2ad146e6149d240cd2" SRCREV_machine_qemuppc ?= "1e5511ea2cb5f150ffce86071035a81c0499494b" -SRCREV_meta ?= "6ae3d992cf546184010e87a0349810198f1d167c" +SRCREV_meta ?= "73dafd44ea875df654129b32b2877f342d5573e4" PR = "r1" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/meta/recipes-kernel/linux/linux-yocto_3.0.bb b/meta/recipes-kernel/linux/linux-yocto_3.0.bb index 921c258c6..e624b48bc 100644 --- a/meta/recipes-kernel/linux/linux-yocto_3.0.bb +++ b/meta/recipes-kernel/linux/linux-yocto_3.0.bb @@ -18,7 +18,7 @@ SRCREV_machine_qemuppc ?= "10e808d1c304b14cf42903fd637f239766b78476" SRCREV_machine_qemux86 ?= "e04f9f8e564c60b1ce907d64074c18730f8dab4e" SRCREV_machine_qemux86-64 ?= "53c2fa060d34e9a0b59e19398aeebbe73f24d89b" SRCREV_machine ?= "fe80c1e343bf8f038328a612cef7f821d7ec8dbf" -SRCREV_meta ?= "6ae3d992cf546184010e87a0349810198f1d167c" +SRCREV_meta ?= "73dafd44ea875df654129b32b2877f342d5573e4" PR = "r2" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/scripts/runqemu b/scripts/runqemu index bed6a2948..ac5facfa2 100755 --- a/scripts/runqemu +++ b/scripts/runqemu @@ -262,7 +262,7 @@ QEMUARM_DEFAULT_FSTYPE=ext3 QEMUMIPS_DEFAULT_KERNEL=vmlinux-qemumips.bin QEMUMIPS_DEFAULT_FSTYPE=ext3 -QEMUPPC_DEFAULT_KERNEL=zImage-qemuppc.bin +QEMUPPC_DEFAULT_KERNEL=vmlinux-qemuppc.bin QEMUPPC_DEFAULT_FSTYPE=ext3 AKITA_DEFAULT_KERNEL=zImage-akita.bin @@ -365,11 +365,6 @@ if [ -z "$FSTYPE" ]; then fi fi -if [ "$FSTYPE" = "nfs" -a "$MACHINE" = "qemuppc" ]; then - echo "Error: usermode NFS boot is not available for qemuppc." - exit 1 -fi - # FSTYPE is now set for all cases # Handle cases where a ROOTFS type is given instead of a filename, e.g. diff --git a/scripts/runqemu-internal b/scripts/runqemu-internal index 2968ed939..c55619baa 100755 --- a/scripts/runqemu-internal +++ b/scripts/runqemu-internal @@ -389,13 +389,13 @@ fi if [ "$MACHINE" = "qemuppc" ]; then QEMU=qemu-system-ppc - MACHINE_SUBTYPE=prep - CPU_SUBTYPE=603e - BIOS=powerpc_rom.bin - QEMU_UI_OPTIONS="$QEMU_UI_OPTIONS -nographic" + MACHINE_SUBTYPE=mac99 + CPU_SUBTYPE=G4 + QEMU_UI_OPTIONS="$QEMU_UI_OPTIONS" + QEMU_NETWORK_CMD="-net nic,model=pcnet $QEMU_TAP_CMD" if [ "$FSTYPE" = "ext3" -o "$FSTYPE" = "btrfs" ]; then - KERNCMDLINE="root=/dev/hda rw console=ttyS0 3 $KERNEL_NETWORK_CMD mem=$QEMU_MEMORY" - QEMUOPTIONS="$QEMU_NETWORK_CMD -cpu $CPU_SUBTYPE -M $MACHINE_SUBTYPE -bios $BIOS -hda $ROOTFS -no-reboot $QEMU_UI_OPTIONS" + KERNCMDLINE="root=/dev/hda rw console=ttyS0 $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 @@ -403,8 +403,8 @@ if [ "$MACHINE" = "qemuppc" ]; then cleanup return fi - KERNCMDLINE="root=/dev/nfs console=ttyS0 3 nfsroot=$NFS_SERVER:$NFS_DIR,$UNFS_OPTS rw $KERNEL_NETWORK_CMD mem=$QEMU_MEMORY" - QEMUOPTIONS="$QEMU_NETWORK_CMD -cpu $CPU_SUBTYPE -M $MACHINE_SUBTYPE -bios $BIOS -no-reboot $QEMU_UI_OPTIONS" + KERNCMDLINE="root=/dev/nfs console=ttyS0 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 -- cgit v1.2.3