Update drivers
[vuplus_openembedded] / classes / kernel-arch.bbclass
index e69de29..8894fa5 100644 (file)
@@ -0,0 +1,42 @@
+#
+# set the ARCH environment variable for kernel compilation (including
+# modules). return value must match one of the architecture directories
+# in the kernel source "arch" directory
+#
+
+valid_archs = "alpha cris ia64 \
+               x86_64 i386 x86 \
+               m68knommu m68k ppc powerpc ppc64  \
+              sparc sparc64 \
+               arm  arm26 \
+               m32r mips \
+              sh sh64 um h8300   \
+              parisc s390  v850 \
+              avr32 blackfin"
+
+def map_kernel_arch(a, d):
+       import re
+
+       valid_archs = bb.data.getVar('valid_archs', d, 1).split()
+
+       if   re.match('(i.86|athlon)$', a):     return 'i386'
+       elif re.match('arm26$', a):             return 'arm26'
+       elif re.match('armeb$', a):             return 'arm'
+       elif re.match('mipsel$', a):            return 'mips'
+       elif re.match('sh(3|4)$', a):           return 'sh'
+       elif re.match('bfin', a):               return 'blackfin'
+        elif a in valid_archs:                 return a
+       else:
+               bb.error("cannot map '%s' to a linux kernel architecture" % a)
+
+export ARCH = "${@map_kernel_arch(bb.data.getVar('TARGET_ARCH', d, 1), d)}"
+
+def map_uboot_arch(a, d):
+       import re
+
+       if   re.match('powerpc$', a): return 'ppc'
+       elif re.match('i.86$', a): return 'x86'
+       return a
+
+export UBOOT_ARCH = "${@map_uboot_arch(bb.data.getVar('ARCH', d, 1), d)}"
+