Reactos
at master 106 lines 2.7 kB view raw
1 2 3#pragma once 4 5#if defined(__cplusplus) 6extern "C" { 7#endif 8 9typedef enum _tag_ARMINTR_SHIFT_T 10{ 11 _ARM_LSR = 0, 12 _ARM_LSL = 1, 13 _ARM_ASR = 2, 14 _ARM_ROR = 3 15} _ARMINTR_SHIFT_T; 16 17typedef enum _tag_ARMINTR_CPS_OP 18{ 19 _ARM_CPS_ENABLE_INTERRUPTS = 1, 20 _ARM_CPS_DISABLE_INTERRUPTS = 2, 21 _ARM_CPS_CHANGE_MODE = 4 22} _ARMINTR_CPS_OP; 23 24typedef enum _tag_ARMINTR_CPS_FLAG 25{ 26 _ARM_CPS_INTERRUPT_FLAG_F = 1, 27 _ARM_CPS_INTERRUPT_FLAG_I = 2, 28 _ARM_CPS_INTERRUPT_FLAG_A = 4 29} _ARMINTR_CPS_FLAG; 30 31typedef enum _tag_ARMINTR_BARRIER_TYPE 32{ 33 _ARM_BARRIER_SY = 0xF, 34 _ARM_BARRIER_ST = 0xE, 35 _ARM_BARRIER_ISH = 0xB, 36 _ARM_BARRIER_ISHST = 0xA, 37 _ARM_BARRIER_NSH = 0x7, 38 _ARM_BARRIER_NSHST = 0x6, 39 _ARM_BARRIER_OSH = 0x3, 40 _ARM_BARRIER_OSHST = 0x2 41} _ARMINTR_BARRIER_TYPE; 42 43typedef enum _tag_ARMINTR_BANKED_REG 44{ 45 _ARM_BANKED_R8_USR = 0x0, 46 _ARM_BANKED_R9_USR = 0x1, 47 _ARM_BANKED_R10_USR = 0x2, 48 _ARM_BANKED_R11_USR = 0x3, 49 _ARM_BANKED_R12_USR = 0x4, 50 _ARM_BANKED_R13_USR = 0x5, 51 _ARM_BANKED_SP_USR = 0x5, 52 _ARM_BANKED_R14_USR = 0x6, 53 _ARM_BANKED_LR_USR = 0x6, 54 _ARM_BANKED_R8_FIQ = 0x8, 55 _ARM_BANKED_R9_FIQ = 0x9, 56 _ARM_BANKED_R10_FIQ = 0xA, 57 _ARM_BANKED_R11_FIQ = 0xB, 58 _ARM_BANKED_R12_FIQ = 0xC, 59 _ARM_BANKED_R13_FIQ = 0xD, 60 _ARM_BANKED_SP_FIQ = 0xD, 61 _ARM_BANKED_R14_FIQ = 0xE, 62 _ARM_BANKED_LR_FIQ = 0xE, 63 _ARM_BANKED_R14_IRQ = 0x10, 64 _ARM_BANKED_LR_IRQ = 0x10, 65 _ARM_BANKED_R13_IRQ = 0x11, 66 _ARM_BANKED_SP_IRQ = 0x11, 67 _ARM_BANKED_R14_SVC = 0x12, 68 _ARM_BANKED_LR_SVC = 0x12, 69 _ARM_BANKED_R13_SVC = 0x13, 70 _ARM_BANKED_SP_SVC = 0x13, 71 _ARM_BANKED_R14_ABT = 0x14, 72 _ARM_BANKED_LR_ABT = 0x14, 73 _ARM_BANKED_R13_ABT = 0x15, 74 _ARM_BANKED_SP_ABT = 0x15, 75 _ARM_BANKED_R14_UND = 0x16, 76 _ARM_BANKED_LR_UND = 0x16, 77 _ARM_BANKED_R13_UND = 0x17, 78 _ARM_BANKED_SP_UND = 0x17, 79 _ARM_BANKED_R14_MON = 0x1C, 80 _ARM_BANKED_LR_MON = 0x1C, 81 _ARM_BANKED_R13_MON = 0x1D, 82 _ARM_BANKED_SP_MON = 0x1D, 83 _ARM_BANKED_ELR_HYP = 0x1E, 84 _ARM_BANKED_R13_HYP = 0x1F, 85 _ARM_BANKED_SP_HYP = 0x1F, 86 _ARM_BANKED_SPSR_FIQ = 0x2E, 87 _ARM_BANKED_SPSR_IRQ = 0x30, 88 _ARM_BANKED_SPSR_SVC = 0x32, 89 _ARM_BANKED_SPSR_ABT = 0x34, 90 _ARM_BANKED_SPSR_UND = 0x36, 91 _ARM_BANKED_SPSR_MON = 0x3C, 92 _ARM_BANKED_SPSR_HYP = 0x3E 93} _ARMINTR_BANKED_REG; 94 95void __dmb(unsigned int Type); 96void __dsb(unsigned int Type); 97void __isb(unsigned int Type); 98 99#pragma intrinsic(__dmb) 100#pragma intrinsic(__dsb) 101#pragma intrinsic(__isb) 102 103 104#if defined(__cplusplus) 105} // extern "C" 106#endif