diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2003-03-18 19:20:55 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2003-03-18 19:20:55 +0000 |
commit | 64f8ae44ccb651e550fe5d7369feda6b3f21fcb6 (patch) | |
tree | afd706051b15ea39a81e286f4c6642cd4dcb9510 /c/src/lib/libbsp/powerpc/shared/irq/irq_init.c | |
parent | 2003-03-18 Till Straumann <strauman@slac.stanford.edu> (diff) | |
download | rtems-64f8ae44ccb651e550fe5d7369feda6b3f21fcb6.tar.bz2 |
2003-03-18 Till Straumann <strauman@slac.stanford.edu>
PR 356/bsps
This patch makes RTEMS/powerpc/shared EABI compliant.
* irq/irq_init.c, start/Makefile.am, start/start.S, startup/bspstart.c,
startup/pgtbl_setup.c, vectors/vectors.h, vectors/vectors_init.c:
zero_bss() should clear not only bss but sbss and sbss2
also (this is probably a bugfix, as sbss/sbss2 are
probably used even if -msdata=eabi is not specified).
* start/rtems_crti.S: New file which must
be linked immediately after ecrti.o. rtems_crti.o contains
a code snippet who lets __init() return immediately. Also,
a new entry point '_init' to the C++ Ctors is generated
for use by the RTEMS Thread_Handler.
Diffstat (limited to '')
-rw-r--r-- | c/src/lib/libbsp/powerpc/shared/irq/irq_init.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/c/src/lib/libbsp/powerpc/shared/irq/irq_init.c b/c/src/lib/libbsp/powerpc/shared/irq/irq_init.c index 4ae88cc8b7..5dfb5a5fd6 100644 --- a/c/src/lib/libbsp/powerpc/shared/irq/irq_init.c +++ b/c/src/lib/libbsp/powerpc/shared/irq/irq_init.c @@ -43,9 +43,9 @@ typedef struct { pci_isa_bridge_device* via_82c586 = 0; static pci_isa_bridge_device bridge; -extern unsigned int external_exception_vector_prolog_code_size; +extern unsigned int external_exception_vector_prolog_code_size[]; extern void external_exception_vector_prolog_code(); -extern unsigned int decrementer_exception_vector_prolog_code_size; +extern unsigned int decrementer_exception_vector_prolog_code_size[]; extern void decrementer_exception_vector_prolog_code(); /* @@ -296,7 +296,7 @@ void BSP_rtems_irq_mng_init(unsigned cpuId) vectorDesc.exceptIndex = ASM_DEC_VECTOR; vectorDesc.hdl.vector = ASM_DEC_VECTOR; vectorDesc.hdl.raw_hdl = decrementer_exception_vector_prolog_code; - vectorDesc.hdl.raw_hdl_size = (unsigned) &decrementer_exception_vector_prolog_code_size; + vectorDesc.hdl.raw_hdl_size = (unsigned) decrementer_exception_vector_prolog_code_size; vectorDesc.on = nop_func; vectorDesc.off = nop_func; vectorDesc.isOn = connected; @@ -306,7 +306,7 @@ void BSP_rtems_irq_mng_init(unsigned cpuId) vectorDesc.exceptIndex = ASM_EXT_VECTOR; vectorDesc.hdl.vector = ASM_EXT_VECTOR; vectorDesc.hdl.raw_hdl = external_exception_vector_prolog_code; - vectorDesc.hdl.raw_hdl_size = (unsigned) &external_exception_vector_prolog_code_size; + vectorDesc.hdl.raw_hdl_size = (unsigned) external_exception_vector_prolog_code_size; if (!mpc60x_set_exception (&vectorDesc)) { BSP_panic("Unable to initialize RTEMS external raw exception\n"); } |