source: rtems/c/src/lib/libbsp/i386/pc386/configure.ac @ 93546b8

4.115
Last change on this file since 93546b8 was 93546b8, checked in by Joel Sherrill <joel.sherrill@…>, on Dec 11, 2014 at 9:16:34 PM

pc386: Add BSP_ENABLE_IDE BSP option

This allows the IDE support to be completely disabled. It is needed to
prevent hangs on some hardware. In particular, the Intel Edison where
it is not present.

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