summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/powerpc/score603e/startup
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/lib/libbsp/powerpc/score603e/startup')
-rw-r--r--c/src/lib/libbsp/powerpc/score603e/startup/Hwr_init.c142
-rw-r--r--c/src/lib/libbsp/powerpc/score603e/startup/bspstart.c232
-rw-r--r--c/src/lib/libbsp/powerpc/score603e/startup/genpvec.c166
-rw-r--r--c/src/lib/libbsp/powerpc/score603e/startup/linkcmds248
-rw-r--r--c/src/lib/libbsp/powerpc/score603e/startup/vmeintr.c48
5 files changed, 0 insertions, 836 deletions
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 <bsp.h>
-
-#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 <string.h>
-
-#include <bsp.h>
-#include <bsp/bootcard.h>
-#include <rtems/libio.h>
-#include <rtems/libcsupport.h>
-#include <rtems/bspIo.h>
-#include <rtems/counter.h>
-#include <libcpu/cpuIdent.h>
-#include <bsp/irq.h>
-
-#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 <bsp.h>
-#include <rtems/chain.h>
-#include <rtems/bspIo.h>
-#include <assert.h>
-
-#include <stdio.h> /* 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 <rtems.h>
-#include <bsp.h>
-#include <rtems/vmeintr.h>
-
-/*
- * 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;
-}