All of lore.kernel.org
 help / color / mirror / Atom feed
* [oe-core 1/5] qemu: Add cpio to the list of image filesystem types.
@ 2013-08-29 18:35 Elvis Dowson
  2013-08-29 18:35 ` [oe-core 2/5] qemu: Add support for qemuarma9 Elvis Dowson
                   ` (3 more replies)
  0 siblings, 4 replies; 6+ messages in thread
From: Elvis Dowson @ 2013-08-29 18:35 UTC (permalink / raw)
  To: openembedded-devel; +Cc: bruce.ashfield, Elvis Dowson

Signed-off-by: Elvis Dowson <elvis.dowson@gmail.com>
---
 meta/conf/machine/include/qemu.inc |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/conf/machine/include/qemu.inc b/meta/conf/machine/include/qemu.inc
index 545f8d1..d5c95ff 100644
--- a/meta/conf/machine/include/qemu.inc
+++ b/meta/conf/machine/include/qemu.inc
@@ -15,7 +15,7 @@ MACHINE_FEATURES = "apm alsa pcmcia bluetooth irda usbgadget screen"
 
 MACHINEOVERRIDES =. "qemuall:"
 
-IMAGE_FSTYPES += "tar.bz2 ext3"
+IMAGE_FSTYPES += "cpio tar.bz2 ext3"
 
 # Don't include kernels in standard images
 RDEPENDS_kernel-base = ""
-- 
1.7.10.4



^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [oe-core 2/5] qemu: Add support for qemuarma9.
  2013-08-29 18:35 [oe-core 1/5] qemu: Add cpio to the list of image filesystem types Elvis Dowson
@ 2013-08-29 18:35 ` Elvis Dowson
  2013-08-29 18:35 ` [oe-core 3/5] qemu: Add support for qemuarmv7 Elvis Dowson
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 6+ messages in thread
From: Elvis Dowson @ 2013-08-29 18:35 UTC (permalink / raw)
  To: openembedded-devel; +Cc: bruce.ashfield, Elvis Dowson

This commit
- adds support for qemuarma9 machine support based on the vexpress-a9
  platform.

Signed-off-by: Elvis Dowson <elvis.dowson@gmail.com>
---
 meta/conf/machine/qemuarma9.conf |   24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)
 create mode 100644 meta/conf/machine/qemuarma9.conf

diff --git a/meta/conf/machine/qemuarma9.conf b/meta/conf/machine/qemuarma9.conf
new file mode 100644
index 0000000..a46e28c
--- /dev/null
+++ b/meta/conf/machine/qemuarma9.conf
@@ -0,0 +1,24 @@
+#@TYPE: Machine
+#@NAME: qemuarma9
+#@DESCRIPTION: Machine configuration for QEMU ARM Cortex-A9.
+
+# Specify the default tune.
+DEFAULTTUNE = "armv7a-neon"
+
+require conf/machine/include/qemu.inc
+require conf/machine/include/tune-cortexa9.inc
+
+# Specify the preferred kernel version.
+PREFERRED_VERSION_linux-yocto ?= "3.8%"
+
+# Specify the kernel devicetree.
+KERNEL_DEVICETREE = "vexpress-v2p-ca9.dtb"
+
+# Specify the machine name used by the kernel.
+KMACHINE_qemuarma9 = "vexpress"
+
+# Specify the kernel image type.
+KERNEL_IMAGETYPE = "uImage"
+
+# Specify the serial console parameters.
+SERIAL_CONSOLE = "115200 ttyAMA0"
-- 
1.7.10.4



^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [oe-core 3/5] qemu: Add support for qemuarmv7.
  2013-08-29 18:35 [oe-core 1/5] qemu: Add cpio to the list of image filesystem types Elvis Dowson
  2013-08-29 18:35 ` [oe-core 2/5] qemu: Add support for qemuarma9 Elvis Dowson
@ 2013-08-29 18:35 ` Elvis Dowson
  2013-08-29 18:35 ` [oe-core 4/5] linux-yocto: Add support for qemuarmv7 and qemuarma9 Elvis Dowson
  2013-08-29 18:35 ` [oe-core 5/5] qemu: runqemu: Add support for launching qemuarmv7 and qemuarma9 machine configurations Elvis Dowson
  3 siblings, 0 replies; 6+ messages in thread
