2008-05-15 Joel Sherrill <joel.sherrill@OARcorp.com>

* Makefile.am, configure.ac: Add capability for bootcard.c BSP
	Initialization Framework to ask the BSP where it has memory for the
	RTEMS Workspace and C Program Heap. These collectively are referred
	to as work area. If the BSP supports this, then it does not have to
	include code to split the available memory between the two areas.
	This reduces the amount of code in the BSP specific bspstart.c file.
	Additionally, the shared framework can initialize the C Library, call
	rtems_debug_enable(), and dirty the work area memory. Until most/all
	BSPs support this new capability, if the BSP supports this, it should
	call RTEMS_BSP_BOOTCARD_HANDLES_RAM_ALLOCATION from its configure.ac.
	When the transition is complete, this autoconf macro can be removed.
This commit is contained in:
Joel Sherrill
2008-05-15 15:53:19 +00:00
parent 92c9baf84a
commit 5e5d0b16ed
6 changed files with 76 additions and 126 deletions

View File

@@ -1,3 +1,17 @@
2008-05-15 Joel Sherrill <joel.sherrill@OARcorp.com>
* Makefile.am, configure.ac: Add capability for bootcard.c BSP
Initialization Framework to ask the BSP where it has memory for the
RTEMS Workspace and C Program Heap. These collectively are referred
to as work area. If the BSP supports this, then it does not have to
include code to split the available memory between the two areas.
This reduces the amount of code in the BSP specific bspstart.c file.
Additionally, the shared framework can initialize the C Library, call
rtems_debug_enable(), and dirty the work area memory. Until most/all
BSPs support this new capability, if the BSP supports this, it should
call RTEMS_BSP_BOOTCARD_HANDLES_RAM_ALLOCATION from its configure.ac.
When the transition is complete, this autoconf macro can be removed.
2008-05-07 Joel Sherrill <joel.sherrill@OARcorp.com> 2008-05-07 Joel Sherrill <joel.sherrill@OARcorp.com>
* clock/ckinit.c: Add nanoseconds clock tick granularity support. * clock/ckinit.c: Add nanoseconds clock tick granularity support.

View File

@@ -29,39 +29,16 @@ project_lib_DATA = start.$(OBJEXT)
dist_project_lib_DATA += startup/linkcmds dist_project_lib_DATA += startup/linkcmds
noinst_PROGRAMS += startup.rel startup_SOURCES = ../../sparc/shared/bspclean.c ../../shared/bsplibc.c \
startup_rel_SOURCES = ../../sparc/shared/bspclean.c ../../shared/bsplibc.c \
../../shared/bsppredriverhook.c \ ../../shared/bsppredriverhook.c \
../../shared/bsppost.c ../../sparc/shared/bspstart.c \ ../../shared/bsppost.c ../../sparc/shared/bspstart.c \
../../shared/bootcard.c ../../shared/sbrk.c startup/setvec.c \ ../../shared/bootcard.c ../../shared/sbrk.c startup/setvec.c \
startup/spurious.c startup/erc32mec.c startup/boardinit.S startup/spurious.c startup/erc32mec.c startup/boardinit.S
startup_rel_CPPFLAGS = $(AM_CPPFLAGS) gnatsupp_SOURCES = gnatsupp/gnatsupp.c ../../sparc/shared/gnatcommon.c
startup_rel_LDFLAGS = $(RTEMS_RELLDFLAGS) console_SOURCES = console/console.c
debugio_SOURCES = console/debugputs.c
noinst_PROGRAMS += gnatsupp.rel clock_SOURCES = clock/ckinit.c
gnatsupp_rel_SOURCES = gnatsupp/gnatsupp.c ../../sparc/shared/gnatcommon.c timer_SOURCES = timer/timer.c
gnatsupp_rel_CPPFLAGS = $(AM_CPPFLAGS)
gnatsupp_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
noinst_PROGRAMS += console.rel
console_rel_SOURCES = console/console.c
console_rel_CPPFLAGS = $(AM_CPPFLAGS)
console_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
noinst_PROGRAMS += debugio.rel
debugio_rel_SOURCES = console/debugputs.c
debugio_rel_CPPFLAGS = $(AM_CPPFLAGS)
debugio_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
noinst_PROGRAMS += clock.rel
clock_rel_SOURCES = clock/ckinit.c
clock_rel_CPPFLAGS = $(AM_CPPFLAGS)
clock_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
noinst_PROGRAMS += timer.rel
timer_rel_SOURCES = timer/timer.c
timer_rel_CPPFLAGS = $(AM_CPPFLAGS)
timer_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
if HAS_NETWORKING if HAS_NETWORKING
erc32sonic_CPPFLAGS = -D__INSIDE_RTEMS_BSD_TCPIP_STACK__ erc32sonic_CPPFLAGS = -D__INSIDE_RTEMS_BSD_TCPIP_STACK__
@@ -72,30 +49,16 @@ erc32sonic_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
endif endif
noinst_LIBRARIES = libbsp.a noinst_LIBRARIES = libbsp.a
libbsp_a_SOURCES = libbsp_a_SOURCES = $(startup_SOURCES) $(gnatsupp_SOURCES) $(console_SOURCES) \
libbsp_a_LIBADD = console.rel clock.rel timer.rel gnatsupp.rel \ $(debugio_SOURCES) $(clock_SOURCES) $(timer_SOURCES)
debugio.rel
libbsp_a_LIBADD = ../../../libcpu/@RTEMS_CPU@/cache.rel \
../../../libcpu/@RTEMS_CPU@/reg_win.rel \
../../../libcpu/@RTEMS_CPU@/syscall.rel
if HAS_NETWORKING if HAS_NETWORKING
libbsp_a_LIBADD += erc32sonic.rel libbsp_a_LIBADD += erc32sonic.rel
endif endif
libbsp_a_LIBADD += \
startup_rel-boardinit.o \
startup_rel-bootcard.o \
startup_rel-bspclean.o \
startup_rel-bsplibc.o \
startup_rel-bsppost.o \
startup_rel-bsppredriverhook.o \
startup_rel-bspstart.o \
startup_rel-erc32mec.o \
startup_rel-sbrk.o \
startup_rel-setvec.o \
startup_rel-spurious.o
libbsp_a_LIBADD += ../../../libcpu/@RTEMS_CPU@/cache.rel \
../../../libcpu/@RTEMS_CPU@/reg_win.rel \
../../../libcpu/@RTEMS_CPU@/syscall.rel
EXTRA_DIST += times EXTRA_DIST += times
include $(srcdir)/preinstall.am include $(srcdir)/preinstall.am

