diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 1998-08-21 16:39:52 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 1998-08-21 16:39:52 +0000 |
commit | eb562f2c860061868e4ea1a821a84147b694dd07 (patch) | |
tree | 4273d9ac092dab0e00e065a365595a2b30fcc95f /c/src/lib/libbsp/i386/pc386 | |
parent | Spacing changes (diff) | |
download | rtems-eb562f2c860061868e4ea1a821a84147b694dd07.tar.bz2 |
Patch from Eric Valette <valette@crf.canon.fr>:
Here is a patch that enables to catch exception
and get message before crashing RTEMS :)
It should be generic to any Intel port although enabled
only for pc386 BSP...
[Joel] I fixed the bug I introduced in irq_asm.s...
Diffstat (limited to 'c/src/lib/libbsp/i386/pc386')
-rw-r--r-- | c/src/lib/libbsp/i386/pc386/Makefile.in | 6 | ||||
-rw-r--r-- | c/src/lib/libbsp/i386/pc386/start/start16.s | 12 | ||||
-rw-r--r-- | c/src/lib/libbsp/i386/pc386/startup/bspstart.c | 7 | ||||
-rw-r--r-- | c/src/lib/libbsp/i386/pc386/wrapup/Makefile.in | 6 |
4 files changed, 20 insertions, 11 deletions
diff --git a/c/src/lib/libbsp/i386/pc386/Makefile.in b/c/src/lib/libbsp/i386/pc386/Makefile.in index 4862454e13..f30692edfc 100644 --- a/c/src/lib/libbsp/i386/pc386/Makefile.in +++ b/c/src/lib/libbsp/i386/pc386/Makefile.in @@ -11,9 +11,9 @@ PROJECT_ROOT = @PROJECT_ROOT@ include $(RTEMS_ROOT)/make/custom/$(RTEMS_BSP).cfg include $(RTEMS_ROOT)/make/directory.cfg -# We only build the Network library if HAS_NETWORKING was defined -NETWORK_yes_V = network -NETWORK = $(NETWORK_$(HAS_NETWORKING)_V) +# # We only build the Network library if HAS_NETWORKING was defined +# NETWORK_yes_V = network +# NETWORK = $(NETWORK_$(HAS_NETWORKING)_V) # wrapup is the one that actually builds and installs the library # from the individual .rel files built in other directories diff --git a/c/src/lib/libbsp/i386/pc386/start/start16.s b/c/src/lib/libbsp/i386/pc386/start/start16.s index c10a658718..778c0dd597 100644 --- a/c/src/lib/libbsp/i386/pc386/start/start16.s +++ b/c/src/lib/libbsp/i386/pc386/start/start16.s @@ -33,7 +33,7 @@ .set HDROFF, 0x24 # offset into bin2boot header of start32 addr .set STACKOFF, 0x200-0x10 # offset to load into %esp, from start of image - +/* #define NEW_GAS*/ /*----------------------------------------------------------------------------+ | CODE section +----------------------------------------------------------------------------*/ @@ -78,14 +78,20 @@ _start16: /*---------------------------------------------------------------------+ | Bare PC machines boot in real mode! We have to turn protected mode on. +---------------------------------------------------------------------*/ - +#ifdef NEW_GAS + data32 + addr32 +#endif lgdt gdtptr - start16 # load Global Descriptor Table - movl %cr0, %eax orl $CR0_PE, %eax movl %eax, %cr0 # turn on protected mode +#ifdef NEW_GAS + ljmpl $PROT_CODE_SEG, $1f # flush prefetch queue, and reload %cs +#else ljmp $PROT_CODE_SEG, $1f # flush prefetch queue, and reload %cs +#endif 1: .code32 diff --git a/c/src/lib/libbsp/i386/pc386/startup/bspstart.c b/c/src/lib/libbsp/i386/pc386/startup/bspstart.c index 13e8610c42..7ebcc60685 100644 --- a/c/src/lib/libbsp/i386/pc386/startup/bspstart.c +++ b/c/src/lib/libbsp/i386/pc386/startup/bspstart.c @@ -173,10 +173,13 @@ void bsp_start( void ) console_reserve_resources(&BSP_Configuration); /* - * Init rtems_interrupt_management + * Init rtems interrupt management */ rtems_irq_mngt_init(); - + /* + * Init rtems exceptions management + */ + rtems_exception_init_mngt(); /* * The following information is very useful when debugging. */ diff --git a/c/src/lib/libbsp/i386/pc386/wrapup/Makefile.in b/c/src/lib/libbsp/i386/pc386/wrapup/Makefile.in index 70515fdb8e..c8672490d7 100644 --- a/c/src/lib/libbsp/i386/pc386/wrapup/Makefile.in +++ b/c/src/lib/libbsp/i386/pc386/wrapup/Makefile.in @@ -8,9 +8,9 @@ VPATH = @srcdir@ RTEMS_ROOT = @top_srcdir@ PROJECT_ROOT = @PROJECT_ROOT@ -# We only build the Network library if HAS_NETWORKING was defined -NETWORK_yes_V = network -NETWORK = $(NETWORK_$(HAS_NETWORKING)_V) +# # We only build the Network library if HAS_NETWORKING was defined +# NETWORK_yes_V = network +# NETWORK = $(NETWORK_$(HAS_NETWORKING)_V) BSP_PIECES=startup clock console timer pc386dev $(NETWORK) GENERIC_PIECES= |