Hi Saul,

I am working on Bug 6487 - Add Aarch64 qemu target. I take tune and config files from linaro then succeeds to build core-image-minimal and core-image-sato.

And I have 2 question about it now:
1 What should the new qemu aarch64 bsp looks like at the end? Do the files in the patch attached are enough? And what more test should we do except to build images such as core-image-sato, core-image-sato even build world?

2 There 2 aarch64 configure files from linaro. First one is little endian and it is as default, and the other one is big endian. I take the little endian one as qemuarm64.conf as linaro does. Do we need add the other one as qemuarm64_be.conf or something like that?

--
Regards,
Neil | Kai Kang

>From e20a3e1252d895c2098fc99d7a0b8ff42ec2c439 Mon Sep 17 00:00:00 2001
From: Kai Kang <[email protected]>
Date: Fri, 22 Aug 2014 10:46:10 +0800
Subject: [PATCH] add qemu aarch64

Signed-off-by: Kai Kang <[email protected]>
---
 meta/conf/machine/genericarmv8.conf          | 37 ++++++++++++++++++++++++++
 meta/conf/machine/genericarmv8b.conf         |  8 ++++++
 meta/conf/machine/include/arm/arch-armv8.inc | 20 ++++++++++++++
 meta/conf/machine/qemuarm64.conf             | 39 ++++++++++++++++++++++++++++
 4 files changed, 104 insertions(+)
 create mode 100644 meta/conf/machine/genericarmv8.conf
 create mode 100644 meta/conf/machine/genericarmv8b.conf
 create mode 100644 meta/conf/machine/include/arm/arch-armv8.inc
 create mode 100644 meta/conf/machine/qemuarm64.conf

diff --git a/meta/conf/machine/genericarmv8.conf b/meta/conf/machine/genericarmv8.conf
new file mode 100644
index 0000000..1d05238
--- /dev/null
+++ b/meta/conf/machine/genericarmv8.conf
@@ -0,0 +1,37 @@
+#@TYPE: Machine
+#@NAME: generic armv8 machine
+#@DESCRIPTION: generic machine to be used by linaro-media-create
+
+require conf/machine/include/arm64/arch-armv8.inc
+
+PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg"
+
+XSERVER ?= "xserver-xorg \
+            mesa-driver-swrast \
+            xf86-input-evdev \
+            xf86-input-mouse \
+            xf86-video-fbdev \
+            xf86-input-keyboard"
+
+MACHINE_FEATURES = ""
+
+# Don't include kernels in standard images
+RDEPENDS_kernel-base = ""
+
+PREFERRED_PROVIDER_virtual/kernel ?= "linux-linaro"
+
+KERNEL_IMAGETYPE = "Image"
+
+# We have to disable SERIAL_CONSOLE due to auto-serial-console
+#SERIAL_CONSOLE = "115200 ttyAMA0"
+
+# Force auto-serial-console to be used by all image types
+# Ideally this would be part of core oe or as a bbclassappend,
+# but as we don't have an easy way to append a class, defining
+# it here
+EXTRA_IMAGE_FEATURES += "autoserial"
+FEATURE_PACKAGES_autoserial = "auto-serial-console"
+
+# we do not want to have getty running on tty1 as we run
+# auto-serial-console there
+USE_VT = "0"
diff --git a/meta/conf/machine/genericarmv8b.conf b/meta/conf/machine/genericarmv8b.conf
new file mode 100644
index 0000000..e70de08
--- /dev/null
+++ b/meta/conf/machine/genericarmv8b.conf
@@ -0,0 +1,8 @@
+#@TYPE: Machine
+#@NAME: generic armv8 big endian machine
+#@DESCRIPTION: generic machine to be used by linaro-media-create
+DEFAULTTUNE = "aarch64_be"
+
+PREFERRED_PROVIDER_virtual/kernel ?= "linux-dummy"
+
+require conf/machine/genericarmv8.conf
diff --git a/meta/conf/machine/include/arm/arch-armv8.inc b/meta/conf/machine/include/arm/arch-armv8.inc
new file mode 100644
index 0000000..c86142a
--- /dev/null
+++ b/meta/conf/machine/include/arm/arch-armv8.inc
@@ -0,0 +1,20 @@
+DEFAULTTUNE ?= "aarch64"
+
+ARMPKGARCH ?= "aarch64"
+
+TUNEVALID[aarch64] = "Enable instructions for aarch64"
+TUNEVALID[bigendian] = "Enable big-endian mode."
+TUNECONFLICTS[aarch64] = ""
+MACHINEOVERRIDES .= "${@bb.utils.contains("TUNE_FEATURES", "aarch64", ":aarch64", "" ,d)}"
+
+# Little Endian base configs
+AVAILTUNES += "aarch64 aarch64_be"
+TUNE_FEATURES_tune-aarch64 ?= "aarch64"
+TUNE_FEATURES_tune-aarch64_be ?= "${TUNE_FEATURES_tune-aarch64} bigendian"
+
+ARMPKGSFX_ENDIAN = "${@bb.utils.contains("TUNE_FEATURES", "bigendian", "_be", "", d)}"
+
+TUNE_ARCH = "aarch64${ARMPKGSFX_ENDIAN}"
+TUNE_PKGARCH = "aarch64${ARMPKGSFX_ENDIAN}"
+
+PACKAGE_EXTRA_ARCHS = "aarch64${ARMPKGSFX_ENDIAN}"
diff --git a/meta/conf/machine/qemuarm64.conf b/meta/conf/machine/qemuarm64.conf
new file mode 100644
index 0000000..eca99f7
--- /dev/null
+++ b/meta/conf/machine/qemuarm64.conf
@@ -0,0 +1,39 @@
+#@TYPE: Machine
+#@NAME: generic armv8 machine
+#@DESCRIPTION: generic machine to be used by linaro-media-create
+
+require conf/machine/include/arm/arch-armv8.inc
+
+PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg"
+
+XSERVER ?= "xserver-xorg \
+            mesa-driver-swrast \
+            xf86-input-evdev \
+            xf86-input-mouse \
+            xf86-video-fbdev \
+            xf86-input-keyboard"
+
+MACHINE_FEATURES = ""
+
+# Don't include kernels in standard images
+RDEPENDS_kernel-base = ""
+
+PREFERRED_PROVIDER_virtual/kernel ?= "linux-linaro"
+
+KERNEL_IMAGETYPE = "Image"
+
+# We have to disable SERIAL_CONSOLE due to auto-serial-console
+#SERIAL_CONSOLE = "115200 ttyAMA0"
+
+# Force auto-serial-console to be used by all image types
+# Ideally this would be part of core oe or as a bbclassappend,
+# but as we don't have an easy way to append a class, defining
+# it here
+#EXTRA_IMAGE_FEATURES += "autoserial"
+#FEATURE_PACKAGES_autoserial = "auto-serial-console"
+
+# we do not want to have getty running on tty1 as we run
+# auto-serial-console there
+USE_VT = "0"
+
+baselib="lib64"
-- 
1.9.1

-- 
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to