From: Elvis Dowson @ 2013-08-29 18:35 UTC (permalink / raw)
  To: openembedded-devel; +Cc: bruce.ashfield, Elvis Dowson

This commit
- adds support for qemuarmv7 machine support based on the beagleboard
  platform.

Signed-off-by: Elvis Dowson <elvis.dowson@gmail.com>
---
 meta/conf/machine/qemuarmv7.conf |   18 ++++++++++++++++++
 1 file changed, 18 insertions(+)
 create mode 100644 meta/conf/machine/qemuarmv7.conf

diff --git a/meta/conf/machine/qemuarmv7.conf b/meta/conf/machine/qemuarmv7.conf
new file mode 100644
index 0000000..7f70ddb
--- /dev/null
+++ b/meta/conf/machine/qemuarmv7.conf
@@ -0,0 +1,18 @@
+#@TYPE: Machine
+#@NAME: qemuarmv7
+#@DESCRIPTION: Machine configuration for QEMU ARM Cortex-A8.
+
+# Specify the default tune.
+DEFAULTTUNE = "armv7a-neon"
+
+require conf/machine/include/qemu.inc
+require conf/machine/include/tune-cortexa8.inc
+
+# Specify the preferred kernel version.
+PREFERRED_VERSION_linux-yocto ?= "3.8%"
+
+# Specify the machine name used by the kernel.
+KMACHINE_qemuarmv7 = "beagleboard"
+
+# Specify the serial console parameters.
+SERIAL_CONSOLE = "115200 ttyO2"
-- 
1.7.10.4



^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [oe-core 4/5] linux-yocto: Add support for qemuarmv7 and qemuarma9.
  2013-08-29 18:35 [oe-core 1/5] qemu: Add cpio to the list of image filesystem types Elvis Dowson
  2013-08-29 18:35 ` [oe-core 2/5] qemu: Add support for qemuarma9 Elvis Dowson
  2013-08-29 18:35 ` [oe-core 3/5] qemu: Add support for qemuarmv7 Elvis Dowson
@ 2013-08-29 18:35 ` Elvis Dowson
       [not found]   ` <521F963F.3070801@windriver.com>
  2013-08-29 18:35 ` [oe-core 5/5] qemu: runqemu: Add support for launching qemuarmv7 and qemuarma9 machine configurations Elvis Dowson
  3 siblings, 1 reply; 6+ messages in thread
From: Elvis Dowson @ 2013-08-29 18:35 UTC (permalink / raw)
  To: openembedded-devel; +Cc: bruce.ashfield, Elvis Dowson

This commit
- adds qemuarmv7 and qemuarma9 to the list of compatible machines.

Signed-off-by: Elvis Dowson <elvis.dowson@gmail.com>
---
 meta/recipes-kernel/linux/linux-yocto_3.8.bb |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/recipes-kernel/linux/linux-yocto_3.8.bb b/meta/recipes-kernel/linux/linux-yocto_3.8.bb
index 790e3e3..0bd9913 100644
--- a/meta/recipes-kernel/linux/linux-yocto_3.8.bb
+++ b/meta/recipes-kernel/linux/linux-yocto_3.8.bb
@@ -21,7 +21,7 @@ PV = "${LINUX_VERSION}+git${SRCPV}"
 
 KMETA = "meta"
 
-COMPATIBLE_MACHINE = "qemuarm|qemux86|qemuppc|qemumips|qemumips64|qemux86-64"
+COMPATIBLE_MACHINE = "qemuarm|qemuarmv7|qemuarma9|qemux86|qemuppc|qemumips|qemumips64|qemux86-64"
 
 # Functionality flags
 KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc"
-- 
1.7.10.4



^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [oe-core 5/5] qemu: runqemu: Add support for launching qemuarmv7 and qemuarma9 machine configurations.
  2013-08-29 18:35 [oe-core 1/5] qemu: Add cpio to the list of image filesystem types Elvis Dowson
                   ` (2 preceding siblings ...)
  2013-08-29 18:35 ` [oe-core 4/5] linux-yocto: Add support for qemuarmv7 and qemuarma9 Elvis Dowson
@ 2013-08-29 18:35 ` Elvis Dowson
  3 siblings, 0 replies; 6+ messages in thread
