blob: dcb62e36a4910e101a7ea95ee140d2dcc53ef8d9 [file] [log] [blame]
/*
Copyright (C) 2014 Microchip Inc.
All rights reserved
1 tab == 4 spaces!
*/
#ifdef __XC32
#include <xc.h>
#include <sys/asm.h>
#else
#include "Regs.S"
#endif
#include "MEC14xx/mec14xx_girqm.h"
/******************************************************************/
/***************************************************************
* MEC14xx GIRQ24 Disaggregated Vector Jump table
*
***************************************************************/
.extern girq24_b0
.extern girq24_b1
.extern girq24_b2
#if GIRQ24_DISAGG != 0
/*
* FreeRTOS Handler for MIPS M14K Software Interrupt 0
* implemented in the porting layer.
*/
.extern vPortYieldISR
/*
* Disaggregated girq24_isr
* Program address of this version of girq24_isr into JTVIC GIRQ24
* Aggregator Control register with bit[0] = 1.
*/
/*
* NOTE: All the additional labels surrounding every instruction are
* there to force GCC OBJDUMP to disassemble microMIPS correctly.
*/
.insn
#ifdef __XC32
.section .girqs.girq24_isr, code
#else
.section .girqs.girq24_isr,"x"
#endif
.set nomips16
.set micromips
.set noreorder
.set noat
.ent girq24_isr
.global girq24_isr
.align 2
girq24_isr:
J girq24_b0
g24b0b:
NOP
.align 2
g24b1a:
J vPortYieldISR /* girq24_b1 */
g24b1b:
NOP
.align 2
g24b2a:
J girq24_b2
g24b2b:
NOP
g24end:
.end girq24_isr
#endif
/******************************************************************/