- Timestamp:
- 01/12/00 16:38:56 (23 years ago)
- Branches:
- 4.10, 4.11, 4.8, 4.9, 5, master
- Children:
- b2b4835
- Parents:
- 1e194112
- Location:
- c/src/lib/libbsp
- Files:
-
- 31 added
- 24 deleted
- 21 edited
Legend:
- Unmodified
- Added
- Removed
-
c/src/lib/libbsp/i386/pc386/Makefile.am
r1e194112 r69537ca9 6 6 ACLOCAL_AMFLAGS = -I $(RTEMS_TOPdir)/aclocal 7 7 8 if HAS_NETWORKING9 # We only build the Network library if HAS_NETWORKING was defined10 # dec21140 is supported via libchip11 NETWORK = ne2000 wd8003 3c50912 endif13 14 8 # wrapup is the one that actually builds and installs the library 15 9 # from the individual .rel files built in other directories 16 SUBDIRS = . include tools start startup clock console timer $(NETWORK) wrapup 10 SUBDIRS = . include tools start startup clock console timer ne2000 wd8003 \ 11 3c509 wrapup 17 12 18 13 include $(top_srcdir)/../../bsp.am 14 15 $(PROJECT_RELEASE)/BootImgs: 16 $(mkinstalldirs) $@ 17 18 TMPINSTALL_FILES += $(PROJECT_RELEASE)/BootImgs 19 19 20 20 EXTRA_DIST = HOWTO README.dec21140 STATUS bsp_specs times_i486dx times_p5 -
c/src/lib/libbsp/i386/pc386/start/start16.S
r1e194112 r69537ca9 17 17 | This file is provided "AS IS" without warranty of any kind, either 18 18 | expressed or implied. 19 +--------------------------------------------------------------------------+20 | This code is partly based on (from the Linux source tree):21 | video.S - Copyright (C) 1995, 1996 Martin Mares <mj@k332.feld.cvut.cz>22 19 +--------------------------------------------------------------------------*/ 23 20 -
c/src/lib/libbsp/i386/pc386/startup/ldsegs.S
r1e194112 r69537ca9 34 34 | 35 35 | $Id$ 36 |37 | Also based on (from the Linux source tree):38 | setup.S - Copyright (C) 1991, 1992 Linus Torvalds39 36 +--------------------------------------------------------------------------*/ 40 37 -
c/src/lib/libbsp/i386/ts_386ex/Makefile.am
r1e194112 r69537ca9 6 6 ACLOCAL_AMFLAGS = -I $(RTEMS_TOPdir)/aclocal 7 7 8 if HAS_NETWORKING9 # We only build the Network library if HAS_NETWORKING was defined10 NETWORK = network11 endif12 13 8 # wrapup is the one that actually builds and installs the library 14 9 # from the individual .rel files built in other directories 15 SUBDIRS = . include tools start startup clock console timer $(NETWORK)wrapup10 SUBDIRS = . include tools start startup clock console timer network wrapup 16 11 17 12 include $(top_srcdir)/../../bsp.am -
c/src/lib/libbsp/i386/ts_386ex/tools/Makefile.am
r1e194112 r69537ca9 7 7 8 8 noinst_SCRIPTS = \ 9 coff2bin 9 coff2bin \ 10 elf2exe 10 11 11 12 SUBDIRS = \ 12 13 ts_1325_ada \ 14 network_ada \ 15 debug_ada \ 16 debug_c \ 13 17 dos_sup 14 18 -
c/src/lib/libbsp/i386/ts_386ex/tools/configure.in
r1e194112 r69537ca9 19 19 dos_sup/Makefile 20 20 ts_1325_ada/Makefile 21 debug_ada/Makefile 22 debug_c/Makefile 23 network_ada/Makefile 24 network_ada/adasockets/Makefile 25 network_ada/listener/Makefile 26 network_ada/tcprelay/Makefile 27 ts_1325_ada/Makefile 21 28 ) -
c/src/lib/libbsp/m68k/dmv152/startup/bspstart.c
r1e194112 r69537ca9 57 57 void bsp_pretasking_hook(void) 58 58 { 59 extern int end;60 rtems_unsigned32 heap_start;59 extern void *_HeapStart; 60 extern rtems_unsigned32 _HeapSize; 61 61 62 heap_start = (rtems_unsigned32) &end; 63 if (heap_start & (CPU_ALIGNMENT-1)) 64 heap_start = (heap_start + CPU_ALIGNMENT) & ~(CPU_ALIGNMENT-1); 65 66 bsp_libc_init((void *) heap_start, 64 * 1024, 0); 62 bsp_libc_init( &_HeapStart, _HeapSize, 0 ); 67 63 68 64 #ifdef RTEMS_DEBUG -
c/src/lib/libbsp/m68k/efi332/include/bsp.h
r1e194112 r69537ca9 73 73 /* externals */ 74 74 75 extern char _e ndtext[];76 extern char _ sdata[];75 extern char _etext[]; 76 extern char _copy_start[]; 77 77 extern char _edata[]; 78 extern char _ _bss_start[];79 extern char _end[];78 extern char _bss_start[]; 79 extern char end[]; 80 80 extern char _copy_data_from_rom[]; 81 81 extern char __end_of_ram[]; -
c/src/lib/libbsp/m68k/efi332/start/start.c
r1e194112 r69537ca9 32 32 moveal #M68Kvec, %a0; 33 33 movec %a0, %vbr; 34 movel # _end, %d0;34 movel #end, %d0; 35 35 addl " STACK_SIZE ",%d0; 36 36 movel %d0,%sp; … … 199 199 */ 200 200 { 201 register char *src = _e ndtext;202 register char *dst = _ sdata;201 register char *src = _etext; 202 register char *dst = _copy_start; 203 203 204 204 if (_copy_data_from_rom) … … 208 208 209 209 /* Zero bss */ 210 for (dst = _ _bss_start; dst< _end; dst++)210 for (dst = _bss_start; dst< end; dst++) 211 211 *dst = 0; 212 212 } -
c/src/lib/libbsp/m68k/efi68k/include/bsp.h
r1e194112 r69537ca9 73 73 /* externals */ 74 74 75 extern char _e ndtext[];76 extern char _ sdata[];75 extern char _etext[]; 76 extern char _copy_start[]; 77 77 extern char _edata[]; 78 extern char _ _bss_start[];79 extern char _end[];78 extern char _bss_start[]; 79 extern char end[]; 80 80 extern char _copy_data_from_rom[]; 81 81 extern char __end_of_ram[]; -
c/src/lib/libbsp/m68k/efi68k/start/start.c
r1e194112 r69537ca9 31 31 /* disable interrupts, load stack pointer */ 32 32 asm volatile ( "oriw #0x0700, %sr; 33 movel # _end, %d0;33 movel #end, %d0; 34 34 addl " STACK_SIZE ",%d0; 35 35 movel %d0,%sp; … … 41 41 */ 42 42 { 43 register char *src = _e ndtext;44 register char *dst = _ sdata;43 register char *src = _etext; 44 register char *dst = _copy_start; 45 45 46 46 if (_copy_data_from_rom) … … 50 50 51 51 /* Zero bss */ 52 for (dst = _ _bss_start; dst< _end; dst++)52 for (dst = _bss_start; dst< end; dst++) 53 53 *dst = 0; 54 54 } -
c/src/lib/libbsp/m68k/gen68302/start/start.S
r1e194112 r69537ca9 198 198 | 199 199 zerobss: 200 moveal # SYM ( end),a0 | find end of .bss201 moveal # SYM ( bss_start),a1 | find beginning of .bss200 moveal # SYM (_end),a0 | find end of .bss 201 moveal # SYM (_bss_start),a1 | find beginning of .bss 202 202 moveq #0,d0 203 203 … … 206 206 jlt loop | loop until _end reached 207 207 208 movel # SYM ( end),d0 | d0 = end of bss/start of heap208 movel # SYM (_end),d0 | d0 = end of bss/start of heap 209 209 addl # SYM (heap_size),d0 | d0 = end of heap 210 210 movel d0, SYM (stack_start) | Save for brk() routine -
c/src/lib/libbsp/m68k/gen68302/startup/bspstart.c
r1e194112 r69537ca9 57 57 void bsp_pretasking_hook(void) 58 58 { 59 extern int end;59 extern int _end; 60 60 rtems_unsigned32 heap_start; 61 61 62 heap_start = (rtems_unsigned32) & end;62 heap_start = (rtems_unsigned32) &_end; 63 63 if (heap_start & (CPU_ALIGNMENT-1)) 64 64 heap_start = (heap_start + CPU_ALIGNMENT) & ~(CPU_ALIGNMENT-1); -
c/src/lib/libbsp/m68k/gen68340/start/start.S
r1e194112 r69537ca9 502 502 /* -- copy to address of the 68349 initialization code -- */ 503 503 504 lea.l _copy_start (%pc),crt0_ptr3505 lea.l _copy_end (%pc),crt0_ptr4504 lea.l _copy_start_code(%pc),crt0_ptr3 505 lea.l _copy_end_code(%pc),crt0_ptr4 506 506 move.l crt0_ptr4,crt0_temp 507 507 sub.l crt0_ptr3,crt0_temp … … 519 519 /* -- start of initialization code -- */ 520 520 521 _copy_start :521 _copy_start_code: 522 522 bra.l _begin_68349_init 523 523 … … 710 710 jmp.l (_fill_test) | must be absolute long 711 711 712 _copy_end :712 _copy_end_code: 713 713 714 714 /*------------------------------------------------- … … 813 813 PUBLIC (_CopyDataClearBSSAndStart) 814 814 SYM(_CopyDataClearBSSAndStart): 815 lea copy_start,a0| Get start of DATA in RAM816 lea SYM( etext),a2 | Get start of DATA in ROM815 lea SYM(_copy_start),a0 | Get start of DATA in RAM 816 lea SYM(_etext),a2 | Get start of DATA in ROM 817 817 cmpl a0,a2 | Are they the same? 818 818 beq.s NOCOPY | Yes, no copy necessary 819 lea copy_end,a1| Get end of DATA in RAM819 lea SYM(_copy_end),a1 | Get end of DATA in RAM 820 820 bra.s COPYLOOPTEST | Branch into copy loop 821 821 COPYLOOP: … … 826 826 NOCOPY: 827 827 828 lea clear_start,a0 | Get start of BSS829 lea clear_end,a1 | Get end of BSS828 lea _clear_start,a0 | Get start of BSS 829 lea _clear_end,a1 | Get end of BSS 830 830 clrl d0 | Value to set 831 831 bra.s ZEROLOOPTEST | Branch into clear loop … … 836 836 bcs.s ZEROLOOP | No, skip 837 837 838 movel # stack_init,a7 | set master stack pointer838 movel #_stack_init,a7 | set master stack pointer 839 839 movel d0,a7@- | environp 840 840 movel d0,a7@- | argv -
c/src/lib/libbsp/m68k/gen68360/start/start.S
r1e194112 r69537ca9 395 395 bcs.s ZEROLOOP | No, skip 396 396 397 movel # stack_init,a7 | set master stack pointer397 movel #_stack_init,a7 | set master stack pointer 398 398 pea env | envp 399 399 pea arg | argv -
c/src/lib/libbsp/m68k/gen68360/startup/Makefile.in
r1e194112 r69537ca9 43 43 # 44 44 45 DEFINES += 45 DEFINES += -DUSE_INIT_FINI 46 46 CPPFLAGS += 47 47 CFLAGS += -
c/src/lib/libbsp/m68k/gen68360/startup/linkcmds.bootp
r1e194112 r69537ca9 1 1 /* 2 2 * This file contains GNU linker directives for a generic MC68360 board. 3 * Variations in hardware type and dynamic memory size can be made4 * byoverriding some values with linker command-line arguments.3 * Variations in memory size and allocation can be made by 4 * overriding some values with linker command-line arguments. 5 5 * 6 * These linker directives are for producing a PROM version.6 * These linker directives are for producing a bootstrap PROM version. 7 7 * The data segment is placed at the end of the text segment in the PROM. 8 8 * The start-up code takes care of copying this region to RAM. … … 12 12 * Saskatoon, Saskatchewan, CANADA 13 13 * eric@skatter.usask.ca 14 * 14 * 15 15 * $Id$ 16 16 */ … … 18 18 /* 19 19 * Declare some sizes. 20 * XXX: The assignment of ". += XyzSize;" fails in older gld's if the21 * number used there is not constant. If this happens to you, edit22 * the lines marked XXX below to use a constant value.23 20 */ 24 21 HeapSize = DEFINED(HeapSize) ? HeapSize : 0x10000; … … 44 41 rom : { 45 42 _RomBase = .; 46 __RomBase = .;47 43 } >rom 48 44 … … 52 48 ram : { 53 49 _RamBase = .; 54 __RamBase = .;55 50 } >ram 56 51 … … 58 53 * Text, data and bss segments 59 54 */ 60 .text : AT (0x00000000) { 61 CREATE_OBJECT_SYMBOLS 55 .text : AT(0x0) { 62 56 *(.text) 63 . = ALIGN (16);64 65 *(.eh_fram)66 . = ALIGN (16);67 57 68 58 /* 69 * C++ constructors 59 * C++ constructors/destructors 70 60 */ 71 __CTOR_LIST__ = .; 72 LONG((__CTOR_END__ - __CTOR_LIST__) / 4 - 2) 61 *(.gnu.linkonce.t.*) 62 63 /* 64 * Initialization and finalization code. 65 */ 66 PROVIDE (_init = .); 67 *crti.o(.init) 68 *(.init) 69 *crtn.o(.init) 70 PROVIDE (_fini = .); 71 *crti.o(.fini) 72 *(.fini) 73 *crtn.o(.fini) 74 75 /* 76 * C++ constructors/destructors 77 */ 78 . = ALIGN (16); 79 *crtbegin.o(.ctors) 73 80 *(.ctors) 74 LONG(0) 75 __CTOR_END__ = .; 76 __DTOR_LIST__ = .; 77 LONG((__DTOR_END__ - __DTOR_LIST__) / 4 - 2) 81 *crtend.o(.ctors) 82 *crtbegin.o(.dtors) 78 83 *(.dtors) 79 LONG(0) 80 __DTOR_END__ = .; 84 *crtend.o(.dtors) 81 85 82 . = ALIGN (16); 86 /* 87 * Exception frame info 88 */ 89 . = ALIGN (16); 90 *(.eh_frame) 83 91 84 etext = .; 85 _etext = .; 86 } >rom 92 /* 93 * Read-only data 94 */ 95 . = ALIGN (16); 96 _rodata_start = . ; 97 *(.rodata) 98 *(.gnu.linkonce.r*) 99 100 . = ALIGN (16); 101 PROVIDE (etext = .); 102 } >rom 87 103 .data : AT(SIZEOF(.text)) { 88 104 copy_start = .; 89 105 *(.data) 106 *(.gnu.linkonce.d*) 107 *(.gcc_except_table) 90 108 . = ALIGN (16); 91 _edata = .;109 PROVIDE (_edata = .); 92 110 copy_end = .; 93 111 } >myram … … 100 118 *(COMMON) 101 119 . = ALIGN (16); 102 _end = .;120 PROVIDE (end = .); 103 121 104 122 _HeapStart = .; 105 __HeapStart = .; 106 . += HeapSize; /* XXX -- Old gld can't handle this */ 107 . += StackSize; /* XXX -- Old gld can't handle this */ 108 /* . += 0x10000; */ /* HeapSize for old gld */ 109 /* . += 0x1000; */ /* StackSize for old gld */ 123 . += HeapSize; 124 . += StackSize; 110 125 . = ALIGN (16); 111 126 stack_init = .; … … 113 128 114 129 _WorkspaceBase = .; 115 __WorkspaceBase = .;116 130 } >myram 117 131 -
c/src/lib/libbsp/m68k/gen68360/startup/linkcmds.prom
r1e194112 r69537ca9 1 1 /* 2 2 * This file contains GNU linker directives for a generic MC68360 board. 3 * Variations in hardware type and dynamic memory size can be made4 * byoverriding some values with linker command-line arguments.3 * Variations in memory size and allocation can be made by 4 * overriding some values with linker command-line arguments. 5 5 * 6 6 * These linker directives are for producing a PROM version. … … 12 12 * Saskatoon, Saskatchewan, CANADA 13 13 * eric@skatter.usask.ca 14 * 14 * 15 15 * $Id$ 16 16 */ … … 18 18 /* 19 19 * Declare some sizes. 20 * XXX: The assignment of ". += XyzSize;" fails in older gld's if the21 * number used there is not constant. If this happens to you, edit22 * the lines marked XXX below to use a constant value.23 20 */ 24 21 HeapSize = DEFINED(HeapSize) ? HeapSize : 0x10000; … … 43 40 rom : { 44 41 _RomBase = .; 45 __RomBase = .;46 42 } >rom 47 43 … … 51 47 ram : { 52 48 _RamBase = .; 53 __RamBase = .;54 49 } >ram 55 50 … … 57 52 * Text, data and bss segments 58 53 */ 59 .text : AT (0x00000000) { 60 CREATE_OBJECT_SYMBOLS 54 .text : AT(0x0) { 61 55 *(.text) 62 . = ALIGN (16);63 64 *(.eh_fram)65 . = ALIGN (16);66 56 67 57 /* 68 * C++ constructors 58 * C++ constructors/destructors 69 59 */ 70 __CTOR_LIST__ = .; 71 LONG((__CTOR_END__ - __CTOR_LIST__) / 4 - 2) 60 *(.gnu.linkonce.t.*) 61 62 /* 63 * Initialization and finalization code. 64 */ 65 PROVIDE (_init = .); 66 *crti.o(.init) 67 *(.init) 68 *crtn.o(.init) 69 PROVIDE (_fini = .); 70 *crti.o(.fini) 71 *(.fini) 72 *crtn.o(.fini) 73 74 /* 75 * C++ constructors/destructors 76 */ 77 . = ALIGN (16); 78 *crtbegin.o(.ctors) 72 79 *(.ctors) 73 LONG(0) 74 __CTOR_END__ = .; 75 __DTOR_LIST__ = .; 76 LONG((__DTOR_END__ - __DTOR_LIST__) / 4 - 2) 80 *crtend.o(.ctors) 81 *crtbegin.o(.dtors) 77 82 *(.dtors) 78 LONG(0) 79 __DTOR_END__ = .; 83 *crtend.o(.dtors) 80 84 81 . = ALIGN (16); 85 /* 86 * Exception frame info 87 */ 88 . = ALIGN (16); 89 *(.eh_frame) 82 90 83 etext = .; 84 _etext = .; 85 } >rom 91 /* 92 * Read-only data 93 */ 94 . = ALIGN (16); 95 _rodata_start = . ; 96 *(.rodata) 97 *(.gnu.linkonce.r*) 98 99 . = ALIGN (16); 100 PROVIDE (etext = .); 101 } >rom 86 102 .data : AT(SIZEOF(.text)) { 87 103 copy_start = .; 88 104 *(.data) 105 *(.gnu.linkonce.d*) 106 *(.gcc_except_table) 89 107 . = ALIGN (16); 90 _edata = .;108 PROVIDE (_edata = .); 91 109 copy_end = .; 92 110 } >ram … … 99 117 *(COMMON) 100 118 . = ALIGN (16); 101 _end = .;119 PROVIDE (end = .); 102 120 103 121 _HeapStart = .; 104 __HeapStart = .; 105 . += HeapSize; /* XXX -- Old gld can't handle this */ 106 . += StackSize; /* XXX -- Old gld can't handle this */ 107 /* . += 0x10000; */ /* HeapSize for old gld */ 108 /* . += 0x1000; */ /* StackSize for old gld */ 122 . += HeapSize; 123 . += StackSize; 109 124 . = ALIGN (16); 110 125 stack_init = .; … … 112 127 113 128 _WorkspaceBase = .; 114 __WorkspaceBase = .;115 129 } >ram 116 130 -
c/src/lib/libbsp/m68k/idp/startup/bspstart.c
r1e194112 r69537ca9 64 64 void bsp_pretasking_hook(void) 65 65 { 66 extern int end;66 extern int _end; 67 67 rtems_unsigned32 heap_start; 68 68 69 heap_start = (rtems_unsigned32) & end;69 heap_start = (rtems_unsigned32) &_end; 70 70 if (heap_start & (CPU_ALIGNMENT-1)) 71 71 heap_start = (heap_start + CPU_ALIGNMENT) & ~(CPU_ALIGNMENT-1); -
c/src/lib/libbsp/m68k/ods68302/start/reset.S
r1e194112 r69537ca9 439 439 440 440 copy_data: 441 moveal # etext,%a0| find the end of .text442 moveal # data_start,%a1| find the beginning of .data443 moveal # edata,%a2| find the end of .data441 moveal #_etext,%a0 | find the end of .text 442 moveal #_copy_start,%a1 | find the beginning of .data 443 moveal #_edata,%a2 | find the end of .data 444 444 445 445 copy_data_loop: … … 455 455 zerobss: 456 456 moveal #end,%a0 | find end of .bss 457 moveal # bss_start,%a1| find beginning of .bss457 moveal #_bss_start,%a1 | find beginning of .bss 458 458 moveq #0,%d0 459 459 -
c/src/lib/libbsp/m68k/shared/start.S
r1e194112 r69537ca9 69 69 | 70 70 zerobss: 71 moveal # SYM (end),a0 72 moveal # SYM ( bss_start),a1| find beginning of .bss71 moveal # SYM (end),a0 | find end of .bss 72 moveal # SYM (_bss_start),a1 | find beginning of .bss 73 73 movel #0,d0 74 74 … … 77 77 jlt loop | loop until _end reached 78 78 79 movel # SYM ( stack_init),d0| d0 = stop of stack79 movel # SYM (_stack_init),d0 | d0 = stop of stack 80 80 andl #0xffffffc0,d0 | align it on 16 byte boundary 81 81 movw #0x3700,sr | SUPV MODE,INTERRUPTS OFF!!!
Note: See TracChangeset
for help on using the changeset viewer.