diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 1998-05-20 17:06:57 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 1998-05-20 17:06:57 +0000 |
commit | 2efdd08b402f42579548349e62c73c9fe999bc98 (patch) | |
tree | 28856228b02ded770e9e81a935e13ec7cb6bf07c /c/src/lib/libbsp/i386/pc386/start | |
parent | Some patches in place from Brian Stevens which help the Solaris port (diff) | |
download | rtems-2efdd08b402f42579548349e62c73c9fe999bc98.tar.bz2 |
Patch from Ralf Corseipus to fix latent configure problems suddenly triggered:
The breakdown:
* CC_FOR_TARGET and CXX_FOR_TARGET were not correctly re-read
from autoconf's configuration cache (config.cache)
* If <target>-[gcc|g++] was not found while running configure,
the config macros tried to use other (wrong) compilers (e.g. cc).
Changes:
* New RTEMS_PROG_CC macro (aclocal/prog-cc.m4).
* New RTEMS_PROG_CXX macro (aclocal/prog-cxx.m4)
* Moved a shell script fragment from configure.in to a
new m4-autoconf macro (New file: aclocal/tool-prefix.m4)
* Minor changes to configure.in
I tested it with linux/posix (native gcc/primary libc) and
sh-rtems/gensh1 on a linux host and didn't notice any bugs
related to the problems mentioned above. There seem to be
more bugs with the posix bsp, but I consider them minor as
the build run completed successfully. It is just too late
for me to attempt to fix them now.
Diffstat (limited to 'c/src/lib/libbsp/i386/pc386/start')
-rw-r--r-- | c/src/lib/libbsp/i386/pc386/start/start.s | 43 |
1 files changed, 42 insertions, 1 deletions
diff --git a/c/src/lib/libbsp/i386/pc386/start/start.s b/c/src/lib/libbsp/i386/pc386/start/start.s index 9501af12b8..3ed542c255 100644 --- a/c/src/lib/libbsp/i386/pc386/start/start.s +++ b/c/src/lib/libbsp/i386/pc386/start/start.s @@ -12,6 +12,11 @@ | | Instituto Superior Tecnico * Lisboa * PORTUGAL +--------------------------------------------------------------------------+ +| +| Modified the 20/05/1998 by valette@crf.canon.fr in order to give a working +| example of eraly stage debugging via the DEBUG_EARLY_START define. +| ++--------------------------------------------------------------------------+ | Disclaimer: | | This file is provided "AS IS" without warranty of any kind, either @@ -62,11 +67,39 @@ BEGIN_CODE EXTERN (boot_card) EXTERN (load_segments) EXTERN (exit) - + EXTERN (_IBMPC_initVideo) + EXTERN (debugPoolingGetChar) + +/* + * In case it crash on your machine and this is not due + * to video mode set by the loader, you may try to define + * the follwoing variable +#define DEBUG_EARLY_START + */ + SYM (start): nop cli # DISABLE INTERRUPTS!!! +#ifdef DEBUG_EARLY_START + cld + /* + * Must get video attribute to have a working printk. + * Note that the following code assume we already have + * valid segments and a stack. It should be true for + * any loader starting RTEMS in protected mode (or + * at least I hope so : -)). + */ + call _IBMPC_initVideo + /* + * try printk and a getchar in polling mode ASAP + */ + pushl $welcome_msg + call printk + addl $4, esp + + call debugPoolingGetChar +#endif /*----------------------------------------------------------------------------+ | Load the segment registers (this is done by the board's BSP) and perform any @@ -265,6 +298,14 @@ SYM (start_frame): SYM (stack_start): .long 0 +#ifdef DEBUG_EARLY_START + + PUBLIC (welcome_msg) +SYM (welcome_msg) : + .string "Ready to debug RTEMS ?\nEnter <CR>\n" + +#endif + END_DATA /*----------------------------------------------------------------------------+ |