]> git.ipfire.org Git - ipfire-3.x.git/blobdiff - kernel/scripts/configure
kernel: Update to 3.13.2.
[ipfire-3.x.git] / kernel / scripts / configure
index c691ce03436e4deb4818b55fe631e47a174f21ac..01d6262646e0f3468e28d7b5d82a6578b607a648 100755 (executable)
@@ -14,7 +14,7 @@ CONFIGS="x86_64:default"
 CONFIGS="${CONFIGS} i686:legacy i686:default"
 
 # armv7hl
-CONFIGS="${CONFIGS} armv7hl:default"
+CONFIGS="${CONFIGS} armv7hl:lpae armv7hl:default"
 
 # armv5tel
 CONFIGS="${CONFIGS} armv5tel:versatile armv5tel:kirkwood"
@@ -74,7 +74,12 @@ function merge_config() {
                        configs="${configs} config-arm-generic config-armv5tel-kirkwood"
                        ;;
                armv7hl:default)
-                       configs="${configs} config-arm-generic config-armv7hl-default"
+                       configs="${configs} config-arm-generic config-armv7hl-generic"
+                       configs="${configs} config-armv7hl-default"
+                       ;;
+               armv7hl:lpae)
+                       configs="${configs} config-arm-generic config-armv7hl-generic"
+                       configs="${configs} config-armv7hl-lpae"
                        ;;
                *)
                        echo >&2 "ERROR: Invalid parameters given: $@"
@@ -175,6 +180,7 @@ function diff_configs() {
        local extra_configs="$@"
 
        declare -A arch_configs
+       declare -A subarch_configs
 
        tmpdir=$(mktemp -d)
 
@@ -191,11 +197,6 @@ function diff_configs() {
                        i686:legacy)
                                continue
                                ;;
-                       armv5tel:versatile)
-                               ;;
-                       arm*)
-                               continue
-                               ;;
                esac
 
                case "${arch}" in
@@ -209,6 +210,8 @@ function diff_configs() {
                                echo >&2 "ERROR: Invalid architecture: ${arch}"
                                ;;
                esac
+
+               subarch_configs[${arch}]="${subarch_configs[${arch}]} ${filename}"
        done
 
        common_configs=""
@@ -222,11 +225,18 @@ function diff_configs() {
 
        ${SCRIPTS_DIR}/configcommon.py ${common_configs} > ${tmpdir}/config-generic
 
-       ${SCRIPTS_DIR}/configdiff.py ${tmpdir}/config-generic ${tmpdir}/config-arm-common \
-               > ${tmpdir}/config-arm-generic
+       for arch in x86 arm; do
+               ${SCRIPTS_DIR}/configdiff.py ${tmpdir}/config-generic \
+                       ${tmpdir}/config-${arch}-common > ${tmpdir}/config-${arch}-generic
+       done
+
+       for arch in armv7hl; do
+               ${SCRIPTS_DIR}/configcommon.py ${subarch_configs[${arch}]} \
+                       > ${tmpdir}/config-${arch}-common
 
-       ${SCRIPTS_DIR}/configdiff.py ${tmpdir}/config-generic ${tmpdir}/config-x86-common \
-               > ${tmpdir}/config-x86-generic
+               ${SCRIPTS_DIR}/configdiff.py ${tmpdir}/config-arm-common \
+                       ${tmpdir}/config-${arch}-common > ${tmpdir}/config-${arch}-generic
+       done
 
        for config in ${CONFIGS}; do
                arch=${config%:*}
@@ -248,6 +258,11 @@ function diff_configs() {
                                ${SCRIPTS_DIR}/configdiff.py ${tmpdir}/config-i686-default \
                                        ${filename} > ${filename}.tmp
                                ;;
+                       armv7hl:*)
+                               # armv7hl depends on a config-armv7hl
+                               ${SCRIPTS_DIR}/configdiff.py ${tmpdir}/config-${arch}-common \
+                                       ${filename} > ${filename}.tmp
+                               ;;
                        armv5tel:versatile)
                                rm -f ${filename}
                                continue