[OE-core] Question about aarch64 target

Kang Kai Kai.Kang at windriver.com
Thu Aug 28 08:03:51 UTC 2014


On 2014年08月28日 15:33, Khem Raj wrote:
> On 14-08-27 18:53:41, Kang Kai wrote:
>> 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?
>>
> may be eventually support linux-yocto, and linux-linaro both, it should
> be tested at same level as other QEMU BSPs
>
>> 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?
> Name them same as meta-linaro please, so eventually linaro layer can
> drop it and take up the maintenance of them in OE-Core

Keep same name with linaro is convenient for merge work. But the name 
'genericarmv8'  is not coordinated with existing qemu bsps. I prefer to 
use qemuarmv8 for coordination.

Regards,
Kai

>
>> -- 
>> Regards,
>> Neil | Kai Kang
>>
>>  From e20a3e1252d895c2098fc99d7a0b8ff42ec2c439 Mon Sep 17 00:00:00 2001
>> From: Kai Kang <kai.kang at windriver.com>
>> Date: Fri, 22 Aug 2014 10:46:10 +0800
>> Subject: [PATCH] add qemu aarch64
>>
>> Signed-off-by: Kai Kang <kai.kang at windriver.com>
>> ---
>>   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
>> Openembedded-core at lists.openembedded.org
>> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>
>


-- 
Regards,
Neil | Kai Kang




More information about the Openembedded-core mailing list