Use new ARM instructions for interrupts, exceptions and system calls.
[AROS.git] / arch / arm-native / kernel / kernel_arm.h
blob622db0e2922948917eb7524a96b38254773e8f7c
1 /*
2 Copyright © 2015, The AROS Development Team. All rights reserved.
3 $Id$
4 */
6 struct ARM_Implementation
8 IPTR ARMI_Family;
9 IPTR ARMI_Platform;
10 APTR ARMI_PeripheralBase;
11 void (*ARMI_Init) (APTR); // takes a pointer to KernelBase as input
12 APTR (*ARMI_InitTimer) (APTR); // takes a pointer to KernelBase as input, and returns struct IntrNode
13 void (*ARMI_Delay) (int);
14 unsigned int (*ARMI_GetTime) (void);
15 void (*ARMI_PutChar) (int);
16 void (*ARMI_SerPutChar) (uint8_t);
17 int (*ARMI_SerGetChar) (void);
18 void (*ARMI_IRQInit) ();
19 void (*ARMI_IRQEnable) (int);
20 void (*ARMI_IRQDisable) (int);
21 void (*ARMI_IRQProcess) (void);
22 void (*ARMI_LED_Toggle) (int, int);
25 extern struct ARM_Implementation __arm_arosintern;
27 // values for arm_toggle_led
29 #define ARM_LED_ON 1
30 #define ARM_LED_OFF 0
32 #define ARM_LED_POWER 0
33 #define ARM_LED_ACTIVITY 1