View File

@@ -44,6 +44,8 @@ RTEMS_BSPOPTS_HELP([ENABLE_SIS_QUIRKS],
BSP will be enabled. In particular, SIS requires special BSP will be enabled. In particular, SIS requires special
initialization not used on real ERC32 hardware.]) initialization not used on real ERC32 hardware.])
RTEMS_BSP_BOOTCARD_HANDLES_RAM_ALLOCATION
# Explicitly list all Makefiles here # Explicitly list all Makefiles here
AC_CONFIG_FILES([Makefile]) AC_CONFIG_FILES([Makefile])
AC_OUTPUT AC_OUTPUT

View File

@@ -1,3 +1,17 @@
2008-05-15 Joel Sherrill <joel.sherrill@OARcorp.com>
* Makefile.am, configure.ac: Add capability for bootcard.c BSP
Initialization Framework to ask the BSP where it has memory for the
RTEMS Workspace and C Program Heap. These collectively are referred
to as work area. If the BSP supports this, then it does not have to
include code to split the available memory between the two areas.
This reduces the amount of code in the BSP specific bspstart.c file.
Additionally, the shared framework can initialize the C Library, call
rtems_debug_enable(), and dirty the work area memory. Until most/all
BSPs support this new capability, if the BSP supports this, it should
call RTEMS_BSP_BOOTCARD_HANDLES_RAM_ALLOCATION from its configure.ac.
When the transition is complete, this autoconf macro can be removed.
2008-05-07 Joel Sherrill <joel.sherrill@OARcorp.com> 2008-05-07 Joel Sherrill <joel.sherrill@OARcorp.com>
* clock/ckinit.c: Add nanoseconds clock tick granularity support. * clock/ckinit.c: Add nanoseconds clock tick granularity support.

View File

