From 999529516a32ae73f62c887370540d9574cdcecd Mon Sep 17 00:00:00 2001 From: Ralph Holmes Date: Tue, 8 Dec 2015 23:10:24 +0000 Subject: powerpc/score603e: Remove (obselete). Updates #2458. --- .../libbsp/powerpc/score603e/startup/Hwr_init.c | 142 ------------ .../libbsp/powerpc/score603e/startup/bspstart.c | 232 ------------------- .../lib/libbsp/powerpc/score603e/startup/genpvec.c | 166 -------------- .../lib/libbsp/powerpc/score603e/startup/linkcmds | 248 --------------------- .../lib/libbsp/powerpc/score603e/startup/vmeintr.c | 48 ---- 5 files changed, 836 deletions(-) delete mode 100644 c/src/lib/libbsp/powerpc/score603e/startup/Hwr_init.c delete mode 100644 c/src/lib/libbsp/powerpc/score603e/startup/bspstart.c delete mode 100644 c/src/lib/libbsp/powerpc/score603e/startup/genpvec.c delete mode 100644 c/src/lib/libbsp/powerpc/score603e/startup/linkcmds delete mode 100644 c/src/lib/libbsp/powerpc/score603e/startup/vmeintr.c (limited to 'c/src/lib/libbsp/powerpc/score603e/startup') diff --git a/c/src/lib/libbsp/powerpc/score603e/startup/Hwr_init.c b/c/src/lib/libbsp/powerpc/score603e/startup/Hwr_init.c deleted file mode 100644 index 4c68519878..0000000000 --- a/c/src/lib/libbsp/powerpc/score603e/startup/Hwr_init.c +++ /dev/null @@ -1,142 +0,0 @@ -/* Hwr_init.c - * - * COPYRIGHT (c) 1989-2009. - * On-Line Applications Research Corporation (OAR). - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.org/license/LICENSE. - */ - -#include - -#define PPC603e_SPR_HID0 1008 -#define PPC603e_SPR_HID1 1009 -#define PPC603e_SPR_IBAT0U 528 -#define PPC603e_SPR_IBAT0L 529 -#define PPC603e_SPR_DBAT0U 536 -#define PPC603e_SPR_DBAT0L 537 -#define PPC603e_SPR_IBAT1U 530 -#define PPC603e_SPR_IBAT1L 531 -#define PPC603e_SPR_DBAT1U 538 -#define PPC603e_SPR_DBAT1L 539 -#define PPC603e_SPR_IBAT2U 532 -#define PPC603e_SPR_IBAT2L 533 -#define PPC603e_SPR_DBAT2U 540 -#define PPC603e_SPR_DBAT2L 541 -#define PPC603e_SPR_IBAT3U 534 -#define PPC603e_SPR_IBAT3L 535 -#define PPC603e_SPR_DBAT3U 542 -#define PPC603e_SPR_DBAT3L 543 -#define PPC603e_SPR_DMISS 976 -#define PPC603e_SPR_DCMP 977 -#define PPC603e_SPR_HASH1 978 -#define PPC603e_SPR_HASH2 979 -#define PPC603e_SPR_IMISS 980 -#define PPC603e_SPR_ICMP 981 -#define PPC603e_SPR_RPA 982 -#define PPC603e_SPR_SDR1 25 -#define PPC603e_SPR_PVR 287 -#define PPC603e_SPR_DAR 19 -#define PPC603e_SPR_SPRG0 272 -#define PPC603e_SPR_SPRG1 273 -#define PPC603e_SPR_SPRG2 274 -#define PPC603e_SPR_SPRG3 275 -#define PPC603e_SPR_DSISR 18 -#define PPC603e_SPR_SRR0 26 -#define PPC603e_SPR_SRR1 27 -#define PPC603e_SPR_TBL_WRITE 284 -#define PPC603e_SPR_TBU_WRITE 285 -#define PPC603e_SPR_DEC 22 -#define PPC603e_SPR_IABR 1010 -#define PPC603e_SPR_EAR 282 - -#define PCI_MEM_CMD (SCORE603E_PCI_MEM_BASE >> 16) - -typedef struct { - uint32_t counter_1_100; - uint32_t counter_hours; - uint32_t counter_min; - uint32_t counter_sec; - uint32_t counter_month; - uint32_t counter_date; - uint32_t counter_year; - uint32_t counter_day_of_week; - - uint32_t RAM_1_100; - uint32_t RAM_hours; - uint32_t RAM_month; - uint32_t RAM_date; - uint32_t RAM_year; - uint32_t RAM_day_of_week; - - uint32_t interupt_status_mask; - uint32_t command_register; -}Harris_RTC; - -void init_RTC(void) -{ - volatile Harris_RTC *the_RTC; - - the_RTC = (volatile Harris_RTC *)BSP_RTC_ADDRESS; - - the_RTC->command_register = 0x0; -} - -void init_PCI(void) -{ - /* DINK Monitor setsup and uses all 4 BAT registers. */ - /* The fourth BAT register can be modified to access this area */ -} - -#define PPC_Get_HID0( _value ) \ - do { \ - _value = 0; /* to avoid warnings */ \ - __asm__ volatile( \ - "mfspr %0, 0x3f0;" /* get HID0 */ \ - "isync" \ - : "=r" (_value) \ - : "0" (_value) \ - ); \ - } while (0) - -#define PPC_Set_HID0( _value ) \ - do { \ - __asm__ volatile( \ - "isync;" \ - "mtspr 0x3f0, %0;" /* load HID0 */ \ - "isync" \ - : "=r" (_value) \ - : "0" (_value) \ - ); \ - } while (0) - -void instruction_cache_enable (void) -{ - uint32_t value; - - /* - * Enable the instruction cache - */ - - PPC_Get_HID0( value ); - - value |= 0x00008000; /* Set ICE bit */ - - PPC_Set_HID0( value ); -} - -void data_cache_enable (void) -{ - uint32_t value; - - /* - * enable data cache - */ - - PPC_Get_HID0( value ); - - value |= 0x00004000; /* set DCE bit */ - - PPC_Set_HID0( value ); -} diff --git a/c/src/lib/libbsp/powerpc/score603e/startup/bspstart.c b/c/src/lib/libbsp/powerpc/score603e/startup/bspstart.c deleted file mode 100644 index 70933afebe..0000000000 --- a/c/src/lib/libbsp/powerpc/score603e/startup/bspstart.c +++ /dev/null @@ -1,232 +0,0 @@ -/* - * This routine does the bulk of the system initialization. - */ - -/* - * COPYRIGHT (c) 1989-2010. - * On-Line Applications Research Corporation (OAR). - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.org/license/LICENSE. - */ - -#include - -#include -#include -#include -#include -#include -#include -#include -#include - -#define DEBUG 0 - -/* - * Where the heap starts; is used by bsp_pretasking_hook; - */ -unsigned int BSP_heap_start; - -/* - * PCI Bus Frequency - */ -unsigned int BSP_bus_frequency; - -/* - * processor clock frequency - */ -unsigned int BSP_processor_frequency; - -/* - * Time base divisior (how many tick for 1 second). - * Note: Calibrated with an application using a 20ms timer and - * a scope. - */ -unsigned int BSP_time_base_divisor = 3960; - -/* - * Driver configuration parameters - */ -uint32_t bsp_clicks_per_usec; - -/* - * Memory on this board. - */ -extern char RamSize[]; -uint32_t BSP_mem_size; - -extern unsigned long __rtems_end[]; - -void BSP_panic(char *s) -{ - printk("%s PANIC %s\n",_RTEMS_version, s); - __asm__ __volatile ("sc"); -} - -void _BSP_Fatal_error(unsigned int v) -{ - printk("%s PANIC ERROR %x\n",_RTEMS_version, v); - __asm__ __volatile ("sc"); -} - -/* - * bsp_predriver_hook - * - * Before drivers are setup initialize interupt vectors. - */ -void init_RTC(void); -void initialize_PMC(void); - -void bsp_predriver_hook(void) -{ - init_PCI(); - initialize_universe(); - - #if DEBUG - printk("bsp_predriver_hook: initialize_PCI_bridge\n"); - #endif - initialize_PCI_bridge (); - -#if (HAS_PMC_PSC8) - #if DEBUG - printk("bsp_predriver_hook: initialize_PMC\n"); - #endif - initialize_PMC(); -#endif - - #if DEBUG - printk("bsp_predriver_hook: End of routine\n"); - #endif - -} - -/*PAGE - * - * initialize_PMC - */ - -void initialize_PMC(void) { - volatile uint32_t *PMC_addr; - uint32_t data; - - /* - * Clear status, enable SERR and memory space only. - */ - PMC_addr = BSP_PCI_DEVICE_ADDRESS( 0x4 ); - *PMC_addr = 0x020080cc; - #if DEBUG - printk("initialize_PMC: 0x%x = 0x%x\n", PMC_addr, 0x020080cc); - #endif - - /* - * set PMC base address. - */ - PMC_addr = BSP_PCI_DEVICE_ADDRESS( 0x14 ); - *PMC_addr = (BSP_PCI_REGISTER_BASE >> 24) & 0x3f; - #if DEBUG - printk("initialize_PMC: 0x%x = 0x%x\n", PMC_addr, ((BSP_PCI_REGISTER_BASE >> 24) & 0x3f)); - #endif - - PMC_addr = (volatile uint32_t*) - BSP_PMC_SERIAL_ADDRESS( 0x100000 ); - data = *PMC_addr; - #if DEBUG - printk("initialize_PMC: Read 0x%x (0x%x)\n", PMC_addr, data ); - printk("initialize_PMC: Read 0x%x (0x%x)\n", PMC_addr, data & 0xfc ); - #endif - *PMC_addr = data & 0xfc; -} - -/*PAGE - * - * bsp_start - * - * This routine does the bulk of the system initialization. - */ - -void bsp_start( void ) -{ - unsigned int msr_value = 0x0000; - uintptr_t intrStackStart; - uintptr_t intrStackSize; - ppc_cpu_id_t myCpu; - ppc_cpu_revision_t myCpuRevision; - - rtems_bsp_delay( 1000 ); - - /* - * Zero out lots of memory - */ - #if DEBUG - printk("bsp_start: Zero out lots of memory\n"); - #endif - - BSP_processor_frequency = 266000000; - BSP_bus_frequency = 66000000; - - /* - * Get CPU identification dynamically. Note that the get_ppc_cpu_type() - * function store the result in global variables so that it can be used - * later... - */ - myCpu = get_ppc_cpu_type(); - myCpuRevision = get_ppc_cpu_revision(); - printk("Cpu: 0x%x Revision: %d\n", myCpu, myCpuRevision); - printk("Cpu %s\n", get_ppc_cpu_type_name(myCpu) ); - - /* - * Initialize the interrupt related settings. - */ - intrStackStart = (uintptr_t) __rtems_end; - intrStackSize = rtems_configuration_get_interrupt_stack_size(); - printk("Interrupt Stack Start: 0x%x Size: 0x%x Heap Start: 0x%x\n", - intrStackStart, intrStackSize, BSP_heap_start - ); - - BSP_mem_size = (uint32_t) RamSize; - printk("BSP_mem_size: %p\n", RamSize ); - - /* - * Initialize default raw exception handlers. - */ - ppc_exc_initialize(intrStackStart, intrStackSize); - - msr_value = 0x2030; - _CPU_MSR_SET( msr_value ); - __asm__ volatile("sync; isync"); - - /* - * initialize the device driver parameters - */ - #if DEBUG - printk("bsp_start: set clicks poer usec\n"); - #endif - bsp_clicks_per_usec = 66 / 4; - rtems_counter_initialize_converter(bsp_clicks_per_usec * 1000000); - - #if BSP_DATA_CACHE_ENABLED - #if DEBUG - printk("bsp_start: cache_enable\n"); - #endif - instruction_cache_enable (); - data_cache_enable (); - #if DEBUG - printk("bsp_start: END BSP_DATA_CACHE_ENABLED\n"); - #endif - #endif - - /* - * Initalize RTEMS IRQ system - */ - #if DEBUG - printk("bspstart: Call BSP_rtems_irq_mng_init\n"); - #endif - BSP_rtems_irq_mng_init(0); - - #if DEBUG - printk("bsp_start: end BSPSTART\n"); - ShowBATS(); - #endif -} diff --git a/c/src/lib/libbsp/powerpc/score603e/startup/genpvec.c b/c/src/lib/libbsp/powerpc/score603e/startup/genpvec.c deleted file mode 100644 index 323bb397df..0000000000 --- a/c/src/lib/libbsp/powerpc/score603e/startup/genpvec.c +++ /dev/null @@ -1,166 +0,0 @@ -/* - * These routines handle the external exception. Multiple ISRs occur off - * of this one interrupt. - * - * COPYRIGHT (c) 1989-2008. - * On-Line Applications Research Corporation (OAR). - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.rtems.org/license/LICENSE. - */ - -#include -#include -#include -#include - -#include /* for sprintf */ - -/* - * Proto types for this file - */ - -rtems_isr external_exception_ISR ( - rtems_vector_number vector /* IN */ -); - -#define NUM_LIRQ_HANDLERS 20 -#define NUM_LIRQ ( MAX_BOARD_IRQS - PPC_IRQ_LAST ) - -/* - * Structure to for one of possible multiple interrupt handlers for - * a given interrupt. - */ -typedef struct -{ - rtems_chain_node Node; - rtems_isr_entry handler; /* isr routine */ - rtems_vector_number vector; /* vector number */ -} EE_ISR_Type; - -/* Note: The following will not work if we add a method to remove - * handlers at a later time. - */ - EE_ISR_Type ISR_Nodes [NUM_LIRQ_HANDLERS]; - uint16_t Nodes_Used; - rtems_chain_control ISR_Array [NUM_LIRQ]; - -/* XXX */ -void init_irq_data_register(void); - -void Init_EE_mask_init(void) -{ -} - -/* - * This routine installs one of multiple ISRs for the general purpose - * inerrupt. - */ -rtems_isr_entry set_EE_vector( - rtems_isr_entry handler, /* isr routine */ - rtems_vector_number vector /* vector number */ -) -{ - uint16_t vec_idx = vector - Score_IRQ_First; - uint32_t index; - - assert (Nodes_Used < NUM_LIRQ_HANDLERS); - - /* - * If we have already installed this handler for this vector, then - * just reset it. - */ - - for ( index=0 ; index <= Nodes_Used ; index++ ) { - if ( ISR_Nodes[index].vector == vector && - ISR_Nodes[index].handler == handler ) - return NULL; - } - - /* - * Doing things in this order makes them more atomic - */ - - Nodes_Used++; - - index = Nodes_Used - 1; - - ISR_Nodes[index].handler = handler; - ISR_Nodes[index].vector = vector; - - /* printf( "Vector Index: %04x, Vector: %d (%x)\n", - vec_idx, vector, vector); */ - - rtems_chain_append( &ISR_Array[vec_idx], &ISR_Nodes[index].Node ); - - /* - * Unmask the interrupt. - */ - unmask_irq( vec_idx ); - - return NULL; -} - -/* - * This interrupt service routine is called for an External Exception. - */ -rtems_isr external_exception_ISR ( - rtems_vector_number vector /* IN */ -) -{ - uint16_t index; - EE_ISR_Type *node; - uint16_t value; -#if (HAS_PMC_PSC8) - uint16_t PMC_irq; - uint16_t check_irq; - uint16_t status_word; -#endif - - index = read_and_clear_irq(); - if ( index >= NUM_LIRQ ) { - printk( "ERROR:: Invalid interrupt number (%02x)\n", index ); - return; - } - -#if (HAS_PMC_PSC8) - PMC_irq = SCORE603E_PCI_IRQ_0 - SCORE603E_IRQ00; - - if (index == PMC_irq) { - status_word = read_and_clear_PMC_irq( index ); - - for (check_irq=SCORE603E_IRQ16; check_irq<=SCORE603E_IRQ19; check_irq++) { - if ( Is_PMC_IRQ( check_irq, status_word )) { - index = check_irq - SCORE603E_IRQ00; - node = (EE_ISR_Type *)(ISR_Array[ index ].first); - - if ( rtems_chain_is_tail( &ISR_Array[ index ], (void *)node ) ) { - printk ("ERROR:: check %d interrupt %02d has no isr\n", check_irq, index); - value = get_irq_mask(); - printk(" Mask = %02x\n", value); - } - while ( !rtems_chain_is_tail( &ISR_Array[ index ], (void *)node ) ) { - (*node->handler)( node->vector ); - node = (EE_ISR_Type *) node->Node.next; - } - } - } - } - else -#endif - { - node = (EE_ISR_Type *)(ISR_Array[ index ].first); - if ( rtems_chain_is_tail( &ISR_Array[ index ], (void *)node ) ) { - printk( "ERROR:: interrupt %02x has no isr\n", index); - value = get_irq_mask(); - printk(" Mask = %02x\n", value); - return; - } - while ( !rtems_chain_is_tail( &ISR_Array[ index ], (void *)node ) ) { - (*node->handler)( node->vector ); - node = (EE_ISR_Type *) node->Node.next; - } - } - -} diff --git a/c/src/lib/libbsp/powerpc/score603e/startup/linkcmds b/c/src/lib/libbsp/powerpc/score603e/startup/linkcmds deleted file mode 100644 index 70065572fc..0000000000 --- a/c/src/lib/libbsp/powerpc/score603e/startup/linkcmds +++ /dev/null @@ -1,248 +0,0 @@ -OUTPUT_FORMAT("elf32-powerpc", "elf32-powerpc", - "elf32-powerpc") - -OUTPUT_ARCH(powerpc) -ENTRY(_start) - -/* - * Number of Decrementer countdowns per millisecond - * - * Calculated by: (66 Mhz * 1000) / 4 cycles per click - */ - -PROVIDE(CPU_PPC_CLICKS_PER_MS = 16500); - -RamBase = DEFINED(RamBase) ? RamBase : 0x0; -RamSize = DEFINED(RamSize) ? RamSize : 31M; - -MEMORY - { - VECTORS : ORIGIN = 0, LENGTH = 64K - RAM : ORIGIN = 1M, LENGTH = 31M - EPROM : ORIGIN = 0xFFF00000, LENGTH = 0x80000 - } - -SECTIONS -{ - .vectors 0x00100 : - { - *(.vectors) - } - - /* Read-only sections, merged into text segment: */ - /* SDS ROM worked at 0x30000 */ - .interp : { *(.interp) } - .hash : { *(.hash) } - .dynsym : { *(.dynsym) } - .dynstr : { *(.dynstr) } - - .rel.dyn : - { - *(.rel.init) - *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*) - *(.rel.fini) - *(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*) - *(.rel.data.rel.ro* .rel.gnu.linkonce.d.rel.ro.*) - *(.rel.data .rel.data.* .rel.gnu.linkonce.d.*) - *(.rel.tdata .rel.tdata.* .rel.gnu.linkonce.td.*) - *(.rel.tbss .rel.tbss.* .rel.gnu.linkonce.tb.*) - *(.rel.ctors) - *(.rel.dtors) - *(.rel.got) - *(.rel.sdata .rel.sdata.* .rel.gnu.linkonce.s.*) - *(.rel.sbss .rel.sbss.* .rel.gnu.linkonce.sb.*) - *(.rel.sdata2 .rel.sdata2.* .rel.gnu.linkonce.s2.*) - *(.rel.sbss2 .rel.sbss2.* .rel.gnu.linkonce.sb2.*) - *(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*) - } >RAM - .rela.dyn : - { - *(.rela.init) - *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*) - *(.rela.fini) - *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*) - *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*) - *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*) - *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*) - *(.rela.ctors) - *(.rela.dtors) - *(.rela.got) - *(.rela.got1) - *(.rela.got2) - *(.rela.sdata .rela.sdata.* .rela.gnu.linkonce.s.*) - *(.rela.sbss .rela.sbss.* .rela.gnu.linkonce.sb.*) - *(.rela.sdata2 .rela.sdata2.* .rela.gnu.linkonce.s2.*) - *(.rela.sbss2 .rela.sbss2.* .rela.gnu.linkonce.sb2.*) - *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*) - } >RAM - .rel.plt : { *(.rel.plt) } - .rela.plt : { *(.rela.plt) } - - .plt : { *(.plt) } - .text 0x100000: - { - - *(.text*) - *(.gnu.linkonce.t.*) - *(.descriptors) - - /* - * 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) - } >RAM - .init : { _init = .; __init = .; *(.init) } >RAM - .fini : { _fini = .; __fini = .; *(.fini) } >RAM - .rodata : { *(.rodata*) KEEP (*(SORT(.rtemsroset.*))) *(.gnu.linkonce.r*) } >RAM - .rodata1 : { *(.rodata1) } >RAM - .tdata : { - _TLS_Data_begin = .; - *(.tdata .tdata.* .gnu.linkonce.td.*) - _TLS_Data_end = .; - } >RAM - .tbss : { - _TLS_BSS_begin = .; - *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) - _TLS_BSS_end = .; - } >RAM - _TLS_Data_size = _TLS_Data_end - _TLS_Data_begin; - _TLS_Data_begin = _TLS_Data_size != 0 ? _TLS_Data_begin : _TLS_BSS_begin; - _TLS_Data_end = _TLS_Data_size != 0 ? _TLS_Data_end : _TLS_BSS_begin; - _TLS_BSS_size = _TLS_BSS_end - _TLS_BSS_begin; - _TLS_Size = _TLS_BSS_end - _TLS_Data_begin; - _TLS_Alignment = MAX (ALIGNOF (.tdata), ALIGNOF (.tbss)); - .eh_frame : { *(.eh_frame) } >RAM - _etext = .; - PROVIDE (_etext = .); - PROVIDE (__SDATA2_START__ = .); - .sdata2 : { *(.sdata2 .sdata2.* .gnu.linkonce.s2.*) } >RAM - .sbss2 : { *(.sbss2 .sbss2.* .gnu.linkonce.sb2.*) } >RAM - PROVIDE (__SBSS2_END__ = .); - /* Adjust the address for the data segment. We want to adjust up to - the same address within the page on the next page up. It would - be more correct to do this: - . = ALIGN(0x40000) + (ALIGN(8) & (0x40000 - 1)); - The current expression does not correctly handle the case of a - text segment ending precisely at the end of a page; it causes the - data segment to skip a page. The above expression does not have - this problem, but it will currently (2/95) cause BFD to allocate - a single segment, combining both text and data, for this case. - This will prevent the text segment from being shared among - multiple executions of the program; I think that is more - important than losing a page of the virtual address space (note - that no actual memory is lost; the page which is skipped can not - be referenced). */ - . = ALIGN(8) + 0x40000; - PROVIDE (sdata = .); - .data : - { - *(.data) - *(.data.*) - KEEP (*(SORT(.rtemsrwset.*))) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - } >RAM - PROVIDE (__EXCEPT_START__ = .); - .gcc_except_table : { *(.gcc_except_table*) } >RAM - PROVIDE (__EXCEPT_END__ = .); - - .data1 : { *(.data1) } >RAM - .got1 : { *(.got1) } >RAM - .dynamic : { *(.dynamic) } >RAM - /* Put .ctors and .dtors next to the .got2 section, so that the pointers - get relocated with -mrelocatable. Also put in the .fixup pointers. - The current compiler no longer needs this, but keep it around for 2.7.2 */ - PROVIDE (_GOT2_START_ = .); - .got2 : { *(.got2) } >RAM - PROVIDE (__GOT2_END__ = .); - PROVIDE (__CTOR_LIST__ = .); - .ctors : { *(.ctors) } >RAM - PROVIDE (__CTOR_END__ = .); - PROVIDE (__DTOR_LIST__ = .); - .dtors : { *(.dtors) } >RAM - PROVIDE (__DTOR_END__ = .); - PROVIDE (_FIXUP_START_ = .); - .fixup : { *(.fixup) } >RAM - PROVIDE (_FIXUP_END_ = .); - PROVIDE (__FIXUP_END__ = .); - PROVIDE (_GOT2_END_ = .); - .got : { - PROVIDE (_GOT_START_ = .); - s.got = .; - *(.got) - } >RAM - .got.plt : { *(.got.plt) } >RAM - PROVIDE (_GOT_END_ = .); - PROVIDE (__GOT_END__ = .); - /* 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. */ - PROVIDE (__SDATA_START__ = .); - .sdata : { - *(.sdata .sdata.* .gnu.linkonce.s.*) - _edata = .; - } >RAM - PROVIDE (_edata = .); - PROVIDE (RAM_END = ADDR(.text) + 10M); - . = ALIGN(8) + 0x1000; - .sbss : - { - PROVIDE (__sbss_start = .); - *(.sbss*) - *(.scommon) - *(.gnu.linkonce.sb.*) - PROVIDE (__sbss_end = .); - } >RAM - .bss : - { - PROVIDE (__bss_start = .); - *(.dynbss) - *(.bss .bss* .gnu.linkonce.b*) - *(COMMON) - } >RAM - . = ALIGN(16) + 0x8000; - PROVIDE (__stack = .); - __rtems_end = . ; - . = ALIGN(8) + 0x8000; - PROVIDE(_end = .); - PROVIDE(end = .); - - /* These are needed for ELF backends which have not yet been - converted to the new style linker. */ - .stab 0 : { *(.stab) } >RAM - .stabstr 0 : { *(.stabstr) } - /* 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) } - /* These must appear regardless of . */ -} diff --git a/c/src/lib/libbsp/powerpc/score603e/startup/vmeintr.c b/c/src/lib/libbsp/powerpc/score603e/startup/vmeintr.c deleted file mode 100644 index 5d455b9159..0000000000 --- a/c/src/lib/libbsp/powerpc/score603e/startup/vmeintr.c +++ /dev/null @@ -1,48 +0,0 @@ -/* - * VMEbus support routines for the Generation I board. - */ - -/* - * COPYRIGHT (c) 1989-2008. - * On-Line Applications Research Corporation (OAR). - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.rtems.org/license/LICENSE. - */ - -#include -#include -#include - -/* - * VME_interrupt_Disable - */ -void VME_interrupt_Disable( - VME_interrupt_Mask mask /* IN */ -) -{ - volatile uint8_t *VME_interrupt_enable; - uint8_t value; - - VME_interrupt_enable = 0; - value = *VME_interrupt_enable; - value &= ~mask; /* turn off interrupts for all levels in mask */ - *VME_interrupt_enable = value; -} - -/* - * VME_interrupt_Enable - */ -void VME_interrupt_Enable( - VME_interrupt_Mask mask /* IN */ -) -{ - volatile uint8_t *VME_interrupt_enable; - uint8_t value; - - VME_interrupt_enable = 0; - value = *VME_interrupt_enable; - value |= mask; /* turn on interrupts for all levels in mask */ - *VME_interrupt_enable = value; -} -- cgit v1.2.3