Patchwork [v2] configure: Don't implicitly hardcode list of KVM architectures

login
register
mail settings
Submitter Peter Maydell
Date Aug. 3, 2012, 12:51 p.m.
Message ID <1343998285-12848-1-git-send-email-peter.maydell@linaro.org>
Download mbox | patch
Permalink /patch/174988/
State New
Headers show

Comments

Peter Maydell - Aug. 3, 2012, 12:51 p.m.
The code creating the symlink from linux-headers/asm to the
architecture specific linux-headers/asm-$arch directory was
implicitly hardcoding a list of KVM supporting architectures.
Add a default case for the common "Linux architecture name and
QEMU CPU name match" case, so future architectures will only
need to add code if they've managed to get mismatched names.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
v1->v2 changes: conform to same indent rules as surrounding code

 configure |   14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)
Marcelo Tosatti - Aug. 3, 2012, 7:57 p.m.
On Fri, Aug 03, 2012 at 01:51:25PM +0100, Peter Maydell wrote:
> The code creating the symlink from linux-headers/asm to the
> architecture specific linux-headers/asm-$arch directory was
> implicitly hardcoding a list of KVM supporting architectures.
> Add a default case for the common "Linux architecture name and
> QEMU CPU name match" case, so future architectures will only
> need to add code if they've managed to get mismatched names.
> 
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
> ---
> v1->v2 changes: conform to same indent rules as surrounding code

Applied to uq/master, thanks.
Andreas Färber - Aug. 4, 2012, 3:29 p.m.
Am 03.08.2012 14:51, schrieb Peter Maydell:
> The code creating the symlink from linux-headers/asm to the
> architecture specific linux-headers/asm-$arch directory was
> implicitly hardcoding a list of KVM supporting architectures.
> Add a default case for the common "Linux architecture name and
> QEMU CPU name match" case, so future architectures will only
> need to add code if they've managed to get mismatched names.
> 
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
> ---
> v1->v2 changes: conform to same indent rules as surrounding code

Did you send the wrong patch? ;)

Andreas

> 
>  configure |   14 +++++++++++---
>  1 file changed, 11 insertions(+), 3 deletions(-)
> 
> diff --git a/configure b/configure
> index 9f071b7..eafb81f 100755
> --- a/configure
> +++ b/configure
> @@ -3485,15 +3485,23 @@ if test "$linux" = "yes" ; then
>    mkdir -p linux-headers
>    case "$cpu" in
>    i386|x86_64)
> -    symlink "$source_path/linux-headers/asm-x86" linux-headers/asm
> +    linux_arch=x86
>      ;;
>    ppcemb|ppc|ppc64)
> -    symlink "$source_path/linux-headers/asm-powerpc" linux-headers/asm
> +    linux_arch=powerpc
>      ;;
>    s390x)
> -    symlink "$source_path/linux-headers/asm-s390" linux-headers/asm
> +    linux_arch=s390
> +    ;;
> +  *)
> +    # For most CPUs the kernel architecture name and QEMU CPU name match.
> +    linux_arch="$cpu"
>      ;;
>    esac
> +    # For non-KVM architectures we will not have asm headers
> +    if [ -e "$source_path/linux-headers/asm-$linux_arch" ]; then
> +      symlink "$source_path/linux-headers/asm-$linux_arch" linux-headers/asm
> +    fi
>  fi
>  
>  for target in $target_list; do
>

Patch

diff --git a/configure b/configure
index 9f071b7..eafb81f 100755
--- a/configure
+++ b/configure
@@ -3485,15 +3485,23 @@  if test "$linux" = "yes" ; then
   mkdir -p linux-headers
   case "$cpu" in
   i386|x86_64)
-    symlink "$source_path/linux-headers/asm-x86" linux-headers/asm
+    linux_arch=x86
     ;;
   ppcemb|ppc|ppc64)
-    symlink "$source_path/linux-headers/asm-powerpc" linux-headers/asm
+    linux_arch=powerpc
     ;;
   s390x)
-    symlink "$source_path/linux-headers/asm-s390" linux-headers/asm
+    linux_arch=s390
+    ;;
+  *)
+    # For most CPUs the kernel architecture name and QEMU CPU name match.
+    linux_arch="$cpu"
     ;;
   esac
+    # For non-KVM architectures we will not have asm headers
+    if [ -e "$source_path/linux-headers/asm-$linux_arch" ]; then
+      symlink "$source_path/linux-headers/asm-$linux_arch" linux-headers/asm
+    fi
 fi
 
 for target in $target_list; do