mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2026-09-20 12:28:05 +08:00
2008-06-10 Matthew Riek <matthew.riek@ibiscomputer.com.au>
* Makefile.am: Add shared/m68kbspgetworkarea.c to sources. * configure.ac: Add RTEMS_BSP_BOOTCARD_HANDLES_RAM_ALLOCATION. * include/bsp.h: Add include bspopts.h. * start/start.S: Formatting changes. * startup/bspstart.c: Updated to use the shared BSP support.
This commit is contained in:
@@ -1,3 +1,11 @@
|
||||
2008-06-10 Matthew Riek <matthew.riek@ibiscomputer.com.au>
|
||||
|
||||
* Makefile.am: Add shared/m68kbspgetworkarea.c to sources.
|
||||
* configure.ac: Add RTEMS_BSP_BOOTCARD_HANDLES_RAM_ALLOCATION.
|
||||
* include/bsp.h: Add include bspopts.h.
|
||||
* start/start.S: Formatting changes.
|
||||
* startup/bspstart.c: Updated to use the shared BSP support.
|
||||
|
||||
2008-05-29 Chris Johns <chrisj@rtems.org>
|
||||
|
||||
* include/bsp.h: FEC unit numbers based on 0 not 1. Change the
|
||||
|
||||
@@ -29,6 +29,7 @@ dist_project_lib_DATA += startup/linkcmds startup/linkcmdsflash \
|
||||
startup_SOURCES = startup/bspclean.c ../../shared/bsppredriverhook.c \
|
||||
../../shared/bsplibc.c ../../shared/bsppost.c \
|
||||
../../m68k/shared/m68kpretaskinghook.c \
|
||||
../../m68k/shared/m68kbspgetworkarea.c \
|
||||
startup/init5235.c startup/bspstart.c \
|
||||
../../shared/bootcard.c \
|
||||
../../shared/sbrk.c ../../m68k/shared/setvec.c \
|
||||
|
||||
@@ -15,6 +15,8 @@ RTEMS_PROG_CC_FOR_TARGET
|
||||
RTEMS_CANONICALIZE_TOOLS
|
||||
RTEMS_PROG_CCAS
|
||||
|
||||
RTEMS_BSP_BOOTCARD_HANDLES_RAM_ALLOCATION
|
||||
|
||||
RTEMS_CHECK_NETWORKING
|
||||
|
||||
AM_CONDITIONAL(HAS_NETWORKING,test "$HAS_NETWORKING" = "yes")
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <bspopts.h>
|
||||
#include <rtems.h>
|
||||
#include <rtems/iosupp.h>
|
||||
#include <rtems/console.h>
|
||||
|
||||
@@ -309,15 +309,19 @@ SYM(_spuriousInterrupt):
|
||||
.align 4
|
||||
PUBLIC (start)
|
||||
SYM(start):
|
||||
move.w #0x0000,d0 | Turn off watchdog timer
|
||||
move.w #0x0000,d0 | Turn off watchdog timer
|
||||
move.w d0, (0x40140000)
|
||||
move.l #0x01000000,d0 | Set system frequency to 150 MHz
|
||||
move.l #0x01000000,d0 | Set system frequency to 150 MHz
|
||||
move.l d0, (0x40120000)
|
||||
move.w #0x2700,sr | Disable interrupts
|
||||
move.w #0x2700,sr | Disable interrupts
|
||||
|
||||
move.l #__SRAMBASE+1,d0 | Enable the MCF5235 internal SRAM
|
||||
movec d0,%rambar | ...so we have a stack
|
||||
move.l #__IPSBAR+1,d0 | Enable the MCF5235 internal peripherals
|
||||
move.l #__SRAMBASE+1,d0 | Enable the MCF5235 internal SRAM
|
||||
movec d0,%rambar | ...so we have a stack
|
||||
|
||||
move.l #0x20000201, d0
|
||||
move.l d0,(0x40000008) | set up 2nd RAMBAR to make 2nd port avail to FEC
|
||||
|
||||
move.l #__IPSBAR+1,d0 | Enable the MCF5235 internal peripherals
|
||||
move.l d0,DEFAULT_IPSBAR
|
||||
|
||||
/*
|
||||
|
||||
@@ -133,12 +133,6 @@ void _CPU_cache_invalidate_1_data_line(const void *addr)
|
||||
asm volatile ("cpushl %%bc,(%0)" :: "a" (addr));
|
||||
}
|
||||
|
||||
/*
|
||||
* Use the shared implementations of the following routines
|
||||
*/
|
||||
void bsp_libc_init( void *, uint32_t, int );
|
||||
void bsp_pretasking_hook(void); /* m68k version */
|
||||
|
||||
/*
|
||||
* bsp_start
|
||||
*
|
||||
@@ -146,28 +140,6 @@ void bsp_pretasking_hook(void); /* m68k version */
|
||||
*/
|
||||
void bsp_start( void )
|
||||
{
|
||||
extern char _WorkspaceBase[];
|
||||
extern char _RamSize[];
|
||||
extern unsigned long _M68k_Ramsize;
|
||||
|
||||
_M68k_Ramsize = (unsigned long)_RamSize; /* RAM size set in linker script */
|
||||
|
||||
/*
|
||||
* Allocate the memory for the RTEMS Work Space. This can come from
|
||||
* a variety of places: hard coded address, malloc'ed from outside
|
||||
* RTEMS world (e.g. simulator or primitive memory manager), or (as
|
||||
* typically done by stock BSPs) by subtracting the required amount
|
||||
* of work space from the last physical address on the CPU board.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Need to "allocate" the memory for the RTEMS Workspace and
|
||||
* tell the RTEMS configuration where it is. This memory is
|
||||
* not malloc'ed. It is just "pulled from the air".
|
||||
*/
|
||||
|
||||
Configuration.work_space_start = (void *)_WorkspaceBase;
|
||||
|
||||
/*
|
||||
* Invalidate the cache and disable it
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user