Changeset 336495b9 in rtems


Ignore:
Timestamp:
Jul 22, 2008, 5:50:57 AM (11 years ago)
Author:
Till Straumann <strauman@…>
Branches:
4.10, 4.11, 4.9, master
Children:
aee685a3
Parents:
e1095fc
Message:

2008-07-21 Till Straumann <strauman@…>

  • startup/bspstart.c: Removed SPRG0 warning - this BSP is OK.

Use interrupt stack limits from linker script.

No need to reserve space beyond '_end'. linkcmds now
reserves space below '_end'.

Use low-level exception handling support from
new-exceptions/bspsupport.

Location:
c/src/lib/libbsp/powerpc/virtex
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • c/src/lib/libbsp/powerpc/virtex/ChangeLog

    re1095fc r336495b9  
     12008-07-21      Till Straumann <strauman@slac.stanford.edu>
     2
     3        * startup/bspstart.c: Removed SPRG0 warning - this BSP
     4        is OK.
     5
     6        Use interrupt stack limits from linker script.
     7
     8        No need to reserve space beyond '_end'. linkcmds now
     9        reserves space below '_end'.
     10
     11        Use low-level exception handling support from
     12        new-exceptions/bspsupport.
     13
    1142008-07-21      Till Straumann <strauman@slac.stanford.edu>
    215
  • c/src/lib/libbsp/powerpc/virtex/startup/bspstart.c

    re1095fc r336495b9  
    5757 */
    5858
    59 #warning The interrupt disable mask is now stored in SPRG0, please verify that this is compatible to this BSP (see also bootcard.c).
    60 
    6159#include <string.h>
    6260#include <fcntl.h>
     
    7068#include <libcpu/spr.h>
    7169#include <rtems/powerpc/powerpc.h>
    72 
    73 SPR_RW(SPRG1)
    7470
    7571#include RTEMS_XPARAMETERS_H
     
    155151void bsp_start( void )
    156152{
    157   extern unsigned long *intrStackPtr;
    158   register unsigned char* intrStack;
     153  extern unsigned char IntrStack_start[];
     154  extern unsigned char IntrStack_end[];
    159155  ppc_cpu_id_t myCpu;
    160156  ppc_cpu_revision_t myCpuRevision;
     
    184180
    185181  /*
    186    * Initialize some SPRG registers related to irq handling
    187    */
    188 
    189   intrStack = (((unsigned char*)&intrStackPtr) - PPC_MINIMUM_STACK_FRAME_SIZE);
    190   _write_SPRG1((unsigned int)intrStack);
    191 
    192   /*
    193182   * Initialize default raw exception handlers.
    194    * See shared/vectors/vectors_init.c
    195    */
    196   initialize_exceptions();
     183   */
     184  ppc_exc_initialize(
     185        PPC_INTERRUPT_DISABLE_MASK_DEFAULT | MSR_CE,
     186        (uint32_t)IntrStack_start,
     187        IntrStack_end - IntrStack_start
     188  );
    197189
    198190  /*
     
    224216
    225217    /* round _end up to next 64k boundary for start of workspace */
    226     Configuration.work_space_start = (void *)((((uint32_t)&_end) + 0x18000) & 0xffff0000);
     218    Configuration.work_space_start = (void *)((((uint32_t)&_end) + 0xffff) & 0xffff0000);
    227219  }
    228220
Note: See TracChangeset for help on using the changeset viewer.