diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2007-06-20 21:42:00 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2007-06-20 21:42:00 +0000 |
commit | 7da34053e781f749be7e05b29c2e008d55b98e12 (patch) | |
tree | 3a71c8ce5c32682f880c4835b064fc2214625fcc | |
parent | 2007-06-20 Joel Sherrill <joel.sherrill@oarcorp.com> (diff) | |
download | rtems-7da34053e781f749be7e05b29c2e008d55b98e12.tar.bz2 |
2007-06-20 Joel Sherrill <joel.sherrill@oarcorp.com>
Add Embedded Planets EP5200 which is the same as the Freescale
5200Lite (a.k.a. IceCube) evaluation board.
* Makefile.am: Add linkcmds.ep5200.
Add -DMPC5200_BAPI_LIBC_HEADERS to remove some warnings in bestcomm.
* preinstall.am: Add linkcmds.ep5200.
* clock/clock.c: Correct math for prescaler/counter when bus speed
is high enough to require multiple passes of loop.
* console/console.c: Use same math for initial baud rate as when it
is changed via ioctl. When HAS_UBOOT is defined, initialize console
to the same baud as it was with U-Boot.
* include/bsp.h: Add EP5200 and console boot baud support.
* include/mpc5200.h: Spacing.
* startup/bspstart.c: If HAS_UBOOT and SHOW_MORE_INIT_SETTINGS are
both defined, dump the U-Boot BD info structure.
* vectors/vectors.S: ep5200 cannot use vectors segment. When loading
it, U-Boot freezes. Besides, U-Boot can automatically start the BSP
so we do not have to run from board reset.
* startup/linkcmds.ep5200: New file.
-rw-r--r-- | c/src/lib/libbsp/powerpc/gen5200/ChangeLog | 21 | ||||
-rw-r--r-- | c/src/lib/libbsp/powerpc/gen5200/Makefile.am | 5 | ||||
-rw-r--r-- | c/src/lib/libbsp/powerpc/gen5200/clock/clock.c | 13 | ||||
-rw-r--r-- | c/src/lib/libbsp/powerpc/gen5200/console/console.c | 4 | ||||
-rw-r--r-- | c/src/lib/libbsp/powerpc/gen5200/include/bsp.h | 27 | ||||
-rw-r--r-- | c/src/lib/libbsp/powerpc/gen5200/include/mpc5200.h | 2 | ||||
-rw-r--r-- | c/src/lib/libbsp/powerpc/gen5200/preinstall.am | 4 | ||||
-rw-r--r-- | c/src/lib/libbsp/powerpc/gen5200/startup/bspstart.c | 12 | ||||
-rw-r--r-- | c/src/lib/libbsp/powerpc/gen5200/startup/linkcmds.icecube | 348 | ||||
-rw-r--r-- | c/src/lib/libbsp/powerpc/gen5200/vectors/vectors.S | 4 |
10 files changed, 424 insertions, 16 deletions
diff --git a/c/src/lib/libbsp/powerpc/gen5200/ChangeLog b/c/src/lib/libbsp/powerpc/gen5200/ChangeLog index 215c8fd83e..c5aa5b755c 100644 --- a/c/src/lib/libbsp/powerpc/gen5200/ChangeLog +++ b/c/src/lib/libbsp/powerpc/gen5200/ChangeLog @@ -1,3 +1,24 @@ +2007-06-20 Joel Sherrill <joel.sherrill@oarcorp.com> + + Add Embedded Planets EP5200 which is the same as the Freescale + 5200Lite (a.k.a. IceCube) evaluation board. + * Makefile.am: Add linkcmds.ep5200. + Add -DMPC5200_BAPI_LIBC_HEADERS to remove some warnings in bestcomm. + * preinstall.am: Add linkcmds.ep5200. + * clock/clock.c: Correct math for prescaler/counter when bus speed + is high enough to require multiple passes of loop. + * console/console.c: Use same math for initial baud rate as when it + is changed via ioctl. When HAS_UBOOT is defined, initialize console + to the same baud as it was with U-Boot. + * include/bsp.h: Add EP5200 and console boot baud support. + * include/mpc5200.h: Spacing. + * startup/bspstart.c: If HAS_UBOOT and SHOW_MORE_INIT_SETTINGS are + both defined, dump the U-Boot BD info structure. + * vectors/vectors.S: ep5200 cannot use vectors segment. When loading + it, U-Boot freezes. Besides, U-Boot can automatically start the BSP + so we do not have to run from board reset. + * startup/linkcmds.ep5200: New file. + 2007-04-17 Ralf Corsépius <ralf.corsepius@rtems.org> * mscan/mscan.c: Use size_t for message sizes. Remove absurd type diff --git a/c/src/lib/libbsp/powerpc/gen5200/Makefile.am b/c/src/lib/libbsp/powerpc/gen5200/Makefile.am index b4ab7d59d1..83892efce5 100644 --- a/c/src/lib/libbsp/powerpc/gen5200/Makefile.am +++ b/c/src/lib/libbsp/powerpc/gen5200/Makefile.am @@ -31,6 +31,7 @@ project_lib_DATA = start.$(OBJEXT) dist_project_lib_DATA += startup/linkcmds dist_project_lib_DATA += startup/linkcmds.brs5l +dist_project_lib_DATA += startup/linkcmds.ep5200 dist_project_lib_DATA += startup/linkcmds.pm520 noinst_PROGRAMS += bestcomm.rel @@ -51,7 +52,7 @@ bestcomm_rel_SOURCES = bestcomm/include/ppctypes.h \ bestcomm/task_api/bestcomm_api_mem.h bestcomm/task_api/bestcomm_cntrl.h \ bestcomm/task_api/tasksetup_bdtable.h \ bestcomm/task_api/tasksetup_general.h -bestcomm_rel_CPPFLAGS = $(AM_CPPFLAGS) +bestcomm_rel_CPPFLAGS = $(AM_CPPFLAGS) -DMPC5200_BAPI_LIBC_HEADERS bestcomm_rel_LDFLAGS = $(RTEMS_RELLDFLAGS) noinst_PROGRAMS += clock.rel @@ -111,7 +112,7 @@ include_bsp_HEADERS += vectors/vectors.h noinst_PROGRAMS += startup.rel startup_rel_SOURCES = ../../shared/bspclean.c ../../shared/bsplibc.c \ ../../shared/bsppost.c startup/bspstart.c ../../shared/bootcard.c \ - ../../shared/sbrk.c \ + ../../shared/sbrk.c ../shared/uboot_dump_bdinfo.c \ ../../shared/gnatinstallhandler.c startup/cpuinit.c start/start.S startup_rel_CPPFLAGS = $(AM_CPPFLAGS) startup_rel_LDFLAGS = $(RTEMS_RELLDFLAGS) diff --git a/c/src/lib/libbsp/powerpc/gen5200/clock/clock.c b/c/src/lib/libbsp/powerpc/gen5200/clock/clock.c index a02d76cfa3..a5d76f9e47 100644 --- a/c/src/lib/libbsp/powerpc/gen5200/clock/clock.c +++ b/c/src/lib/libbsp/powerpc/gen5200/clock/clock.c @@ -170,20 +170,19 @@ void mpc5200_init_gpt(uint32_t gpt_no) void mpc5200_set_gpt_count(uint32_t counter_value, uint32_t gpt_no) { uint32_t prescaler_value = 1; + uint32_t counter = counter_value; struct mpc5200_gpt *gpt = (struct mpc5200_gpt *)(&mpc5200.gpt[gpt_no]); /* Calculate counter/prescaler value, e.g. IPB_Clock=33MHz -> Int. every 0,3 nsecs. - 130 secs.*/ - while((counter_value >= (1 << 16)) && (prescaler_value < (1 << 16))) + while((counter >= (1 << 16)) && (prescaler_value < (1 << 16))) { - - prescaler_value++; - counter_value /= prescaler_value; - + prescaler_value++; + counter = counter_value / prescaler_value; } - counter_value = (uint16_t)counter_value; + counter = (uint16_t)counter; - gpt->count_in = (prescaler_value << 16) + counter_value; + gpt->count_in = (prescaler_value << 16) + counter; } diff --git a/c/src/lib/libbsp/powerpc/gen5200/console/console.c b/c/src/lib/libbsp/powerpc/gen5200/console/console.c index a2f66267c2..e6ebb56bfb 100644 --- a/c/src/lib/libbsp/powerpc/gen5200/console/console.c +++ b/c/src/lib/libbsp/powerpc/gen5200/console/console.c @@ -497,13 +497,13 @@ void mpc5200_uart_psc_initialize(int minor) { */ psc->tfalarm = 1; - baud_divider = IPB_CLOCK / (9600 * 32); + baud_divider = (IPB_CLOCK + GEN5200_CONSOLE_BAUD *16) / (GEN5200_CONSOLE_BAUD * 32); + /* * Set upper timer counter */ psc->ctur = baud_divider >> 16; - /* * Set lower timer counter */ diff --git a/c/src/lib/libbsp/powerpc/gen5200/include/bsp.h b/c/src/lib/libbsp/powerpc/gen5200/include/bsp.h index 607e8f2454..9e63101a19 100644 --- a/c/src/lib/libbsp/powerpc/gen5200/include/bsp.h +++ b/c/src/lib/libbsp/powerpc/gen5200/include/bsp.h @@ -90,6 +90,24 @@ #define MBAR 0xF0000000 #define HAS_UBOOT +#elif defined (ep5200) +/* + * Embedded Planet EP5200 -- should be the same as a Freescale 5200lite + * which is also known as the Ice Cube. In the RTEMS configuration, + * we load U-Boot on it instead of the default dBug. + */ + +#define HAS_UBOOT + +/* These are copied from PM520 but seem to work so OK */ +#define GPIOPCR_INITMASK 0x330F0F77 +#define GPIOPCR_INITVAL 0x01050444 + +/* we only have PSC1 */ +#define GEN5200_UART_AVAIL_MASK 0x01 + +#define MBAR 0xF0000000 + #else #error "board type not defined" #endif @@ -110,8 +128,10 @@ extern "C" { #include <bsp/vectors.h> #if defined(HAS_UBOOT) +/* This is the define U-Boot uses to configure which entries in the structure are valid */ #define CONFIG_MPC5xxx #include <u-boot.h> + extern bd_t *uboot_bdinfo_ptr; extern bd_t uboot_bdinfo_copy; #endif @@ -189,6 +209,7 @@ void bsp_cleanup(void); #define SINGLE_CHAR_MODE #define UARTS_USE_TERMIOS_INT 1 +/* #define SHOW_MORE_INIT_SETTINGS 1 */ /* ata modes */ /* #undef ATA_USE_INT */ @@ -205,6 +226,12 @@ void bsp_cleanup(void); #define G2_CLOCK 231000000 /* 231 MHz */ #endif +#if defined(HAS_UBOOT) +#define GEN5200_CONSOLE_BAUD (uboot_bdinfo_ptr->bi_baudrate) +#else +#define GEN5200_CONSOLE_BAUD 9600 +#endif + /* * Convert decrement value to tenths of microsecnds (used by * shared timer driver). diff --git a/c/src/lib/libbsp/powerpc/gen5200/include/mpc5200.h b/c/src/lib/libbsp/powerpc/gen5200/include/mpc5200.h index aaf37d60ee..4c415b3a78 100644 --- a/c/src/lib/libbsp/powerpc/gen5200/include/mpc5200.h +++ b/c/src/lib/libbsp/powerpc/gen5200/include/mpc5200.h @@ -699,7 +699,7 @@ typedef struct mpc5200_ #endif - /* + /* * programmable serial controller 1 (MBAR + 0x2000) */ diff --git a/c/src/lib/libbsp/powerpc/gen5200/preinstall.am b/c/src/lib/libbsp/powerpc/gen5200/preinstall.am index 484a3484fe..0df2cff383 100644 --- a/c/src/lib/libbsp/powerpc/gen5200/preinstall.am +++ b/c/src/lib/libbsp/powerpc/gen5200/preinstall.am @@ -85,6 +85,10 @@ $(PROJECT_LIB)/linkcmds.brs5l: startup/linkcmds.brs5l $(PROJECT_LIB)/$(dirstamp) $(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds.brs5l PREINSTALL_FILES += $(PROJECT_LIB)/linkcmds.brs5l +$(PROJECT_LIB)/linkcmds.ep5200: startup/linkcmds.ep5200 $(PROJECT_LIB)/$(dirstamp) + $(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds.ep5200 +PREINSTALL_FILES += $(PROJECT_LIB)/linkcmds.ep5200 + $(PROJECT_LIB)/linkcmds.pm520: startup/linkcmds.pm520 $(PROJECT_LIB)/$(dirstamp) $(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds.pm520 PREINSTALL_FILES += $(PROJECT_LIB)/linkcmds.pm520 diff --git a/c/src/lib/libbsp/powerpc/gen5200/startup/bspstart.c b/c/src/lib/libbsp/powerpc/gen5200/startup/bspstart.c index 94dff27ec3..380bf42110 100644 --- a/c/src/lib/libbsp/powerpc/gen5200/startup/bspstart.c +++ b/c/src/lib/libbsp/powerpc/gen5200/startup/bspstart.c @@ -244,8 +244,6 @@ void bsp_predriver_hook(void) #endif } - - void bsp_start(void) { extern void *_WorkspaceBase; @@ -257,13 +255,21 @@ void bsp_start(void) * Get CPU identification dynamically. Note that the get_ppc_cpu_type() function * store the result in global variables so that it can be used latter... */ - myCpu = get_ppc_cpu_type(); + myCpu = get_ppc_cpu_type(); myCpuRevision = get_ppc_cpu_revision(); #if defined(HAS_UBOOT) uboot_bdinfo_copy = *uboot_bdinfo_ptr; uboot_bdinfo_ptr = &uboot_bdinfo_copy; #endif + +#if defined(HAS_UBOOT) && defined(SHOW_MORE_INIT_SETTINGS) + { + void dumpUBootBDInfo( bd_t * ); + dumpUBootBDInfo( uboot_bdinfo_ptr ); + } +#endif + cpu_init(); /* diff --git a/c/src/lib/libbsp/powerpc/gen5200/startup/linkcmds.icecube b/c/src/lib/libbsp/powerpc/gen5200/startup/linkcmds.icecube new file mode 100644 index 0000000000..efebe0a38c --- /dev/null +++ b/c/src/lib/libbsp/powerpc/gen5200/startup/linkcmds.icecube @@ -0,0 +1,348 @@ +/* + * This file contains directives for the GNU linker which are specific + * to a MicroSys PM520 Board + * + * linkcmds,v 1.3 2003/01/20 19:53:27 joel Exp + */ + +OUTPUT_FORMAT("elf32-powerpc", "elf32-powerpc", + "elf32-powerpc") +OUTPUT_ARCH(powerpc) + +ENTRY(start) + +/* + * Declare some sizes. + * XXX: The assignment of ". += XyzSize;" fails in older gld's if the + * number used there is not constant. If this happens to you, edit + * the lines marked XXX below to use a constant value. + */ +HeapSize = DEFINED(HeapSize) ? HeapSize : 0x100000; /* 1M Heap */ +StackSize = DEFINED(StackSize) ? StackSize : 0x80000; /* 512 kB */ +WorkSpaceSize = DEFINED(WorkSpaceSize) ? WorkSpaceSize : 0x80000; /* 512k */ +RamDiskSize = DEFINED(RamDiskSize) ? RamDiskSize : 0x80000; /* 512 ram disk */ + +MEMORY + { + ram : org = 0x0, l = 128M + mpc5200_regs : org = 0xF0000000, l = 24K + flash : org = 0xFFE00000, l = 2M + } + + +SECTIONS +{ + +/* + .vectors 0x100 : + { + *(.vectors) + } + > ram +*/ + + /* + * The stack will live in this area - between the vectors and + * the text section. + */ + + .text 0x40000: + { + _textbase = .; + + + text.start = .; + + /* Entry point is the .entry section */ + *(.entry) + *(.entry2) + + /* Actual Code */ + *(.text*) + + + *(.rodata*) + *(.rodata1) + + + /* + * Special FreeBSD sysctl sections. + */ + . = ALIGN (16); + __start_set_sysctl_set = .; + *(set_sysctl_*); + __stop_set_sysctl_set = ABSOLUTE(.); + *(set_domain_*); + *(set_pseudo_*); + + /* C++ constructors/destructors */ + *(.gnu.linkonce.t*) + + /* Initialization and finalization code. + * + * Various files can provide initialization and finalization functions. + * The bodies of these functions are in .init and .fini sections. We + * accumulate the bodies here, and prepend function prologues from + * ecrti.o and function epilogues from ecrtn.o. ecrti.o must be linked + * first; ecrtn.o must be linked last. Because these are wildcards, it + * doesn't matter if the user does not actually link against ecrti.o and + * ecrtn.o; the linker won't look for a file to match a wildcard. The + * wildcard also means that it doesn't matter which directory ecrti.o + * and ecrtn.o are in. + */ + PROVIDE (_init = .); + *ecrti.o(.init) + *(.init) + *ecrtn.o(.init) + + PROVIDE (_fini = .); + *ecrti.o(.fini) + *(.fini) + *ecrtn.o(.init) + + /* + * C++ constructors and destructors for static objects. + * PowerPC EABI does not use crtstuff yet, so we build "old-style" + * constructor and destructor lists that begin with the list lenght + * end terminate with a NULL entry. + */ + + PROVIDE (__CTOR_LIST__ = .); + /* LONG((__CTOR_END__ - __CTOR_LIST__) / 4 - 2) */ + *crtbegin.o(.ctors) + *(.ctors) + *crtend.o(.ctors) + LONG(0) + PROVIDE (__CTOR_END__ = .); + + PROVIDE (__DTOR_LIST__ = .); + /* LONG((__DTOR_END__ - __DTOR_LIST__) / 4 - 2) */ + *crtbegin.o(.dtors) + *(.dtors) + *crtend.o(.dtors) + LONG(0) + PROVIDE (__DTOR_END__ = .); + + /* Exception frame info */ + *(.eh_frame) + + /* Miscellaneous read-only data */ + _rodata_start = . ; + *(.gnu.linkonce.r*) + *(.lit) + *(.shdata) + *(.rodata) + *(.rodata1) + *(.descriptors) + *(rom_ver) + _erodata = .; + + + /* Various possible names for the end of the .text section */ + etext = ALIGN(0x10); + _etext = .; + _endtext = .; + text.end = .; + PROVIDE (etext = .); + PROVIDE (__etext = .); + + } > ram + + + PROVIDE (__EXCEPT_START__ = .); + .gcc_except_table : { *(.gcc_except_table) } >ram + PROVIDE (__EXCEPT_END__ = .); + __GOT_START__ = .; + .got : + { + s.got = .; + *(.got.plt) *(.got) + } > ram + __GOT_END__ = .; + + .got1 : { *(.got1) } >ram + PROVIDE (__GOT2_START__ = .); + PROVIDE (_GOT2_START_ = .); + .got2 : { *(.got2) } >ram + PROVIDE (__GOT2_END__ = .); + PROVIDE (_GOT2_END_ = .); + + PROVIDE (__FIXUP_START__ = .); + PROVIDE (_FIXUP_START_ = .); + .fixup : { *(.fixup) } >ram + PROVIDE (_FIXUP_END_ = .); + PROVIDE (__FIXUP_END__ = .); + + .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 + + PROVIDE (__SDATA2_START__ = .); + .sdata2 : { *(.sdata2) *(.gnu.linkonce.s2.*) } >ram + .sbss2 : { *(.sbss2) *(.gnu.linkonce.sb2.*) } >ram + PROVIDE (__SBSS2_END__ = .); + + .sbss2 : { *(.sbss2) } >ram + PROVIDE (__SBSS2_END__ = .); + + __SBSS_START__ = .; + .bss : + { + bss.start = .; + *(.bss .bss* .gnu.linkonce.b*) + *(.sbss*) *(COMMON) + . = ALIGN(4); + bss.end = .; + } > ram + __SBSS_END__ = .; + + + + + + /* R/W Data */ + .data ( . ) : + { + . = ALIGN (4); + + data.start = .; + + *(.data) + *(.data.rel.*) + *(.data1) + *(.data.* .gnu.linkonce.d.*) + PROVIDE (__SDATA_START__ = .); + *(.sdata*) + *(.gnu.linkonce.s.*) + data.end = .; + } > ram + + data.size = data.end - data.start; + bss.size = bss.end - bss.start; + text.size = text.end - text.start; + + PROVIDE(_bss_start = ADDR(.bss)); + PROVIDE(_bss_size = SIZEOF(.bss)); + PROVIDE(_data_start = ADDR(.data)); + PROVIDE(_data_size = SIZEOF(.data)); + PROVIDE(_text_start = ADDR(.text)); + PROVIDE(_text_size = SIZEOF(.text)); + PROVIDE(_end = data.end); + + .gzipmalloc : { + . = ALIGN (16); + _startmalloc = .; + } >ram + + + /* + * Interrupt stack setup + */ + IntrStack_start = ALIGN(0x10); + . += 0x4000; + intrStack = .; + PROVIDE(intrStackPtr = intrStack); + + + + _WorkspaceBase = .; + __WorkspaceBase = .; + . += WorkSpaceSize; + + _RamDiskBase = .; + __RamDiskBase = .; + . += RamDiskSize; + _RamDiskEnd = .; + __RamDiskEnd = .; + PROVIDE( _RamDiskSize = _RamDiskEnd - _RamDiskBase ); + + _HeapStart = .; + __HeapStart = .; + . += HeapSize; + _HeapEnd = .; + __HeapEnd = .; + + clear_end = .; + + /* Sections for compressed .text and .data */ + /* after the .datarom section is an int specifying */ + /* the length of the following compressed image */ + /* Executes once then could get overwritten */ + .textrom 0x100000 : + { + *(.textrom) + _endloader = .; + } > ram + + .datarom : + { + _dr_start = .; + *(.datarom) + _dr_end = .; + } > ram + dr_len = _dr_end - _dr_start; + + mpc5200_regs : + { + MBAR = .; + mpc5200 = .; + _mpc5200 = .; + . += (0x6000); + } > mpc5200_regs + + + /* the reset vector is at 0xfff00000 which is */ + /* located at offset 0x400000 from the base */ + /* of flash */ + .bootrom 0xFFE00000 : + { + *(.bootrom) + _endboot = .; + } > flash + + + .line 0 : { *(.line) } + .debug 0 : { *(.debug) } + .debug_sfnames 0 : { *(.debug_sfnames) } + .debug_srcinfo 0 : { *(.debug_srcinfo) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } + .debug_aregion 0 : { *(.debug_aregion) } + .debug_macinfo 0 : { *(.debug_macinfo) } + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } +} diff --git a/c/src/lib/libbsp/powerpc/gen5200/vectors/vectors.S b/c/src/lib/libbsp/powerpc/gen5200/vectors/vectors.S index 2d5697cd32..14b22fdc42 100644 --- a/c/src/lib/libbsp/powerpc/gen5200/vectors/vectors.S +++ b/c/src/lib/libbsp/powerpc/gen5200/vectors/vectors.S @@ -66,6 +66,7 @@ /***********************************************************************/ #include <rtems/asm.h> +#include <bspopts.h> #include <rtems/score/cpu.h> #include "vectors.h" @@ -197,6 +198,7 @@ SYM (push_normalized_frame): SYNC rfi +#if !defined(ep5200) .section .vectors,"awx",@progbits PUBLIC_VAR (__vectors) @@ -261,4 +263,4 @@ __vecf: b __vecf .rep 63+1024 .long 0x04000400 .endr - +#endif |