summaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
authorIoan-Adrian Ratiu <adrian.ratiu@ni.com>2016-02-02 11:01:56 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-02-04 23:39:02 +0000
commit3fa1c54a698719d51b0610e97557b10c3b8630db (patch)
tree05a66c117451fb63cb08d830cb85c83b015644ad /meta
parent0b82af2aed4fb9ebd85ffae1b539161c489259a7 (diff)
downloadpoky-3fa1c54a698719d51b0610e97557b10c3b8630db.tar.gz
Revert "kernel/kernel-arch: Explicitly mapping between i386/x86_64 and x86 for kernel ARCH"
This reverts commit 8d310b24927d0f348fb431895f0583733db2aad0. That commit completely breaks KBUILD_DEFCONFIG because it relies on $ARCH to match between the target OE arch and the kernel subdirectory containing the defconfigs. In the kernel all defconfigs for everything x86-based (including x86_64) is stored in dir arch/x86/configs/ kernel-yocto.bbclass correctly searches for all the defconfigs inside ${S}/arch/${ARCH}/configs/${KBUILD_DEFCONFIG} Commit 8d310b249 makes it search in wrong places and _only_ if you define TARGET_ARCH = "athlon" will it search x86 which is nonsensical. The commit further adds an if clause to hack the mungled kernel arches back to their original values (ugh) in do_shared_workdir which is run after do compile, but of course the build breaks before that in do_kernel_metadata because of the KBUILD_DEFCONFIG mentioned above (so that hack is useless). Please fix that corner case bug in another way which does not completely screw up the kernel arch mapping & defconfig logic. If 64bit configs are generated in the kernel for 32bit machines because the host is asked, then it it a bug in the kernel, it is of no use to hack around it in OE. (From OE-Core rev: bc02a478a5d4a5de7b3943ed809d5c22711f5b1f) Signed-off-by: Ioan-Adrian Ratiu <adrian.ratiu@ni.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-rw-r--r--meta/classes/kernel-arch.bbclass4
-rw-r--r--meta/classes/kernel.bbclass15
2 files changed, 4 insertions, 15 deletions
diff --git a/meta/classes/kernel-arch.bbclass b/meta/classes/kernel-arch.bbclass
index d8b180ec49..3ed5986a52 100644
--- a/meta/classes/kernel-arch.bbclass
+++ b/meta/classes/kernel-arch.bbclass
@@ -21,9 +21,7 @@ def map_kernel_arch(a, d):
21 21
22 valid_archs = d.getVar('valid_archs', True).split() 22 valid_archs = d.getVar('valid_archs', True).split()
23 23
24 if re.match('i.86$', a): return 'i386' 24 if re.match('(i.86|athlon|x86.64)$', a): return 'x86'
25 elif re.match('x86.64$', a): return 'x86_64'
26 elif re.match('athlon$', a): return 'x86'
27 elif re.match('armeb$', a): return 'arm' 25 elif re.match('armeb$', a): return 'arm'
28 elif re.match('aarch64$', a): return 'arm64' 26 elif re.match('aarch64$', a): return 'arm64'
29 elif re.match('aarch64_be$', a): return 'arm64' 27 elif re.match('aarch64_be$', a): return 'arm64'
diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
index f37affc6a9..c3eab50912 100644
--- a/meta/classes/kernel.bbclass
+++ b/meta/classes/kernel.bbclass
@@ -317,18 +317,9 @@ do_shared_workdir () {
317 cp -fR include/generated/* $kerneldir/include/generated/ 317 cp -fR include/generated/* $kerneldir/include/generated/
318 fi 318 fi
319 319
320 # When ARCH is set to i386 or x86_64, we need to map ARCH to the real name of src 320 if [ -d arch/${ARCH}/include/generated ]; then
321 # dir (x86) under arch/ of kenrel tree, so that we can find correct source to copy. 321 mkdir -p $kerneldir/arch/${ARCH}/include/generated/
322 322 cp -fR arch/${ARCH}/include/generated/* $kerneldir/arch/${ARCH}/include/generated/
323 if [ "${ARCH}" = "i386" ] || [ "${ARCH}" = "x86_64" ]; then
324 KERNEL_SRCARCH=x86
325 else
326 KERNEL_SRCARCH=${ARCH}
327 fi
328
329 if [ -d arch/${KERNEL_SRCARCH}/include/generated ]; then
330 mkdir -p $kerneldir/arch/${KERNEL_SRCARCH}/include/generated/
331 cp -fR arch/${KERNEL_SRCARCH}/include/generated/* $kerneldir/arch/${KERNEL_SRCARCH}/include/generated/
332 fi 323 fi
333} 324}
334 325