From df49c60c9671e4a28e636964d744c1f59fb6cb68 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Mon, 12 Jun 2000 15:00:15 +0000 Subject: Merged from 4.5.0-beta3a --- c/src/lib/libbsp/m68k/shared/m68kpretaskinghook.c | 7 +++++-- c/src/lib/libbsp/m68k/shared/start.S | 15 +++++++++------ 2 files changed, 14 insertions(+), 8 deletions(-) (limited to 'c/src/lib/libbsp/m68k/shared') diff --git a/c/src/lib/libbsp/m68k/shared/m68kpretaskinghook.c b/c/src/lib/libbsp/m68k/shared/m68kpretaskinghook.c index b81acbb6cf..3856d8a3c0 100644 --- a/c/src/lib/libbsp/m68k/shared/m68kpretaskinghook.c +++ b/c/src/lib/libbsp/m68k/shared/m68kpretaskinghook.c @@ -34,10 +34,13 @@ extern void bsp_libc_init( void *, unsigned long, int ); extern rtems_configuration_table BSP_Configuration; -extern unsigned long _RamSize; +extern void *_RamBase; extern void *_WorkspaceBase; extern void *_HeapSize; + +unsigned long _M68k_Ramsize; + void bsp_pretasking_hook(void) { void *heapStart; @@ -46,7 +49,7 @@ void bsp_pretasking_hook(void) heapStart = (void *) ((unsigned long)&_WorkspaceBase + BSP_Configuration.work_space_size); - ramSpace = _RamSize - (unsigned long) heapStart; + ramSpace = (unsigned long) &_RamBase + _M68k_Ramsize - (unsigned long) heapStart; if (heapSize == 0) heapSize = ramSpace; diff --git a/c/src/lib/libbsp/m68k/shared/start.S b/c/src/lib/libbsp/m68k/shared/start.S index 4c9372e735..8a2273d2cc 100644 --- a/c/src/lib/libbsp/m68k/shared/start.S +++ b/c/src/lib/libbsp/m68k/shared/start.S @@ -91,8 +91,8 @@ loop: movel #0,a1@+ | to zero out uninitialized lea SYM (hiintstack),a0 | a0 = high end of intr stack movec a0,isp | set interrupt stack #endif - movel #0,a7@- | push environp - movel #0,a7@- | push argv + pea env | push environp + pea arg | push argv movel #0,a7@- | push argc jsr SYM (boot_card) @@ -115,6 +115,11 @@ END_CODE BEGIN_DATA + PUBLIC (environ) + .align 2 +SYM (environ): + .long env + PUBLIC (start_frame) SYM (start_frame): .space 4,0 @@ -123,10 +128,8 @@ END_DATA BEGIN_BSS - PUBLIC (environ) - .align 2 -SYM (environ): - .long 0 +env: .long 0 +arg: .long 0 PUBLIC (initial_isp) SYM (initial_isp): -- cgit v1.2.3