Ignore:
Timestamp:
Mar 12, 2018, 7:53:09 PM (3 years ago)
Author:
Joel Sherrill <joel@…>
Branches:
5, master
Children:
478dc89
Parents:
c0443b4
git-author:
Joel Sherrill <joel@…> (03/12/18 19:53:09)
git-committer:
Joel Sherrill <joel@…> (03/13/18 14:55:23)
Message:

Add PowerPC paravirtualization support

Cannot read or write MSR when executing in user mode. This
is used when RTEMS_PARAVIRT is defined.

Provide alternate methods to disable/enable interrupts

Closes #3306.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • c/src/lib/libcpu/powerpc/new-exceptions/cpu.c

    rc0443b4 r0a7a30d  
    6565{
    6666  ppc_context *the_ppc_context;
    67   uint32_t   msr_value;
     67  uint32_t   msr_value = 0;
    6868  uintptr_t  sp;
    6969  uintptr_t  stack_alignment;
     
    7676  sp = (uintptr_t) memset((void *) sp, 0, PPC_MINIMUM_STACK_FRAME_SIZE);
    7777
     78  the_ppc_context = ppc_get_context( the_context );
     79
     80#if !defined(PPC_DISABLE_MSR_ACCESS)
    7881  _CPU_MSR_GET( msr_value );
    79 
    80   the_ppc_context = ppc_get_context( the_context );
    8182
    8283  /*
     
    114115#ifdef PPC_MULTILIB_ALTIVEC
    115116  msr_value |= MSR_VE;
     117#endif
     118#endif  /* END PPC_DISABLE_MSR_ACCESS */
    116119
     120#ifdef PPC_MULTILIB_ALTIVEC
    117121  the_ppc_context->vrsave = 0;
    118122#endif
Note: See TracChangeset for help on using the changeset viewer.