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

5
Last change on this file since 93fb8797 was 93fb8797, checked in by Chris Johns <chrisj@…>, on 05/06/16 at 07:55:29

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
RevLine 
[df49c60]1##
2##
[5fa14794]3
[fe8bc62f]4ACLOCAL_AMFLAGS = -I ../../../../aclocal
[5fa14794]5
[b3c7b2d8]6# FIXME: We must not include *.cfg
7include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
[14023b45]8
[fc364fe]9CLEANFILES =
10
[b3c7b2d8]11include $(top_srcdir)/../../../../automake/compile.am
12
[a1bc0a15]13include_bspdir = $(includedir)/bsp
14
[d7fb9f8]15dist_project_lib_DATA = bsp_specs
16
17include_HEADERS = include/bsp.h
[3defec6]18include_HEADERS += include/tm27.h
[4cbf22a]19
[d7fb9f8]20nodist_include_HEADERS = include/bspopts.h
[a1bc0a15]21nodist_include_bsp_HEADERS = ../../shared/include/bootcard.h
[4cbf22a]22DISTCLEANFILES = include/bspopts.h
[d7fb9f8]23
[4cbf22a]24noinst_PROGRAMS =
[5fa14794]25
[14023b45]26SUBDIRS = . tools
[d1b210cd]27
[364866d]28nodist_include_bsp_HEADERS += include/bspimpl.h
[8d0913b8]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
[586c86c7]32include_bsp_HEADERS += ../../i386/shared/realmode_int/realmode_int.h
[8d0913b8]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
[ec494ff]37include_bsp_HEADERS += include/tblsizes.h
[8d62d94a]38
[8a7ed82]39if HAS_SMP
40include_bsp_HEADERS += ../../i386/shared/irq/apic.h
41include_bsp_HEADERS += ../../i386/shared/smp/smp-imps.h
42endif
43
[d1b210cd]44include_HEADERS += include/crt.h
[14023b45]45nodist_include_HEADERS += ../../shared/include/coverhd.h
[d1b210cd]46
[c5a7f1a9]47noinst_LIBRARIES = libbspstart.a
48libbspstart_a_SOURCES = start/start.S
[4cbf22a]49project_lib_DATA = start.$(OBJEXT)
[b3c7b2d8]50
[c5a7f1a9]51EXTRA_DIST = start/start16.S
[14023b45]52start16.$(OBJEXT): start/start16.S
[d7fb9f8]53        $(CPPASCOMPILE) $(AM_CPPFLAGS) -DHEADERADDR=$(HEADERADDR) -o $@ -c $<
[b3c7b2d8]54
[4cbf22a]55start16-elf32.$(OBJEXT): start16.$(OBJEXT)
[b3c7b2d8]56        $(LD) -N -T $(top_srcdir)/startup/linkcmds -Ttext $(START16ADDR) -e start16 -nostdlib \
57          --oformat=elf32-i386 \
58        -o $@ $<
59
[4cbf22a]60start16.bin: start16-elf32.$(OBJEXT)
[b3c7b2d8]61        $(OBJCOPY) -O binary $< $@
[4cbf22a]62CLEANFILES += start16.bin
[b3c7b2d8]63
[4cbf22a]64project_lib_DATA += start16.bin
[b3c7b2d8]65
[14023b45]66dist_project_lib_DATA += startup/linkcmds
[d1b210cd]67
[92b338c0]68noinst_LIBRARIES += libbsp.a
[64eb0c7]69libbsp_a_SOURCES =
[e94666d]70
[64eb0c7]71# clock
[7cdabc49]72if RTEMS_EDISON
73libbsp_a_SOURCES += ../../shared/clock_driver_simidle.c
74else
[8d0913b8]75libbsp_a_SOURCES += clock/ckinit.c
[7cdabc49]76endif
77libbsp_a_SOURCES += ../../shared/clockdrv_shell.h
[8d0913b8]78libbsp_a_SOURCES += clock/todcfg.c
79libbsp_a_SOURCES += ../../shared/tod.c
[d1b210cd]80
[14023b45]81include_rtemsdir = $(includedir)/rtems
[607c854]82include_rtems_HEADERS  =
83
84if RTEMS_VGA
85include_rtems_HEADERS += console/keyboard.h
[8d0913b8]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
[56399c3b]100include_bsp_HEADERS += console/fb_default_mode.h
[6f793108]101if USE_VGA
102libbsp_a_SOURCES += console/fb_vga.c
103endif
104if USE_CIRRUS_GD5446
105libbsp_a_SOURCES += console/fb_cirrus.c
106endif
[067da5c]107if USE_VBE_RM
[c5a74946]108include_bsp_HEADERS += include/vbe3.h
109include_HEADERS += include/edid.h
[067da5c]110include_bsp_HEADERS += include/fb_vesa.h
111libbsp_a_SOURCES += console/fb_vesa_rm.c
112endif
[607c854]113endif
114
115# console (non-graphics support)
[7cdabc49]116if RTEMS_EDISON
117libbsp_a_SOURCES += console/console_edison.c
118endif
[607c854]119include_HEADERS += ../../i386/shared/comm/i386_io.h
[7cdabc49]120include_rtems_HEADERS += ../../shared/console_private.h
[607c854]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
[356b2c23]134libbsp_a_SOURCES += console/uart_bus_pci.c
[014292a1]135libbsp_a_SOURCES += console/gdb_select.c
[14023b45]136
[64eb0c7]137# gdb
[8d0913b8]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
[74f89dc]141
[64eb0c7]142# gnat
143libbsp_a_SOURCES += ../../shared/gnatinstallhandler.c
[74f89dc]144
[64eb0c7]145# pci
[12c9dc8f]146libbsp_a_SOURCES += ../../i386/shared/pci/pcibios.c
[f770fcb]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
[74f89dc]150
[8d62d94a]151include_HEADERS += ../../i386/shared/comm/uart.h
[64eb0c7]152# startup
[8d0913b8]153libbsp_a_SOURCES += ../../shared/bsppredriverhook.c
[505dc61]154libbsp_a_SOURCES += startup/bsp_fatal_halt.c
[8d0913b8]155libbsp_a_SOURCES += startup/bspgetworkarea.c
[fd05a05]156libbsp_a_SOURCES += startup/bspidle.S
[8d0913b8]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
[93fb8797]164libbsp_a_SOURCES += ../../i386/shared/irq/elcr.c
[8d0913b8]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
[14023b45]175
[64eb0c7]176# timer
177libbsp_a_SOURCES += timer/timer.c timer/timerisr.S
[ed8206b]178
[93546b8]179if HAS_IDE
[64eb0c7]180# ide
[93546b8]181libbsp_a_SOURCES += ide/ide.c
182libbsp_a_SOURCES += ide/idecfg.c
183endif
[14023b45]184
[20546ace]185if HAS_SMP
[014292a1]186libbsp_a_SOURCES += ../../i386/shared/smp/getcpuid.c
187libbsp_a_SOURCES += ../../i386/shared/smp/smp-imps.c
[8a7ed82]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 $@
[20546ace]199endif
200
[d1b210cd]201if HAS_NETWORKING
[14023b45]202ne2000_CPPFLAGS = -D__INSIDE_RTEMS_BSD_TCPIP_STACK__
[4cbf22a]203noinst_PROGRAMS += ne2000.rel
[14023b45]204ne2000_rel_SOURCES = ne2000/ne2000.c
[9d83387b]205ne2000_rel_CPPFLAGS = $(AM_CPPFLAGS) $(ne2000_CPPFLAGS)
[14023b45]206ne2000_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
[5e368e84]207ne2000_rel_LDFLAGS += -Wl,--undefined=rtems_ne_driver_attach
[14023b45]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__
[4cbf22a]216noinst_PROGRAMS += wd8003.rel
[8d0913b8]217wd8003_rel_SOURCES = wd8003/wd8003.c
218wd8003_rel_SOURCES += include/wd80x3.h
[9d83387b]219wd8003_rel_CPPFLAGS = $(AM_CPPFLAGS) $(wd8003_CPPFLAGS)
[14023b45]220wd8003_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
[5e368e84]221wd8003_rel_LDFLAGS += -Wl,--undefined=rtems_wd_driver_attach
[d1b210cd]222endif
223
[14023b45]224if HAS_NETWORKING
2253c509_CPPFLAGS = -D__INSIDE_RTEMS_BSD_TCPIP_STACK__
[4cbf22a]226noinst_PROGRAMS += 3c509.rel
[8d0913b8]2273c509_rel_SOURCES = 3c509/3c509.c
2283c509_rel_SOURCES += 3c509/3c509.h
2293c509_rel_SOURCES += 3c509/elink.c
2303c509_rel_SOURCES += 3c509/elink.h
[844609f9]2313c509_rel_CPPFLAGS = $(AM_CPPFLAGS) $(3c509_CPPFLAGS)
[14023b45]2323c509_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
[5e368e84]2333c509_rel_LDFLAGS += -Wl,--undefined=rtems_3c509_driver_attach
2343c509_rel_LDFLAGS += -Wl,--undefined=ep_board
[14023b45]235endif
236
[8d0913b8]237libbsp_a_LIBADD = ../../../libcpu/@RTEMS_CPU@/cache.rel
238libbsp_a_LIBADD += ../../../libcpu/@RTEMS_CPU@/page.rel
239libbsp_a_LIBADD += ../../../libcpu/@RTEMS_CPU@/score.rel
[8a7ed82]240
241if HAS_SMP
242libbsp_a_LIBADD += appstart.$(OBJEXT)
243endif
244
[14023b45]245# We only build the Network library if HAS_NETWORKING was defined
246# dec21140 is supported via libchip
247if HAS_NETWORKING
[8d0913b8]248libbsp_a_LIBADD += ne2000.rel
249libbsp_a_LIBADD += wd8003.rel
250libbsp_a_LIBADD += 3c509.rel
[14023b45]251endif
[ed8206b]252
[8d0913b8]253EXTRA_DIST += HOWTO
254EXTRA_DIST += README.dec21140
255EXTRA_DIST += STATUS
256EXTRA_DIST += times_i486dx
257EXTRA_DIST += times_p5
[14023b45]258
[5c7f274]259include $(srcdir)/preinstall.am
[7842090b]260include $(top_srcdir)/../../../../automake/local.am
Note: See TracBrowser for help on using the repository browser.