From: Elvis Dowson @ 2013-08-29 18:35 UTC (permalink / raw)
  To: openembedded-devel; +Cc: bruce.ashfield, Elvis Dowson

This commit
- adds support for launching qemuarmv7 and qemuarmv9 machine configurations.

Signed-off-by: Elvis Dowson <elvis.dowson@gmail.com>
---
 scripts/runqemu          |   14 ++++++++---
 scripts/runqemu-internal |   58 ++++++++++++++++++++++++++++++++++++++++++----
 2 files changed, 65 insertions(+), 7 deletions(-)

diff --git a/scripts/runqemu b/scripts/runqemu
index 04dc3b0..3282893 100755
--- a/scripts/runqemu
+++ b/scripts/runqemu
@@ -39,6 +39,8 @@ usage() {
     echo ""
     echo "Examples:"
     echo "  $MYNAME qemuarm"
+    echo "  $MYNAME qemuarmv7"
+    echo "  $MYNAME qemuarma9"
     echo "  $MYNAME qemux86-64 core-image-sato ext3"
     echo "  $MYNAME path/to/bzImage-qemux86.bin path/to/nfsrootdir/ serial"
     echo "  $MYNAME qemux86 ramfs"
@@ -107,7 +109,7 @@ KVM_ENABLED="no"
 while true; do
     arg=${1}
     case "$arg" in
-        "qemux86" | "qemux86-64" | "qemuarm" | "qemumips" | "qemumipsel" | \
+        "qemux86" | "qemux86-64" | "qemuarm" |  "qemuarmv7" | "qemuarma9" |"qemumips" | "qemumipsel" | \
         "qemumips64" | "qemush4"  | "qemuppc" | "qemumicroblaze" | "qemuzynq")
             [ -z "$MACHINE" ] && MACHINE=$arg || \
                 error "conflicting MACHINE types [$MACHINE] and [$arg]"
@@ -224,13 +226,13 @@ fi
 
 if [ -z "$MACHINE" ]; then
     if [ "x$FSTYPE" = "xvmdk" ]; then
