Enable FIQ interrupt handling on BCM mailboxes. Each CPU core has four of them and...
[AROS.git] / arch / arm-native / kernel / kernel_arm.h
blob91db533e537418c58311059d9b9234b2f152c2be
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, APTR); // takes pointers to KernelBase & SysBase as input
12 void (*ARMI_InitCore) (APTR, APTR); // takes pointers to KernelBase & SysBase as input
13 APTR (*ARMI_InitTimer) (APTR); // takes a pointer to KernelBase as input, and returns struct IntrNode
14 void (*ARMI_Delay) (int);
15 unsigned int (*ARMI_GetTime) (void);
16 void (*ARMI_PutChar) (int);
17 void (*ARMI_SerPutChar) (uint8_t);
18 int (*ARMI_SerGetChar) (void);
19 void (*ARMI_IRQInit) ();
20 void (*ARMI_IRQEnable) (int);
21 void (*ARMI_IRQDisable) (int);
22 void (*ARMI_IRQProcess) (void);
23 void (*ARMI_FIQProcess) (void);
24 void (*ARMI_LED_Toggle) (int, int);
25 void (*ARMI_Save_VFP_State) (void *); // saves state of vfp to buffer
26 void (*ARMI_Restore_VFP_State) (void *); // restores state of vfp from buffer
27 void (*ARMI_Init_VFP_State) (void *); // Init VFP state in buffer
30 extern struct ARM_Implementation __arm_arosintern;
32 // values for arm_toggle_led
34 #define ARM_LED_ON 1
35 #define ARM_LED_OFF 0
37 #define ARM_LED_POWER 0
38 #define ARM_LED_ACTIVITY 1