1 | ## Process this file with autoconf to produce a configure script. |
---|
2 | |
---|
3 | AC_PREREQ([2.69]) |
---|
4 | AC_INIT([rtems-c-src-lib-libbsp-i386-pc386],[_RTEMS_VERSION],[https://devel.rtems.org/newticket]) |
---|
5 | AC_CONFIG_SRCDIR([make/custom/pc386.cfg]) |
---|
6 | RTEMS_TOP(../../../../../..) |
---|
7 | RTEMS_SOURCE_TOP |
---|
8 | RTEMS_BUILD_TOP |
---|
9 | RTEMS_BSP_LINKCMDS |
---|
10 | |
---|
11 | RTEMS_CANONICAL_TARGET_CPU |
---|
12 | AM_INIT_AUTOMAKE([no-define nostdinc foreign 1.12.2]) |
---|
13 | RTEMS_BSP_CONFIGURE |
---|
14 | |
---|
15 | RTEMS_PROG_CC_FOR_TARGET |
---|
16 | RTEMS_CANONICALIZE_TOOLS |
---|
17 | RTEMS_CHECK_TOOL(OBJCOPY,objcopy,:) |
---|
18 | RTEMS_PROG_CCAS |
---|
19 | |
---|
20 | RTEMS_CHECK_NETWORKING |
---|
21 | RTEMS_CHECK_SMP |
---|
22 | |
---|
23 | RTEMS_BSPOPTS_SET([BSP_ENABLE_VGA],[*],[1]) |
---|
24 | RTEMS_BSPOPTS_HELP([BSP_ENABLE_VGA], |
---|
25 | [Set if the VGA and keyboard console support is enabled.]) |
---|
26 | AM_CONDITIONAL(RTEMS_VGA,[test "$BSP_ENABLE_VGA" = "1"]) |
---|
27 | |
---|
28 | RTEMS_BSPOPTS_SET([BSP_ENABLE_COM1_COM4],[*],[1]) |
---|
29 | RTEMS_BSPOPTS_HELP([BSP_ENABLE_COM1_COM4], |
---|
30 | [Set if COM1..COM4 support is enabled.]) |
---|
31 | |
---|
32 | RTEMS_BSPOPTS_SET([BSP_ENABLE_IDE],[*],[1]) |
---|
33 | RTEMS_BSPOPTS_HELP([BSP_ENABLE_IDE], |
---|
34 | [Set if IDE support is enabled.]) |
---|
35 | AM_CONDITIONAL(HAS_IDE,[test "$BSP_ENABLE_IDE" = "1"]) |
---|
36 | |
---|
37 | RTEMS_BSPOPTS_SET([USE_COM1_AS_CONSOLE],[*],[0]) |
---|
38 | RTEMS_BSPOPTS_HELP([USE_COM1_AS_CONSOLE], |
---|
39 | [Determines, whether the console will be associated with the standard |
---|
40 | VGA display or with the COM1 serial port. Currently only the VGA |
---|
41 | display and COM1 support printk.]) |
---|
42 | |
---|
43 | RTEMS_BSPOPTS_SET([IDE_USE_PRIMARY_INTERFACE],[*],[1]) |
---|
44 | RTEMS_BSPOPTS_HELP([IDE_USE_PRIMARY_INTERFACE], |
---|
45 | [Determines, whether RTEMS will try to use the primary IDE interface. |
---|
46 | Disable it, if: |
---|
47 | - you have no primary IDE interface |
---|
48 | - or you have no disk attached to this interface |
---|
49 | - or you do not want to access disks attached to this interface]) |
---|
50 | |
---|
51 | RTEMS_BSPOPTS_SET([IDE_USE_SECONDARY_INTERFACE],[*],[0]) |
---|
52 | RTEMS_BSPOPTS_HELP([IDE_USE_SECONDARY_INTERFACE], |
---|
53 | [Determines, whether RTEMS will try to use the secondary IDE interface. |
---|
54 | Enable it, if: |
---|
55 | - you have a secondary IDE interface |
---|
56 | - and you have at least one disk attached to this interface |
---|
57 | - and you do want to access disks attached to this interface]) |
---|
58 | |
---|
59 | RTEMS_BSPOPTS_SET([BSP_VIDEO_80x50],[*],[0]) |
---|
60 | RTEMS_BSPOPTS_HELP([BSP_VIDEO_80x50], |
---|
61 | [If defined, set the VGA display to 80x50.]) |
---|
62 | |
---|
63 | RTEMS_BSPOPTS_SET([CLOCK_DRIVER_USE_TSC],[*],[0]) |
---|
64 | RTEMS_BSPOPTS_HELP([CLOCK_DRIVER_USE_TSC], |
---|
65 | [If enabled, the clock driver will use the TSC register available |
---|
66 | with Pentium-class CPUs to report close to nanosecond-accuracy |
---|
67 | clock times. |
---|
68 | Enable it, if: |
---|
69 | - you have nanosecond timing enabled (you do NOT have |
---|
70 | USE_TICKS_FOR_CPU_USAGE_STATISTICS enabled) |
---|
71 | - you do NOT have CLOCK_DRIVER_USE_8254 enabled (use one, the other, |
---|
72 | or neither) |
---|
73 | - you have a Pentium which supports TSC (all Intels, and probably |
---|
74 | all or most clones) |
---|
75 | - you do not have a variable-speed CPU clock. Note that some |
---|
76 | motherboard BIOS will automatically vary clock speed for thermal |
---|
77 | control. Note also, however, that really new Pentium-class chips |
---|
78 | from Intel and AMD will maintain a constant-rate TSC regardless. |
---|
79 | ]) |
---|
80 | |
---|
81 | #define CLOCK_DRIVER_USE_8254 $CLOCK_DRIVER_USE_8254 |
---|
82 | RTEMS_BSPOPTS_SET([CLOCK_DRIVER_USE_8254],[*],[0]) |
---|
83 | RTEMS_BSPOPTS_HELP([CLOCK_DRIVER_USE_8254], |
---|
84 | [If enabled, the clock driver will use the good old 8254 chip |
---|
85 | to report microsecond-accuracy clock times. |
---|
86 | Enable it, if: |
---|
87 | - you have nanosecond timing enabled (you do NOT have |
---|
88 | USE_TICKS_FOR_CPU_USAGE_STATISTICS enabled) |
---|
89 | - you do NOT have CLOCK_DRIVER_USE_TSC enabled (use one, the other, |
---|
90 | or neither) |
---|
91 | - you do not mind adding roughly 5 microseconds to each context switch. |
---|
92 | ]) |
---|
93 | |
---|
94 | if test "${USE_CIRRUS_GD5446}" != "1" -a "${USE_VGA}" != "1"; then |
---|
95 | USE_VBE_RM=1; |
---|
96 | if test -z "${NUM_APP_DRV_GDT_DESCRIPTORS}"; then |
---|
97 | NUM_APP_DRV_GDT_DESCRIPTORS=2 ; |
---|
98 | else |
---|
99 | NUM_APP_DRV_GDT_DESCRIPTORS+=2 ; |
---|
100 | fi |
---|
101 | fi |
---|
102 | RTEMS_BSPOPTS_SET([NUM_APP_DRV_GDT_DESCRIPTORS],[*],[0]) |
---|
103 | RTEMS_BSPOPTS_HELP([NUM_APP_DRV_GDT_DESCRIPTORS], |
---|
104 | [Defines how many descriptors in GDT may be allocated for application or |
---|
105 | driver usage.]) |
---|
106 | |
---|
107 | RTEMS_BSPOPTS_SET([USE_CIRRUS_GD5446],[*],[0]) |
---|
108 | RTEMS_BSPOPTS_HELP([USE_CIRRUS_GD5446], |
---|
109 | [If defined, enables use of the Cirrus GD5446 controller rather than the |
---|
110 | controller utilizing Vesa Bios Extensions - real mode interface. |
---|
111 | |
---|
112 | NOTE: This has only been tested on Qemu.]) |
---|
113 | AM_CONDITIONAL(USE_CIRRUS_GD5446,test "$USE_CIRRUS_GD5446" = "1") |
---|
114 | |
---|
115 | RTEMS_BSPOPTS_SET([USE_VGA],[*],[0]) |
---|
116 | RTEMS_BSPOPTS_HELP([USE_VGA], |
---|
117 | [If defined, enables use of the very basic VGA driver for framebuffer support |
---|
118 | rather than the controller utilizing Vesa Bios Extensions - real mode |
---|
119 | interface.]) |
---|
120 | AM_CONDITIONAL(USE_VGA,test "$USE_VGA" = "1") |
---|
121 | |
---|
122 | RTEMS_BSPOPTS_SET([USE_VBE_RM],[*],[0]) |
---|
123 | RTEMS_BSPOPTS_HELP([USE_VBE_RM], |
---|
124 | [Defined by default. Enables use of the Vesa Bios Extensions - real mode |
---|
125 | interface, which enables graphical mode and introduce it upon bootup.]) |
---|
126 | AM_CONDITIONAL(USE_VBE_RM,test "$USE_VBE_RM" = "1") |
---|
127 | |
---|
128 | if test X${CLOCK_DRIVER_USE_TSC} = X1 -a X${CLOCK_DRIVER_USE_8254} = X1 ; then |
---|
129 | AC_MSG_ERROR([pc386 both TSC and 8254 specified for clock driver]) |
---|
130 | fi |
---|
131 | |
---|
132 | ## The PC386 BSP supports SMP configurations if this is enabled. |
---|
133 | RTEMS_BSPOPTS_SET([BSP_HAS_SMP],[*],[1]) |
---|
134 | RTEMS_BSPOPTS_HELP([BSP_HAS_SMP], |
---|
135 | [Always defined when on a pc386 to enable the pc386 support for |
---|
136 | determining the CPU core number in an SMP configuration.]) |
---|
137 | |
---|
138 | RTEMS_BSPOPTS_SET([BSP_GDB_STUB],[*],[1]) |
---|
139 | RTEMS_BSPOPTS_HELP([BSP_GDB_STUB], |
---|
140 | [Defined by default. Enables use of the GDB stub for debugging via a |
---|
141 | serial port.]) |
---|
142 | AM_CONDITIONAL(BSP_GDB_STUB, test "$BSP_GDB_STUB" = "1") |
---|
143 | |
---|
144 | ## if this is an i386, does gas have good code16 support? |
---|
145 | RTEMS_I386_GAS_CODE16 |
---|
146 | AM_CONDITIONAL(RTEMS_GAS_CODE16,[test "$RTEMS_GAS_CODE16" = "yes"]) |
---|
147 | |
---|
148 | AM_CONDITIONAL(HAS_NETWORKING,[test "$HAS_NETWORKING" = "yes"]) |
---|
149 | AM_CONDITIONAL(HAS_SMP,[test "$rtems_cv_HAS_SMP" = "yes"]) |
---|
150 | |
---|
151 | AC_SUBST([RTEMS_ROOT],[${rtems_updir}'$(top_builddir)']) |
---|
152 | |
---|
153 | RTEMS_CONFIG_BUILD_SUBDIRS(tools) |
---|
154 | |
---|
155 | AC_SUBST(RTEMS_BSP) |
---|
156 | |
---|
157 | RTEMS_BSP_CLEANUP_OPTIONS |
---|
158 | |
---|
159 | # Explicitly list all Makefiles here |
---|
160 | AC_CONFIG_FILES([Makefile]) |
---|
161 | AC_OUTPUT |
---|