mtkernel_3/kernel/sysdepend/cpu/core/rxv2/sysdepend.h | bare source | permlink (0.00 seconds) |
1: /* 2: *---------------------------------------------------------------------- 3: * micro T-Kernel 3.00.03 4: * 5: * Copyright (C) 2006-2021 by Ken Sakamura. 6: * This software is distributed under the T-License 2.2. 7: *---------------------------------------------------------------------- 8: * 9: * Released by TRON Forum(http://www.tron.org) at 2021/03/31. 10: * 11: *---------------------------------------------------------------------- 12: */ 13: 14: /* 15: * sysdepend.h (RXv2) 16: * System-Dependent local defined 17: */ 18: 19: #ifndef _SYSDEPEND_CPU_CORE_SYSDEPEND_ 20: #define _SYSDEPEND_CPU_CORE_SYSDEPEND_ 21: 22: /* 23: * Reset Handler (reset_hdl.S) 24: */ 25: IMPORT void Reset_Handler(void); /* Reset Handler */ 26: 27: /* 28: * Exception Handler (exc_hdr.c) 29: */ 30: IMPORT void SuperVisorInst_Handler(void) __attribute__ ((interrupt)); /* Supervisor Instruction Exception */ 31: IMPORT void AccessInst_Handler(void) __attribute__ ((interrupt)); /* Access Instruction Exception */ 32: IMPORT void UndefinedInst_Handler(void) __attribute__ ((interrupt)); /* Undefined Instruction Exception */ 33: IMPORT void FloatingPoint_Handler(void) __attribute__ ((interrupt)); /* Floating Point Exception */ 34: IMPORT void NMI_Handler(void) __attribute__ ((interrupt)); /* NMI Handler */ 35: 36: IMPORT void Default_Handler(UW intno); /* Default HLL Interrupt Handler (Undefine Interrupt) */ 37: 38: /* 39: * Dispatcher (dispatch.S) 40: */ 41: IMPORT void knl_dispatch_entry(void); /* dispatch entry */ 42: IMPORT void knl_dispatch_to_schedtsk(void); /* force dispatch */ 43: 44: /* 45: * Interrupt Control (interrupt.c) 46: */ 47: IMPORT FP knl_int_vect_ram[N_INTVEC]; /* Interrupt Vector table (RAM) */ 48: IMPORT FP knl_hll_inthdr_ram[N_INTVEC]; /* HLL Interrupt Handler Table (RAM) */ 49: 50: IMPORT W knl_int_nest; /* Interrupt nest counter */ 51: 52: IMPORT void knl_systim_inthdr(void); /* System-timer Interrupt handler */ 53: 54: 55: /* 56: * Task context block 57: */ 58: typedef struct { 59: void *ssp; /* System stack pointer */ 60: } CTXB; 61: 62: /* 63: * Control register operation 64: */ 65: Inline void knl_set_intb(UW intb) 66: { 67: Asm("mvtc %0, intb":: "r"(intb)); 68: } 69: 70: 71: #endif /* _SYSDEPEND_CPU_CORE_SYSDEPEND_ */