@@ -50,83 +50,42 @@ project_lib_DATA = start.$(OBJEXT)
dist_project_lib_DATA += startup/linkcmds dist_project_lib_DATA += startup/linkcmds
noinst_PROGRAMS += startup.rel startup_SOURCES = ../../sparc/shared/bspclean.c ../../shared/bsplibc.c \
startup_rel_SOURCES = ../../sparc/shared/bspclean.c ../../shared/bsplibc.c \
../../shared/bsppost.c ../../shared/bsppredriverhook.c \ ../../shared/bsppost.c ../../shared/bsppredriverhook.c \
../../sparc/shared/bspstart.c ../../shared/bootcard.c \ ../../sparc/shared/bspstart.c ../../shared/bootcard.c \
../../shared/sbrk.c startup/setvec.c startup/spurious.c ../../shared/sbrk.c startup/setvec.c startup/spurious.c
startup_rel_CPPFLAGS = $(AM_CPPFLAGS) gnatsupp_SOURCES = gnatsupp/gnatsupp.c ../../sparc/shared/gnatcommon.c
startup_rel_LDFLAGS = $(RTEMS_RELLDFLAGS) console_SOURCES = console/console.c console/debugputs.c
clock_SOURCES = clock/ckinit.c
noinst_PROGRAMS += gnatsupp.rel
gnatsupp_rel_SOURCES = gnatsupp/gnatsupp.c ../../sparc/shared/gnatcommon.c
gnatsupp_rel_CPPFLAGS = $(AM_CPPFLAGS)
gnatsupp_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
noinst_PROGRAMS += console.rel
console_rel_SOURCES = console/console.c console/debugputs.c
console_rel_CPPFLAGS = $(AM_CPPFLAGS)
console_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
noinst_PROGRAMS += clock.rel
clock_rel_SOURCES = clock/ckinit.c
clock_rel_CPPFLAGS = $(AM_CPPFLAGS)
clock_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
# AMBA PnP Scanning # AMBA PnP Scanning
noinst_PROGRAMS += amba.rel amba_SOURCES = ../../sparc/shared/amba/ambapp.c
amba_rel_SOURCES = ../../sparc/shared/amba/ambapp.c
amba_rel_CPPFLAGS = $(AM_CPPFLAGS)
amba_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
# PCI # PCI
noinst_PROGRAMS += pci.rel pci_SOURCES = pci/pci.c ../../sparc/shared/pci/pcifinddevice.c
pci_rel_SOURCES = pci/pci.c ../../sparc/shared/pci/pcifinddevice.c
pci_rel_CPPFLAGS = $(AM_CPPFLAGS)
pci_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
# RASTA Kit # RASTA Kit
noinst_PROGRAMS += rasta.rel rasta_SOURCES = rasta/rasta.c
rasta_rel_SOURCES = rasta/rasta.c
rasta_rel_CPPFLAGS = $(AM_CPPFLAGS)
rasta_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
# Companion Chip Kit # Companion Chip Kit
noinst_PROGRAMS += cchip.rel cchip_SOURCES = cchip/cchip.c
cchip_rel_SOURCES = cchip/cchip.c
cchip_rel_CPPFLAGS = $(AM_CPPFLAGS)
cchip_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
# B1553BRM # B1553BRM
noinst_PROGRAMS += brm.rel brm_SOURCES = ../../sparc/shared/1553/b1553brm.c \
brm_rel_SOURCES = ../../sparc/shared/1553/b1553brm.c ../../sparc/shared/1553/b1553brm_pci.c ../../sparc/shared/1553/b1553brm_rasta.c ../../sparc/shared/1553/b1553brm_pci.c \
brm_rel_CPPFLAGS = $(AM_CPPFLAGS) ../../sparc/shared/1553/b1553brm_rasta.c
brm_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
# CAN # CAN
noinst_PROGRAMS += can.rel can_SOURCES = ../../sparc/shared/can/occan.c \
can_rel_SOURCES = ../../sparc/shared/can/occan.c ../../sparc/shared/can/occan_pci.c ../../sparc/shared/can/grcan.c ../../sparc/shared/can/grcan_rasta.c ../../sparc/shared/can/occan_pci.c \
can_rel_CPPFLAGS = $(AM_CPPFLAGS) ../../sparc/shared/can/grcan.c \
can_rel_LDFLAGS = $(RTEMS_RELLDFLAGS) ../../sparc/shared/can/grcan_rasta.c
# SpaceWire # SpaceWire
noinst_PROGRAMS += spw.rel spw_SOURCES = ../../sparc/shared/spw/grspw.c \
spw_rel_SOURCES = ../../sparc/shared/spw/grspw.c ../../sparc/shared/spw/grspw_pci.c ../../sparc/shared/spw/grspw_rasta.c ../../sparc/shared/spw/grspw_pci.c ../../sparc/shared/spw/grspw_rasta.c
spw_rel_CPPFLAGS = $(AM_CPPFLAGS)
spw_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
# UART (RAW) # UART (RAW)
noinst_PROGRAMS += uart.rel uart_SOURCES = ../../sparc/shared/uart/apbuart.c \
uart_rel_SOURCES = ../../sparc/shared/uart/apbuart.c ../../sparc/shared/uart/apbuart_pci.c ../../sparc/shared/uart/apbuart_rasta.c ../../sparc/shared/uart/apbuart_pci.c \
uart_rel_CPPFLAGS = $(AM_CPPFLAGS) ../../sparc/shared/uart/apbuart_rasta.c
uart_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
# I2CMST # I2CMST
include_HEADERS += ../../sparc/shared/include/i2cmst.h include_HEADERS += ../../sparc/shared/include/i2cmst.h
noinst_PROGRAMS += i2cmst.rel i2cmst_SOURCES = ../../sparc/shared/i2c/i2cmst.c
i2cmst_rel_SOURCES = ../../sparc/shared/i2c/i2cmst.c
i2cmst_rel_CPPFLAGS = $(AM_CPPFLAGS) timer_SOURCES = timer/timer.c
i2cmst_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
if HAS_NETWORKING if HAS_NETWORKING
noinst_PROGRAMS += leon_smc91111.rel noinst_PROGRAMS += leon_smc91111.rel
@@ -136,11 +95,6 @@ leon_smc91111_rel_CPPFLAGS += -D__INSIDE_RTEMS_BSD_TCPIP_STACK__
leon_smc91111_rel_LDFLAGS = $(RTEMS_RELLDFLAGS) leon_smc91111_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
endif endif
noinst_PROGRAMS += timer.rel
timer_rel_SOURCES = timer/timer.c
timer_rel_CPPFLAGS = $(AM_CPPFLAGS)
timer_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
if HAS_NETWORKING if HAS_NETWORKING
noinst_PROGRAMS += leon_open_eth.rel noinst_PROGRAMS += leon_open_eth.rel
leon_open_eth_rel_SOURCES = leon_open_eth/leon_open_eth.c leon_open_eth_rel_SOURCES = leon_open_eth/leon_open_eth.c
@@ -150,20 +104,21 @@ leon_open_eth_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
endif endif
noinst_LIBRARIES = libbsp.a noinst_LIBRARIES = libbsp.a
libbsp_a_SOURCES = libbsp_a_SOURCES = $(startup_SOURCES) $(gnatsupp_SOURCES) $(console_SOURCES) \
libbsp_a_LIBADD = startup.rel console.rel clock.rel timer.rel gnatsupp.rel \ $(clock_SOURCES) $(amba_SOURCES) $(pci_SOURCES) $(rasta_SOURCES) \
amba.rel rasta.rel uart.rel spw.rel can.rel brm.rel pci.rel \ $(cchip_SOURCES) $(brm_SOURCES) $(can_SOURCES) $(spw_SOURCES) \
cchip.rel $(uart_SOURCES) $(i2cmst_SOURCES) $(timer_SOURCES)
libbsp_a_LIBADD = \
../../../libcpu/@RTEMS_CPU@/cache.rel \
../../../libcpu/@RTEMS_CPU@/reg_win.rel \
../../../libcpu/@RTEMS_CPU@/syscall.rel
if HAS_NETWORKING if HAS_NETWORKING
libbsp_a_LIBADD += leon_open_eth.rel libbsp_a_LIBADD += leon_open_eth.rel
libbsp_a_LIBADD += leon_smc91111.rel libbsp_a_LIBADD += leon_smc91111.rel
endif endif
libbsp_a_LIBADD += ../../../libcpu/@RTEMS_CPU@/cache.rel \
../../../libcpu/@RTEMS_CPU@/reg_win.rel \
../../../libcpu/@RTEMS_CPU@/syscall.rel
EXTRA_DIST += times EXTRA_DIST += times
include $(srcdir)/preinstall.am include $(srcdir)/preinstall.am

View File

@@ -37,6 +37,8 @@ RTEMS_BSPOPTS_HELP([SIMSPARC_FAST_IDLE],
time spent in the idle task is minimized. This significantly reduces time spent in the idle task is minimized. This significantly reduces
the wall time required to execute the RTEMS test suites.]) the wall time required to execute the RTEMS test suites.])
RTEMS_BSP_BOOTCARD_HANDLES_RAM_ALLOCATION
# Explicitly list all Makefiles here # Explicitly list all Makefiles here
AC_CONFIG_FILES([Makefile]) AC_CONFIG_FILES([Makefile])
AC_OUTPUT AC_OUTPUT