Question about aarch64 target
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?
Signature · 2 lines
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
--- 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
meta/conf/machine/genericarmv8.conf new file +37 -0
@@ -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"
meta/conf/machine/genericarmv8b.conf new file +8 -0
@@ -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
meta/conf/machine/include/arm/arch-armv8.inc new file +20 -0
@@ -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}"
meta/conf/machine/qemuarm64.conf new file +39 -0
@@ -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"
Signature · 1 line
1.9.1
Quoted 9 lines · Kang Kai
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
I've said this *many* times, but no one has ever responded. We need the kernel support to match the linux-yocto* home for the other core/emulated BSPs .. that way I can help support, test and bring everything forward.
We have a 3.14 and 3.16+ version of the recipe available, and I've looked into this
in the past ... the delta needed in those kernel versions is not significant.
Bruce
Quoted 18 lines
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--
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core
Signature · 2 lines
"Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end"
Quoted 11 lines · Kang Kai
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
Quoted 4 lines
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
Quoted 160 lines
Signature · 21 lines
-- 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.confmeta/conf/machine/genericarmv8.conf new file +37
-0@@ -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"meta/conf/machine/genericarmv8b.conf new file +8
-0@@ -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.confmeta/conf/machine/include/arm/arch-armv8.inc new file +20
-0@@ -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}"meta/conf/machine/qemuarm64.conf new file +39
-0@@ -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"Signature · 8 lines
1.9.1 -- _______________________________________________ Openembedded-core mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-core
Quoted 15 lines · Khem Raj
Quoted 11 lines · Kang Kai
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
Quoted 6 lines
Quoted 4 lines
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
Quoted 160 lines
Quoted 158 lines
Signature · 20 lines
-- 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.confmeta/conf/machine/genericarmv8.conf new file +37
-0@@ -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"meta/conf/machine/genericarmv8b.conf new file +8
-0@@ -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.confmeta/conf/machine/include/arm/arch-armv8.inc new file +20
-0@@ -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}"meta/conf/machine/qemuarm64.conf new file +39
-0@@ -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"Signature · 7 lines
1.9.1 -- _______________________________________________ Openembedded-core mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-core
Signature · 2 lines
Regards, Neil | Kai Kang
Quoted 20 lines · Kang Kai
Quoted 19 lines · Khem Raj
Quoted 11 lines · Kang Kai
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
Quoted 4 lines
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?
Quoted 6 lines
Quoted 2 lines
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.
Thats a valid point, I would give in.