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