source: rtems/c/src/lib/libbsp/i386/pc386/configure.ac @ 014292a1

5
Last change on this file since 014292a1 was 014292a1, checked in by Chris Johns <chrisj@…>, on 04/08/16 at 08:39:38

i386/pc386: Add support for the gdb stub to use available console drivers.

Move the gdb stub from the i386 UART code to use the libchip drivers.

Use any ports discovered during the probes.

Add gdb control to the boot command line.

Change the device naming to the full device path, not a partial path.
For example /dev/com1.

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