-        MACHINE=`basename $VM | sed 's/.*\(qemux86-64\|qemux86\|qemuarm\|qemumips64\|qemumips\|qemuppc\|qemush4\).*/\1/'`
+        MACHINE=`basename $VM | sed 's/.*\(qemux86-64\|qemux86\|qemuarm\|qemuarmv7\|qemuarma9\|qemumips64\|qemumips\|qemuppc\|qemush4\).*/\1/'`
         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 's/.*\(qemux86-64\|qemux86\|qemuarm\|qemumips64\|qemumips\|qemuppc\|qemush4\).*/\1/'`
+        MACHINE=`basename $KERNEL | sed 's/.*\(qemux86-64\|qemux86\|qemuarm\|qemuarmv7\|qemuarma9\|qemumips64\|qemumips\|qemuppc\|qemush4\).*/\1/'`
         if [ -z "$MACHINE" ]; then
             error "Unable to set MACHINE from kernel filename [$KERNEL]"
         fi
@@ -294,6 +296,12 @@ QEMUX86_64_DEFAULT_FSTYPE=ext3
 QEMUARM_DEFAULT_KERNEL=zImage-qemuarm.bin
 QEMUARM_DEFAULT_FSTYPE=ext3
 
+QEMUARMV7_DEFAULT_KERNEL=zImage-qemuarmv7.bin
+QEMUARMV7_DEFAULT_FSTYPE=ext3
+
+QEMUARMA9_DEFAULT_KERNEL=uImage
+QEMUARMA9_DEFAULT_FSTYPE=cpio
+
 QEMUMIPS_DEFAULT_KERNEL=vmlinux-qemumips.bin
 QEMUMIPS_DEFAULT_FSTYPE=ext3
 
diff --git a/scripts/runqemu-internal b/scripts/runqemu-internal
index 8a6e551..3f35054 100755
--- a/scripts/runqemu-internal
+++ b/scripts/runqemu-internal
@@ -50,6 +50,12 @@ else
         "qemuarm")
             mem_size=128
             ;;
+        "qemuarmv7")
+            mem_size=1024
+            ;;
+        "qemuarma9")
+            mem_size=1024
+            ;;
         "qemumicroblaze")
             mem_size=64
             ;;
@@ -267,6 +273,8 @@ fi
 
 case "$MACHINE" in
     "qemuarm") ;;
+    "qemuarmv7") ;;
+    "qemuarma9") ;;
     "qemumicroblaze") ;;
     "qemumips") ;;
     "qemumipsel") ;;
@@ -325,7 +333,7 @@ if [ "$NFS_SERVER" = "" ]; then
     NFS_DIR=$ROOTFS
 fi
 
-if [ "$MACHINE" = "qemuarm" -o "$MACHINE" = "qemuarmv6" -o "$MACHINE" = "qemuarmv7" ]; then
+if [ "$MACHINE" = "qemuarm" -o "$MACHINE" = "qemuarmv6" ]; then
     QEMU=qemu-system-arm
     MACHINE_SUBTYPE=versatilepb
     export QEMU_AUDIO_DRV="none"
@@ -347,8 +355,50 @@ if [ "$MACHINE" = "qemuarm" -o "$MACHINE" = "qemuarmv6" -o "$MACHINE" = "qemuarm
     if [ "$MACHINE" = "qemuarmv6" ]; then
         QEMUOPTIONS="$QEMUOPTIONS -cpu arm1136"
     fi
-    if [ "$MACHINE" = "qemuarmv7" ]; then
-        QEMUOPTIONS="$QEMUOPTIONS -cpu cortex-a8"
+fi
+
+if [ "$MACHINE" = "qemuarmv7" ]; then
+    QEMU=qemu-system-arm
+    MACHINE_SUBTYPE=beagle
+    export QEMU_AUDIO_DRV="none"
+    QEMU_UI_OPTIONS="$QEMU_UI_OPTIONS"
+    # QEMU_UI_OPTIONS="$QEMU_UI_OPTIONS -force-pointer"
+    if [ "${FSTYPE:0:3}" = "ext" -o "$FSTYPE" = "btrfs" ]; then
+        KERNCMDLINE="root=/dev/sda rw console=ttyO2,115200 console=tty $KERNEL_NETWORK_CMD mem=$QEMU_MEMORY highres=off"
+        QEMUOPTIONS="$QEMU_NETWORK_CMD -M ${MACHINE_SUBTYPE} -cpu cortex-a8 -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 nfsroot=$NFS_SERVER:$NFS_DIR,$UNFS_OPTS rw $KERNEL_NETWORK_CMD mem=$QEMU_MEMORY"
+        QEMUOPTIONS="$QEMU_NETWORK_CMD -M ${MACHINE_SUBTYPE} --no-reboot $QEMU_UI_OPTIONS"
+    fi
+fi
+
+if [ "$MACHINE" = "qemuarma9" ]; then
+    QEMU=qemu-system-arm
+    MACHINE_SUBTYPE=vexpress-a9
+    export QEMU_AUDIO_DRV="none"
+    QEMU_UI_OPTIONS="-show-cursor -usb"
+    # QEMU_UI_OPTIONS="$QEMU_UI_OPTIONS -force-pointer"
+    if [ "${FSTYPE:0:3}" = "ext" -o "${FSTYPE:0:4}" = "cpio" ]; then
+        KERNCMDLINE="earlyprintk root=/dev/ram0 rw console=ttyAMA0,38400n8 rootwait vmalloc=256MB devtmpfs.mount=0 console=tty mem=$QEMU_MEMORY highres=off"
+        QEMUOPTIONS="-M ${MACHINE_SUBTYPE} -cpu cortex-a9 -m 1024 -initrd $ROOTFS"
+        #QEMUOPTIONS="$QEMU_NETWORK_CMD -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 nfsroot=$NFS_SERVER:$NFS_DIR,$UNFS_OPTS rw $KERNEL_NETWORK_CMD mem=$QEMU_MEMORY"
+        QEMUOPTIONS="$QEMU_NETWORK_CMD -M ${MACHINE_SUBTYPE} --no-reboot $QEMU_UI_OPTIONS"
     fi
 fi
 
@@ -522,7 +572,7 @@ fi
 
 if [ "x$RAMFS" = "xtrue" ]; then
     QEMUOPTIONS="-initrd $ROOTFS -nographic"
-    KERNCMDLINE="root=/dev/ram0 debugshell"
+    KERNCMDLINE="earlyprintk root=/dev/ram debugshell"
 fi
 
 if [ "x$ISOFS" = "xtrue" ]; then
-- 
1.7.10.4



^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [oe-core 4/5] linux-yocto: Add support for qemuarmv7 and qemuarma9.
       [not found]   ` <521F963F.3070801@windriver.com>
