summaryrefslogtreecommitdiff
path: root/arch/x86/configfrag.ac
blob: 0857368a001b91b2e2c87bf808e88fe0668e5ec3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
m4_define([x86_ENABLE_PAE],
          [AC_DEFINE([X15_X86_PAE], [1], [use PAE page translation])])

m4_define([x86_SELECT_I386],
          [subarch=i386
           AS_IF([test x"$enable_x86_pae" = xyes], [x86_ENABLE_PAE])])

m4_define([x86_SELECT_AMD64],
          [subarch=amd64
           AS_IF([test x"$enable_x86_pae" = xyes],
                 [AC_MSG_WARN([pae option available for 32-bits builds only, ignoring])])])

m4_define([x86_SELECT],
          [arch=x86
           AC_ARG_ENABLE([x86-pae],
                         [AS_HELP_STRING([--enable-x86-pae],
                                         [enable physical address extension (32-bits only)])],
                         [],
                         [enable_x86_pae=no])

           AS_IF([test -z "$enable_64bits"],
                 [AS_CASE(["$host_cpu"],
                          [i?86], [enable_64bits=no],
                          [x86_64], [enable_64bits=yes])])

           AS_IF([test x"$enable_64bits" = xyes], [x86_SELECT_AMD64], [x86_SELECT_I386])

           # Never generate instructions that are unhandled in kernel mode
           AX_APPEND_COMPILE_FLAGS([    \
               -mno-mmx                 \
               -mno-3dnow               \
               -mno-sse                 \
               -mno-sse2                \
               -mno-avx])

           AC_DEFINE_UNQUOTED([X15_X86_SUBARCH], [$subarch], [subarch])

           AS_ECHO
           AC_MSG_NOTICE([target: $arch ($subarch)])
           AS_IF([test x"$subarch" = xi386],
                 [AC_MSG_NOTICE([x86: physical address extension: $enable_x86_pae])])])

AS_CASE(["$host_cpu"],
        [i?86|x86_64], [x86_SELECT])

AM_CONDITIONAL([X86], [test x"$arch" = xx86])
AM_CONDITIONAL([X86_64], [test x"$arch" = xx86 -a x"$enable_64bits" = xyes])