From 8ce50cbf15e4d2ed60e690789fdb06fe290b7e8c Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Fri, 25 Feb 2005 21:02:17 +0000 Subject: 2005-02-25 Joel Sherrill * arm_bare_bsp/.cvsignore, arm_bare_bsp/ChangeLog, arm_bare_bsp/Makefile.am, arm_bare_bsp/bsp_specs, arm_bare_bsp/configure.ac, arm_bare_bsp/clock/clockdrv.c, arm_bare_bsp/include/.cvsignore, arm_bare_bsp/include/bsp.h, arm_bare_bsp/include/registers.h, arm_bare_bsp/include/tm27.h, arm_bare_bsp/irq/bsp_irq_asm.S, arm_bare_bsp/irq/bsp_irq_init.c, arm_bare_bsp/irq/irq.c, arm_bare_bsp/irq/irq.h, arm_bare_bsp/start/start.S, arm_bare_bsp/startup/bspstart.c, arm_bare_bsp/startup/exit.c, arm_bare_bsp/startup/linkcmds: Removed. --- .../lib/libbsp/arm/arm_bare_bsp/startup/bspstart.c | 160 ----------- c/src/lib/libbsp/arm/arm_bare_bsp/startup/exit.c | 39 --- c/src/lib/libbsp/arm/arm_bare_bsp/startup/linkcmds | 316 --------------------- 3 files changed, 515 deletions(-) delete mode 100644 c/src/lib/libbsp/arm/arm_bare_bsp/startup/bspstart.c delete mode 100644 c/src/lib/libbsp/arm/arm_bare_bsp/startup/exit.c delete mode 100644 c/src/lib/libbsp/arm/arm_bare_bsp/startup/linkcmds (limited to 'c/src/lib/libbsp/arm/arm_bare_bsp/startup') diff --git a/c/src/lib/libbsp/arm/arm_bare_bsp/startup/bspstart.c b/c/src/lib/libbsp/arm/arm_bare_bsp/startup/bspstart.c deleted file mode 100644 index 416552d80c..0000000000 --- a/c/src/lib/libbsp/arm/arm_bare_bsp/startup/bspstart.c +++ /dev/null @@ -1,160 +0,0 @@ -/*-------------------------------------------------------------------------+ -| This file contains the ARM BSP startup package. It includes application, -| board, and monitor specific initialization and configuration. The generic CPU -| dependent initialization has been performed before this routine is invoked. -+--------------------------------------------------------------------------+ -| -| Copyright (c) 2000 Canon Research Centre France SA. -| Emmanuel Raguet, mailto:raguet@crf.canon.fr -| -| The license and distribution terms for this file may be -| found in found in the file LICENSE in this distribution or at -| http://www.rtems.com/license/LICENSE. -| -+--------------------------------------------------------------------------*/ - -#include -#include -#include - -#include - -/*-------------------------------------------------------------------------+ -| Global Variables -+--------------------------------------------------------------------------*/ - -/* - * must be initialized with the right address - */ -volatile unsigned long *Regs = (unsigned long*)0xdeadbeef; /* Chip registers */ - -extern uint32_t _end; /* End of BSS. Defined in 'linkcmds'. */ -/* - * Size of heap if it is 0 it will be dynamically defined by memory size, - * otherwise the value should be changed by binary patch - */ -uint32_t _heap_size = 0; - -/* Size of stack used during initialization. Defined in 'start.s'. */ -extern uint32_t _stack_size; - -uint32_t rtemsFreeMemStart; - /* Address of start of free memory - should be updated - after creating new partitions or regions. */ - -/* The original BSP configuration table from the application and our copy of it - with some changes. */ - -extern rtems_configuration_table Configuration; - rtems_configuration_table BSP_Configuration; - -rtems_cpu_table Cpu_table; /* CPU configuration table. */ -char *rtems_progname; /* Program name - from main(). */ - -/*-------------------------------------------------------------------------+ -| External Prototypes -+--------------------------------------------------------------------------*/ -extern void rtems_irq_mngt_init(void); -void bsp_libc_init( void *, uint32_t, int ); -void bsp_postdriver_hook(void); - -/*-------------------------------------------------------------------------+ -| Function: bsp_pretasking_hook -| Description: BSP pretasking hook. Called just before drivers are -| initialized. Used to setup libc and install any BSP -| extensions. NOTE: Must not use libc (to do io) from here, -| since drivers are not yet initialized. -| Global Variables: None. -| Arguments: None. -| Returns: Nothing. -+--------------------------------------------------------------------------*/ -void bsp_pretasking_hook(void) -{ - - if(_heap_size == 0) - { - _heap_size = 0x420000 - rtemsFreeMemStart; - } - - bsp_libc_init((void *)rtemsFreeMemStart, _heap_size, 0); - - rtemsFreeMemStart += _heap_size; /* HEAP_SIZE in KBytes */ - -#ifdef RTEMS_DEBUG - - rtems_debug_enable(RTEMS_DEBUG_ALL_MASK); - -#endif /* RTEMS_DEBUG */ - -} /* bsp_pretasking_hook */ - -/*-------------------------------------------------------------------------+ -| Function: bsp_start -| Description: Called before main is invoked. -| Global Variables: None. -| Arguments: None. -| Returns: Nothing. -+--------------------------------------------------------------------------*/ -void bsp_start_default( void ) -{ - rtemsFreeMemStart = (uint32_t)(&_end); /* &_end+_stack_size;*/ - /* set the value of start of free memory. */ - - /* If we don't have command line arguments set default program name. */ - - Cpu_table.pretasking_hook = bsp_pretasking_hook; /* init libc, etc. */ - Cpu_table.predriver_hook = NULL; /* use system's */ - Cpu_table.postdriver_hook = bsp_postdriver_hook; - Cpu_table.idle_task = NULL; - /* do not override system IDLE task */ - Cpu_table.do_zero_of_workspace = TRUE; - Cpu_table.interrupt_stack_size = 4096; - Cpu_table.extra_mpci_receive_server_stack = 0; - - /* Place RTEMS workspace at beginning of free memory. */ - BSP_Configuration.work_space_start = (void *)rtemsFreeMemStart; - - rtemsFreeMemStart += BSP_Configuration.work_space_size; - - /* - * Init rtems exceptions management - */ - rtems_exception_init_mngt(); - - /* - * Init rtems interrupt management - */ - rtems_irq_mngt_init(); - - /* - * The following information is very useful when debugging. - */ - -#if 0 - printk( "work_space_size = 0x%x\n", BSP_Configuration.work_space_size ); - printk( "maximum_extensions = 0x%x\n", BSP_Configuration.maximum_extensions ); - printk( "microseconds_per_tick = 0x%x\n", - BSP_Configuration.microseconds_per_tick ); - printk( "ticks_per_timeslice = 0x%x\n", - BSP_Configuration.ticks_per_timeslice ); - printk( "maximum_devices = 0x%x\n", BSP_Configuration.maximum_devices ); - printk( "number_of_device_drivers = 0x%x\n", - BSP_Configuration.number_of_device_drivers ); - printk( "Device_driver_table = 0x%x\n", - BSP_Configuration.Device_driver_table ); - - printk( "_heap_size = 0x%x\n", _heap_size ); - /* printk( "_stack_size = 0x%x\n", _stack_size );*/ - printk( "rtemsFreeMemStart = 0x%x\n", rtemsFreeMemStart ); - printk( "work_space_start = 0x%x\n", BSP_Configuration.work_space_start ); - printk( "work_space_size = 0x%x\n", BSP_Configuration.work_space_size ); -#endif - -} /* bsp_start */ - -/* - * By making this a weak alias for bsp_start_default, a brave soul - * can override the actual bsp_start routine used. - */ - -void bsp_start (void) __attribute__ ((weak, alias("bsp_start_default"))); diff --git a/c/src/lib/libbsp/arm/arm_bare_bsp/startup/exit.c b/c/src/lib/libbsp/arm/arm_bare_bsp/startup/exit.c deleted file mode 100644 index 03e240cc33..0000000000 --- a/c/src/lib/libbsp/arm/arm_bare_bsp/startup/exit.c +++ /dev/null @@ -1,39 +0,0 @@ -/*-------------------------------------------------------------------------+ -| exit.c - ARM BSP -+--------------------------------------------------------------------------+ -| Routines to shutdown and reboot the BSP. -+--------------------------------------------------------------------------+ -| -| Copyright (c) 2000 Canon Research Centre France SA. -| Emmanuel Raguet, mailto:raguet@crf.canon.fr -| -| The license and distribution terms for this file may be -| found in found in the file LICENSE in this distribution or at -| http://www.rtems.com/license/LICENSE. -| -+--------------------------------------------------------------------------*/ - -#include -#include -#include -#include - -void rtemsReboot (void) -{ - asm volatile ("b _start"); -} - -void bsp_cleanup(void) -{ - unsigned char ch; - static char line[]="\nEXECUTIVE SHUTDOWN! Any key to reboot..."; - /* - * AT this point, the console driver is disconnected => we must - * use polled output/input. This is exactly what printk - * does. - */ - printk("\n"); - printk(line); - ch = BSP_poll_char(); - rtemsReboot(); -} diff --git a/c/src/lib/libbsp/arm/arm_bare_bsp/startup/linkcmds b/c/src/lib/libbsp/arm/arm_bare_bsp/startup/linkcmds deleted file mode 100644 index e10d701531..0000000000 --- a/c/src/lib/libbsp/arm/arm_bare_bsp/startup/linkcmds +++ /dev/null @@ -1,316 +0,0 @@ -OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm", - "elf32-littlearm") -OUTPUT_ARCH(arm) -ENTRY(_start) -MEMORY { -/* Settings as submitted which won't match an arbitrary user board - and are not enough to link every test case so changed to link all tests. - FLASH (rx) : ORIGIN = 0x200000, LENGTH = 512K - RAM (!rx) : ORIGIN = 0x400000, LENGTH = 128K -*/ - FLASH (rx) : ORIGIN = 0x200000, LENGTH = 1024K - RAM (!rx) : ORIGIN = 0x600000, LENGTH = 128K -} - -/* Do we need any of these for elf? - __DYNAMIC = 0; */ -SECTIONS -{ - /* Read-only sections, merged into text segment: */ -/* . = 0 + SIZEOF_HEADERS;*/ - .hash : { *(.hash) } > FLASH - .dynsym : { *(.dynsym) } > FLASH - .dynstr : { *(.dynstr) } > FLASH - .gnu.version : { *(.gnu.version) } > FLASH - .gnu.version_d : { *(.gnu.version_d) } > FLASH - .gnu.version_r : { *(.gnu.version_r) } > FLASH - .rel.init : { *(.rel.init) } > FLASH - .rela.init : { *(.rela.init) } > FLASH - .rel.text : - { - *(.rel.text) - *(.rel.text.*) - *(.rel.gnu.linkonce.t*) - } > FLASH - .rela.text : - { - *(.rela.text) - *(.rela.text.*) - *(.rela.gnu.linkonce.t*) - } > FLASH - .rel.fini : { *(.rel.fini) } > FLASH - .rela.fini : { *(.rela.fini) } > FLASH - .rel.rodata : - { - *(.rel.rodata) - *(.rel.rodata.*) - *(.rel.gnu.linkonce.r*) - } > FLASH - .rela.rodata : - { - *(.rela.rodata) - *(.rela.rodata.*) - *(.rela.gnu.linkonce.r*) - } > FLASH - .rel.data : - { - *(.rel.data) - *(.rel.data.*) - *(.rel.gnu.linkonce.d*) - } > FLASH - .rela.data : - { - *(.rela.data) - *(.rela.data.*) - *(.rela.gnu.linkonce.d*) - } > FLASH - .rel.ctors : { *(.rel.ctors) } > FLASH - .rela.ctors : { *(.rela.ctors) } > FLASH - .rel.dtors : { *(.rel.dtors) } > FLASH - .rela.dtors : { *(.rela.dtors) } > FLASH - .rel.got : { *(.rel.got) } > FLASH - .rela.got : { *(.rela.got) } > FLASH -} - -/* Do we need any of these for elf? - __DYNAMIC = 0; */ -SECTIONS -{ - /* Read-only sections, merged into text segment: */ -/* . = 0 + SIZEOF_HEADERS;*/ - .hash : { *(.hash) } > FLASH - .dynsym : { *(.dynsym) } > FLASH - .dynstr : { *(.dynstr) } > FLASH - .gnu.version : { *(.gnu.version) } > FLASH - .gnu.version_d : { *(.gnu.version_d) } > FLASH - .gnu.version_r : { *(.gnu.version_r) } > FLASH - .rel.init : { *(.rel.init) } > FLASH - .rela.init : { *(.rela.init) } > FLASH - .rel.text : - { - *(.rel.text) - *(.rel.text.*) - *(.rel.gnu.linkonce.t*) - } > FLASH - .rela.text : - { - *(.rela.text) - *(.rela.text.*) - *(.rela.gnu.linkonce.t*) - } > FLASH - .rel.fini : { *(.rel.fini) } > FLASH - .rela.fini : { *(.rela.fini) } > FLASH - .rel.rodata : - { - *(.rel.rodata) - *(.rel.rodata.*) - *(.rel.gnu.linkonce.r*) - } > FLASH - .rela.rodata : - { - *(.rela.rodata) - *(.rela.rodata.*) - *(.rela.gnu.linkonce.r*) - } > FLASH - .rel.data : - { - *(.rel.data) - *(.rel.data.*) - *(.rel.gnu.linkonce.d*) - } > FLASH - .rela.data : - { - *(.rela.data) - *(.rela.data.*) - *(.rela.gnu.linkonce.d*) - } > FLASH - .rel.ctors : { *(.rel.ctors) } > FLASH - .rela.ctors : { *(.rela.ctors) } > FLASH - .rel.dtors : { *(.rel.dtors) } > FLASH - .rela.dtors : { *(.rela.dtors) } > FLASH - .rel.got : { *(.rel.got) } > FLASH - .rela.got : { *(.rela.got) } > FLASH - .rel.sdata : - { - *(.rel.sdata) - *(.rel.sdata.*) - *(.rel.gnu.linkonce.s*) - } > FLASH - .rela.sdata : - { - *(.rela.sdata) - *(.rela.sdata.*) - *(.rela.gnu.linkonce.s*) - } > FLASH - .rel.sbss : { *(.rel.sbss) } > FLASH - .rela.sbss : { *(.rela.sbss) } > FLASH - .rel.bss : { *(.rel.bss) } > FLASH - .rela.bss : { *(.rela.bss) } > FLASH - .rel.plt : { *(.rel.plt) } > FLASH - .rela.plt : { *(.rela.plt) } > FLASH - .init : - { - KEEP (*(.init)) - } > FLASH /*=0*/ - .plt : { *(.plt) } > FLASH - .text : - { - *(.text) - *(.text.*) - *(.stub) - - /* - * Special FreeBSD sysctl sections. - */ - . = ALIGN (16); - __start_set_sysctl_set = .; - *(set_sysctl_*); - __stop_set_sysctl_set = ABSOLUTE(.); - *(set_domain_*); - *(set_pseudo_*); - - /* .gnu.warning sections are handled specially by elf32.em. */ - *(.gnu.warning) - *(.gnu.linkonce.t*) - *(.glue_7t) *(.glue_7) - } > FLASH /*=0*/ - _etext = .; - PROVIDE (etext = .); - .fini : - { - KEEP (*(.fini)) - } > FLASH /*=0*/ - .rodata : { *(.rodata) *(.rodata.*) *(.gnu.linkonce.r*) } > FLASH - .rodata1 : { *(.rodata1) } > FLASH - _erodata = ABSOLUTE(.); - PROVIDE (erodata = ABSOLUTE(.)); - /* Adjust the address for the data segment. We want to adjust up to - the same address within the page on the next page up. */ - . = ALIGN(256); - _begdata = ALIGN(256); - .arm_end_text : - { - . = ALIGN(256); - _initdata = ALIGN(256); - } > FLASH - .data : AT (_begdata) - { - *(.data*) - *(.gnu.linkonce.d*) - *(.jcr) - SORT(CONSTRUCTORS) - } > RAM - .data1 : { *(.data1) } > RAM - .eh_frame : { *(.eh_frame) } > RAM - .gcc_except_table : { *(.gcc_except_table) } > RAM - .ctors : - { - /* gcc uses crtbegin.o to find the start of - the constructors, so we make sure it is - first. Because this is a wildcard, it - doesn't matter if the user does not - actually link against crtbegin.o; the - linker won't look for a file to match a - wildcard. The wildcard also means that it - doesn't matter which directory crtbegin.o - is in. */ - KEEP (*crtbegin.o(.ctors)) - /* We don't want to include the .ctor section from - from the crtend.o file until after the sorted ctors. - The .ctor section from the crtend file contains the - end of ctors marker and it must be last */ - KEEP (*(EXCLUDE_FILE (*crtend.o ) .ctors)) - KEEP (*(SORT(.ctors.*))) - KEEP (*(.ctors)) - } > RAM - .dtors : - { - KEEP (*crtbegin.o(.dtors)) - KEEP (*(EXCLUDE_FILE (*crtend.o ) .dtors)) - KEEP (*(SORT(.dtors.*))) - KEEP (*(.dtors)) - } > RAM - .got : { *(.got.plt) *(.got) } > RAM - .dynamic : { *(.dynamic) } > RAM - /* We want the small data sections together, so single-instruction offsets - can access them all, and initialized data all before uninitialized, so - we can shorten the on-disk segment size. */ - .sdata : - { - *(.sdata) - *(.sdata.*) - *(.gnu.linkonce.s.*) - } > RAM - .arm_data : - { - _edata = .; - __bss_start = .; - __bss_start__ = .; - } > RAM - .sbss : - { - *(.dynsbss) - *(.sbss) - *(.sbss.*) - *(.scommon) - } > RAM - .bss : - { - *(.dynbss) - *(.bss) - *(.bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - /* Align here to ensure that the .bss section occupies space up to - _end. Align after .bss to ensure correct alignment even if the - .bss section disappears because there are no input sections. */ - . = ALIGN(32 / 8); - } > RAM - . = ALIGN(32 / 8); - .arm_end : - { - _end = .; - _bss_end__ = . ; - __bss_end__ = . ; - __end__ = . ; - } > RAM - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - /* DWARF debug sections. - Symbols in the DWARF debugging sections are relative to the beginning - of the section so we begin them at 0. */ - /* DWARF 1 */ - .debug 0 : { *(.debug) } - .line 0 : { *(.line) } - /* GNU DWARF 1 extensions */ - .debug_srcinfo 0 : { *(.debug_srcinfo) } - .debug_sfnames 0 : { *(.debug_sfnames) } - /* DWARF 1.1 and DWARF 2 */ - .debug_aranges 0 : { *(.debug_aranges) } - .debug_pubnames 0 : { *(.debug_pubnames) } - /* DWARF 2 */ - .debug_info 0 : { *(.debug_info) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_line 0 : { *(.debug_line) } - .debug_frame 0 : { *(.debug_frame) } - .debug_str 0 : { *(.debug_str) } - .debug_loc 0 : { *(.debug_loc) } - .debug_macinfo 0 : { *(.debug_macinfo) } - /* SGI/MIPS DWARF 2 extensions */ - .debug_weaknames 0 : { *(.debug_weaknames) } - .debug_funcnames 0 : { *(.debug_funcnames) } - .debug_typenames 0 : { *(.debug_typenames) } - .debug_varnames 0 : { *(.debug_varnames) } - /*.stack 0x80000 : { _stack = .; *(.stack) }*/ - /* These must appear regardless of . */ -} - - - - -- cgit v1.2.3