@ 2013-08-29 18:48     ` Elvis Dowson
  0 siblings, 0 replies; 6+ messages in thread
From: Elvis Dowson @ 2013-08-29 18:48 UTC (permalink / raw)
  To: Bruce Ashfield; +Cc: openembedded-devel

Hi Bruce,

On Aug 29, 2013, at 10:43 PM, Bruce Ashfield <bruce.ashfield@windriver.com> wrote:

> On 13-08-29 02:35 PM, Elvis Dowson wrote:
>> This commit
>> - adds qemuarmv7 and qemuarma9 to the list of compatible machines.
>> 
>> Signed-off-by: Elvis Dowson <elvis.dowson@gmail.com>
>> ---
>>  meta/recipes-kernel/linux/linux-yocto_3.8.bb |    2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>> 
>> diff --git a/meta/recipes-kernel/linux/linux-yocto_3.8.bb b/meta/recipes-kernel/linux/linux-yocto_3.8.bb
>> index 790e3e3..0bd9913 100644
>> --- a/meta/recipes-kernel/linux/linux-yocto_3.8.bb
>> +++ b/meta/recipes-kernel/linux/linux-yocto_3.8.bb
>> @@ -21,7 +21,7 @@ PV = "${LINUX_VERSION}+git${SRCPV}"
>> 
>>  KMETA = "meta"
>> 
>> -COMPATIBLE_MACHINE = "qemuarm|qemux86|qemuppc|qemumips|qemumips64|qemux86-64"
>> +COMPATIBLE_MACHINE = "qemuarm|qemuarmv7|qemuarma9|qemux86|qemuppc|qemumips|qemumips64|qemux86-64"
> 
> We can add compatibility, but the same question needs to be asked
> to Richard when we added qemumips64: does the project have the capacity
> to build and QA the machines by default.
> 
> We can always get everything working in layers for the time being and
> then move them into the core, once everything is working well, and
> everyone agrees to add the extra support load.

I recommend that we create a new meta-qemu layer, to support development of
qemu machine configurations for
qemuarmv7 (useful for emulating TI OMAP 3 based platforms)
qemuarma9 (useful for emulating TI OMAP 4 and Freescale i.MX6 platforms)
qemuarmv8 (for AArch64 platforms)
qemumips64 
etc

That should just about cover current ARM A8, A9, A15 and MIPS64.

Best regards,

Elvis Dowson



^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2013-08-29 18:49 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-08-29 18:35 [oe-core 1/5] qemu: Add cpio to the list of image filesystem types Elvis Dowson
2013-08-29 18:35 ` [oe-core 2/5] qemu: Add support for qemuarma9 Elvis Dowson
2013-08-29 18:35 ` [oe-core 3/5] qemu: Add support for qemuarmv7 Elvis Dowson
2013-08-29 18:35 ` [oe-core 4/5] linux-yocto: Add support for qemuarmv7 and qemuarma9 Elvis Dowson
     [not found]   ` <521F963F.3070801@windriver.com>
2013-08-29 18:48     ` Elvis Dowson
2013-08-29 18:35 ` [oe-core 5/5] qemu: runqemu: Add support for launching qemuarmv7 and qemuarma9 machine configurations Elvis Dowson

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.