#if defined(CORE2_IS_ASR)
#if defined(__PROC_TC29X__) || defined(__PROC_TC27X__) || defined(__PROC_TC39X__)
group Core2_RAM( ordered, run_addr = mem:mpe:dspr2 )
{
   /* lets pretend that currently there is no near */
   /* thus you won't need the stack safety gap */
   /* start with the stacks */
   group osAllStacksCore2(ordered, contiguous, fill, align=8)
   {
      #define OS_LINK_KERNEL_STACKS
      #include OS_LINK_CORE2_STACKS_LSL
   }
   "osEndOf_Core2Stack" = "_lc_ge_osAllStacksCore2";
   "osEndOf_Core2StackInAlias" = (("_lc_ge_osAllStacksCore2")&~0xF0000000)|0xD0000000;

   group osFarCore2(ordered, contiguous, fill, align=8)
   {
      /* Kernel Variables */
      group osFarKernelCore2
      {
         #define OS_LINK_VAR_KERNEL
         #include OS_LINK_CORE2_LSL
      }
      /* Kernel Barriers */
      group osBarriersFarOnCore2
      {
         #define OS_LINK_KERNEL_BARRIERS
         #include OS_LINK_CORE2_LSL
      }
      /* Kernel Corestatus */
      group osCoreStatusFarOnCore2
      {
         #define OS_LINK_KERNEL_CORESTATUS
         #include OS_LINK_CORE2_LSL
      }
      
      /* Application private */
      #define OS_LINK_VAR_APP_SYSTEMAPPLICATION_OSCORE2
      #define OS_LINK_VAR_APP_APPLICATION1_CORE2
      #include OS_LINK_CORE2_LSL
  }
}
#else
  "osEndOf_Core2Stack" = 0x50000000;
#endif
#endif
