mirror of
https://github.com/pret/pokediamond.git
synced 2026-04-26 08:17:27 -05:00
macro and register
This commit is contained in:
parent
7b3404b932
commit
527b257015
|
|
@ -17,19 +17,19 @@ typedef enum {
|
|||
OS_PROCMODE_SYS=31
|
||||
} OSProcMode;
|
||||
|
||||
#pragma enumsalwaysint on
|
||||
ENUMS_ALWAYS_INT_ON
|
||||
typedef enum {
|
||||
OS_INTRMODE_DISABLE_IRQ = HW_PSR_DISABLE_IRQ,
|
||||
OS_INTRMODE_DISABLE_FIQ = HW_PSR_DISABLE_FIQ,
|
||||
OS_INTRMODE_ENABLE = 0
|
||||
} OSIntrMode;
|
||||
#pragma enumsalwaysint reset
|
||||
ENUMS_ALWAYS_INT_RESET
|
||||
|
||||
OSIntrMode OS_EnableInterrupts();
|
||||
OSIntrMode OS_DisableInterrupts();
|
||||
OSIntrMode OS_RestoreInterrupts(register OSIntrMode state);
|
||||
OSIntrMode OS_RestoreInterrupts(OSIntrMode state);
|
||||
OSIntrMode OS_DisableInterrupts_IrqAndFiq();
|
||||
OSIntrMode OS_RestoreInterrupts_IrqAndFiq(register OSIntrMode state);
|
||||
OSIntrMode OS_RestoreInterrupts_IrqAndFiq(OSIntrMode state);
|
||||
OSIntrMode OS_GetCpsrIrq();
|
||||
OSProcMode OS_GetProcMode();
|
||||
void OS_SpinWait();
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ ARM_FUNC asm OSIntrMode OS_DisableInterrupts() {
|
|||
bx lr
|
||||
}
|
||||
|
||||
ARM_FUNC asm OSIntrMode OS_RestoreInterrupts(register OSIntrMode state) {
|
||||
ARM_FUNC asm OSIntrMode OS_RestoreInterrupts(OSIntrMode state) {
|
||||
mrs r1, cpsr
|
||||
bic r2, r1, #HW_PSR_DISABLE_IRQ
|
||||
orr r2, r2, r0
|
||||
|
|
@ -38,7 +38,7 @@ ARM_FUNC asm OSIntrMode OS_DisableInterrupts_IrqAndFiq() {
|
|||
bx lr
|
||||
}
|
||||
|
||||
ARM_FUNC asm OSIntrMode OS_RestoreInterrupts_IrqAndFiq(register OSIntrMode state) {
|
||||
ARM_FUNC asm OSIntrMode OS_RestoreInterrupts_IrqAndFiq(OSIntrMode state) {
|
||||
mrs r1, cpsr
|
||||
bic r2, r1, #HW_PSR_DISABLE_IRQ_FIQ
|
||||
orr r2, r2, r0
|
||||
|
|
|
|||
|
|
@ -4,4 +4,8 @@
|
|||
#define ARM_FUNC _Pragma("thumb off")
|
||||
#define THUMB_FUNC _Pragma("thumb on")
|
||||
|
||||
#define ENUMS_ALWAYS_INT_ON _Pragma("enumsalwaysint on")
|
||||
#define ENUMS_ALWAYS_INT_OFF _Pragma("enumsalwaysint off")
|
||||
#define ENUMS_ALWAYS_INT_RESET _Pragma("enumsalwaysint reset")
|
||||
|
||||
#endif //GUARD_FUNCTION_TARGET_H
|
||||
Loading…
Reference in New Issue
Block a user