source: rtems/c/src/lib/libbsp/i386/pc386/Makefile.am @ 93fb8797

Last change on this file since 93fb8797 was 93fb8797, checked in by Chris Johns <chrisj@…>, on May 6, 2016 at 7:55:29 AM

i386/pc386: Fix interrupt support.

Fix the interrupt and stop the spurious interrupt from happening.

The fix moves the EOI to C code and cleans that functionality out
of the asm part of the ISR handler.

The code checks the ISR and IRR registers on the enable.

Only ack the master for a slave IRQ if the slave has no other pending
requests.

  • Property mode set to 100644
File size: 8.0 KB
Line 
1##
2##
3
4ACLOCAL_AMFLAGS = -I ../../../../aclocal
5
6# FIXME: We must not include *.cfg
7include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
8
9CLEANFILES =
10
11include $(top_srcdir)/../../../../automake/compile.am
12
13include_bspdir = $(includedir)/bsp
14
15dist_project_lib_DATA = bsp_specs
16
17include_HEADERS = include/bsp.h
18include_HEADERS += include/tm27.h
19
20nodist_include_HEADERS = include/bspopts.h
21nodist_include_bsp_HEADERS = ../../shared/include/bootcard.h
22DISTCLEANFILES = include/bspopts.h
23
24noinst_PROGRAMS =
25
26SUBDIRS = . tools
27
28nodist_include_bsp_HEADERS += include/bspimpl.h
29include_bsp_HEADERS  = ../../i386/shared/irq/irq.h
30include_bsp_HEADERS += ../../i386/shared/irq/irq_asm.h
31include_bsp_HEADERS += ../../i386/shared/comm/tty_drv.h
32include_bsp_HEADERS += ../../i386/shared/realmode_int/realmode_int.h
33include_bsp_HEADERS += ../../shared/include/irq-generic.h
34include_bsp_HEADERS += ../../shared/include/irq-info.h
35include_bsp_HEADERS += console/rtd316.h
36include_bsp_HEADERS += console/exar17d15x.h
37include_bsp_HEADERS += include/tblsizes.h
38
39if HAS_SMP
40include_bsp_HEADERS += ../../i386/shared/irq/apic.h
41include_bsp_HEADERS += ../../i386/shared/smp/smp-imps.h
42endif
43
44include_HEADERS += include/crt.h
45nodist_include_HEADERS += ../../shared/include/coverhd.h
46
47noinst_LIBRARIES = libbspstart.a
48libbspstart_a_SOURCES = start/start.S
49project_lib_DATA = start.$(OBJEXT)
50
51EXTRA_DIST = start/start16.S
52start16.$(OBJEXT): start/start16.S
53        $(CPPASCOMPILE) $(AM_CPPFLAGS) -DHEADERADDR=$(HEADERADDR) -o $@ -c $<
54
55start16-elf32.$(OBJEXT): start16.$(OBJEXT)
56        $(LD) -N -T $(top_srcdir)/startup/linkcmds -Ttext $(START16ADDR) -e start16 -nostdlib \
57          --oformat=elf32-i386 \
58        -o $@ $<
59
60start16.bin: start16-elf32.$(OBJEXT)
61        $(OBJCOPY) -O binary $< $@
62CLEANFILES += start16.bin
63
64project_lib_DATA += start16.bin
65
66dist_project_lib_DATA += startup/linkcmds
67
68noinst_LIBRARIES += libbsp.a
69libbsp_a_SOURCES =
70
71# clock
72if RTEMS_EDISON
73libbsp_a_SOURCES += ../../shared/clock_driver_simidle.c
74else
75libbsp_a_SOURCES += clock/ckinit.c
76endif
77libbsp_a_SOURCES += ../../shared/clockdrv_shell.h
78libbsp_a_SOURCES += clock/todcfg.c
79libbsp_a_SOURCES += ../../shared/tod.c
80
81include_rtemsdir = $(includedir)/rtems
82include_rtems_HEADERS  =
83
84if RTEMS_VGA
85include_rtems_HEADERS += console/keyboard.h
86include_rtems_HEADERS += console/kd.h
87include_rtems_HEADERS += console/ps2_drv.h
88include_rtems_HEADERS += console/vgacons.h
89libbsp_a_SOURCES += console/inch.c
90libbsp_a_SOURCES += console/outch.c
91libbsp_a_SOURCES += console/defkeymap.c
92libbsp_a_SOURCES += console/keyboard.c
93libbsp_a_SOURCES += console/pc_keyb.c
94libbsp_a_SOURCES += console/ps2_mouse.c
95libbsp_a_SOURCES += console/vgainit.c
96libbsp_a_SOURCES += console/vt.c
97libbsp_a_SOURCES += console/videoAsm.S
98libbsp_a_SOURCES += console/kbd_parser.c
99libbsp_a_SOURCES += console/vgacons.c
100include_bsp_HEADERS += console/fb_default_mode.h
101if USE_VGA
102libbsp_a_SOURCES += console/fb_vga.c
103endif
104if USE_CIRRUS_GD5446
105libbsp_a_SOURCES += console/fb_cirrus.c
106endif
107if USE_VBE_RM
108include_bsp_HEADERS += include/vbe3.h
109include_HEADERS += include/edid.h
110include_bsp_HEADERS += include/fb_vesa.h
111libbsp_a_SOURCES += console/fb_vesa_rm.c
112endif
113endif
114
115# console (non-graphics support)
116if RTEMS_EDISON
117libbsp_a_SOURCES += console/console_edison.c
118endif
119include_HEADERS += ../../i386/shared/comm/i386_io.h
120include_rtems_HEADERS += ../../shared/console_private.h
121libbsp_a_SOURCES += console/serial_mouse_config.c
122libbsp_a_SOURCES += ../../i386/shared/comm/uart.c
123libbsp_a_SOURCES += ../../i386/shared/comm/tty_drv.c
124libbsp_a_SOURCES += ../../i386/shared/realmode_int/realmode_int.c
125libbsp_a_SOURCES += ../../shared/console.c
126libbsp_a_SOURCES += console/console_select.c
127libbsp_a_SOURCES += ../../shared/console_read.c
128libbsp_a_SOURCES += ../../shared/console_write.c
129libbsp_a_SOURCES += console/console_control.c
130libbsp_a_SOURCES += console/conscfg.c
131libbsp_a_SOURCES += console/printk_support.c
132libbsp_a_SOURCES += console/exar17d15x.c
133libbsp_a_SOURCES += console/rtd316.c
134libbsp_a_SOURCES += console/uart_bus_pci.c
135libbsp_a_SOURCES += console/gdb_select.c
136
137# gdb
138libbsp_a_SOURCES += ../../i386/shared/comm/i386-stub.c
139libbsp_a_SOURCES += ../../i386/shared/comm/i386-stub-glue.c
140libbsp_a_SOURCES += ../../i386/shared/comm/gdb_glue.c
141
142# gnat
143libbsp_a_SOURCES += ../../shared/gnatinstallhandler.c
144
145# pci
146libbsp_a_SOURCES += ../../i386/shared/pci/pcibios.c
147libbsp_a_SOURCES += ../../i386/shared/pci/pci_io.c
148libbsp_a_SOURCES += ../../shared/pci/pci_bus_count.c
149libbsp_a_SOURCES += ../../shared/pci/pci_find_device.c
150
151include_HEADERS += ../../i386/shared/comm/uart.h
152# startup
153libbsp_a_SOURCES += ../../shared/bsppredriverhook.c
154libbsp_a_SOURCES += startup/bsp_fatal_halt.c
155libbsp_a_SOURCES += startup/bspgetworkarea.c
156libbsp_a_SOURCES += startup/bspidle.S
157libbsp_a_SOURCES += startup/bspstart.c
158libbsp_a_SOURCES += startup/bspcmdline.c
159libbsp_a_SOURCES += ../../shared/bspclean.c
160libbsp_a_SOURCES += startup/bspreset.c
161libbsp_a_SOURCES += ../../i386/shared/irq/idt.c
162libbsp_a_SOURCES += ../../i386/shared/irq/irq.c
163libbsp_a_SOURCES += ../../i386/shared/irq/irq_init.c
164libbsp_a_SOURCES += ../../i386/shared/irq/elcr.c
165libbsp_a_SOURCES += ../../shared/bootcard.c
166libbsp_a_SOURCES += ../../shared/sbrk.c
167libbsp_a_SOURCES += startup/ldsegs.S
168libbsp_a_SOURCES += ../../i386/shared/irq/irq_asm.S
169libbsp_a_SOURCES += ../../shared/src/irq-default-handler.c
170libbsp_a_SOURCES += ../../shared/src/irq-generic.c
171libbsp_a_SOURCES += ../../shared/src/irq-legacy.c
172libbsp_a_SOURCES += ../../shared/src/irq-info.c
173libbsp_a_SOURCES += ../../shared/src/irq-shell.c
174libbsp_a_SOURCES += ../../shared/src/irq-server.c
175
176# timer
177libbsp_a_SOURCES += timer/timer.c timer/timerisr.S
178
179if HAS_IDE
180# ide
181libbsp_a_SOURCES += ide/ide.c
182libbsp_a_SOURCES += ide/idecfg.c
183endif
184
185if HAS_SMP
186libbsp_a_SOURCES += ../../i386/shared/smp/getcpuid.c
187libbsp_a_SOURCES += ../../i386/shared/smp/smp-imps.c
188
189project_lib_DATA += appstart.$(OBJEXT)
190appcpustart.$(OBJEXT): start/start16.S
191        $(CPPASCOMPILE) $(AM_CPPFLAGS) -DSMP_SECONDARY_CORE -o $@ -c $<
192
193appstart.$(OBJEXT): appcpustart.$(OBJEXT)
194        $(LD) -N -T $(top_srcdir)/startup/linkcmds \
195            -Ttext 0x70000 -e app_processor_start -nostdlib \
196            -o appstart_tmp.exe $<
197        $(OBJCOPY) -O binary appstart_tmp.exe appstart.bin
198        $(OBJCOPY) -I binary -O elf32-i386 -B i386 appstart.bin $@
199endif
200
201if HAS_NETWORKING
202ne2000_CPPFLAGS = -D__INSIDE_RTEMS_BSD_TCPIP_STACK__
203noinst_PROGRAMS += ne2000.rel
204ne2000_rel_SOURCES = ne2000/ne2000.c
205ne2000_rel_CPPFLAGS = $(AM_CPPFLAGS) $(ne2000_CPPFLAGS)
206ne2000_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
207ne2000_rel_LDFLAGS += -Wl,--undefined=rtems_ne_driver_attach
208endif
209
210if HAS_NETWORKING
211# This driver needs to be reworked for the BSD stack.
212# We only install wd80x3.h if HAS_NETWORKING was defined
213include_HEADERS += include/wd80x3.h
214
215wd8003_CPPFLAGS = -D__INSIDE_RTEMS_BSD_TCPIP_STACK__
216noinst_PROGRAMS += wd8003.rel
217wd8003_rel_SOURCES = wd8003/wd8003.c
218wd8003_rel_SOURCES += include/wd80x3.h
219wd8003_rel_CPPFLAGS = $(AM_CPPFLAGS) $(wd8003_CPPFLAGS)
220wd8003_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
221wd8003_rel_LDFLAGS += -Wl,--undefined=rtems_wd_driver_attach
222endif
223
224if HAS_NETWORKING
2253c509_CPPFLAGS = -D__INSIDE_RTEMS_BSD_TCPIP_STACK__
226noinst_PROGRAMS += 3c509.rel
2273c509_rel_SOURCES = 3c509/3c509.c
2283c509_rel_SOURCES += 3c509/3c509.h
2293c509_rel_SOURCES += 3c509/elink.c
2303c509_rel_SOURCES += 3c509/elink.h
2313c509_rel_CPPFLAGS = $(AM_CPPFLAGS) $(3c509_CPPFLAGS)
2323c509_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
2333c509_rel_LDFLAGS += -Wl,--undefined=rtems_3c509_driver_attach
2343c509_rel_LDFLAGS += -Wl,--undefined=ep_board
235endif
236
237libbsp_a_LIBADD = ../../../libcpu/@RTEMS_CPU@/cache.rel
238libbsp_a_LIBADD += ../../../libcpu/@RTEMS_CPU@/page.rel
239libbsp_a_LIBADD += ../../../libcpu/@RTEMS_CPU@/score.rel
240
241if HAS_SMP
242libbsp_a_LIBADD += appstart.$(OBJEXT)
243endif
244
245# We only build the Network library if HAS_NETWORKING was defined
246# dec21140 is supported via libchip
247if HAS_NETWORKING
248libbsp_a_LIBADD += ne2000.rel
249libbsp_a_LIBADD += wd8003.rel
250libbsp_a_LIBADD += 3c509.rel
251endif
252
253EXTRA_DIST += HOWTO
254EXTRA_DIST += README.dec21140
255EXTRA_DIST += STATUS
256EXTRA_DIST += times_i486dx
257EXTRA_DIST += times_p5
258
259include $(srcdir)/preinstall.am
260include $(top_srcdir)/../../../../automake/local.am
Note: See TracBrowser for help on using the repository browser.