move the ipi hook to after the init calls
[AROS.git] / arch / arm-native / kernel / kernel_arm.h
blobca32bf7289648bd8f5b20962540c36624e03ae3a
1 #ifndef __KERNEL_ARM_H
2 #define __KERNEL_ARM_H
4 /*
5 Copyright © 2015, The AROS Development Team. All rights reserved.
6 $Id$
7 */
9 struct ARM_Implementation
11 IPTR ARMI_Family;
12 IPTR ARMI_Platform;
13 APTR ARMI_PeripheralBase;
14 void (*ARMI_Init) (APTR, APTR); // takes pointers to KernelBase & SysBase as input
15 void (*ARMI_InitCore) (APTR, APTR); // takes pointers to KernelBase & SysBase as input
16 void (*ARMI_SendIPI) (uint32_t, uint32_t); // Sends IPI to processors in mask
17 APTR (*ARMI_InitTimer) (APTR); // takes a pointer to KernelBase as input, and returns struct IntrNode
18 void (*ARMI_Delay) (int);
19 unsigned int (*ARMI_GetTime) (void);
20 void (*ARMI_PutChar) (int);
21 void (*ARMI_SerPutChar) (uint8_t);
22 int (*ARMI_SerGetChar) (void);
23 void (*ARMI_IRQInit) ();
24 void (*ARMI_IRQEnable) (int);
25 void (*ARMI_IRQDisable) (int);
26 void (*ARMI_IRQProcess) (void);
27 void (*ARMI_FIQProcess) (void);
28 void (*ARMI_LED_Toggle) (int, int);
29 void (*ARMI_Save_VFP_State) (void *); // saves state of vfp to buffer
30 void (*ARMI_Restore_VFP_State) (void *); // restores state of vfp from buffer
31 void (*ARMI_Init_VFP_State) (void *); // Init VFP state in buffer
34 extern struct ARM_Implementation __arm_arosintern;
36 // values for arm_toggle_led
38 #define ARM_LED_ON 1
39 #define ARM_LED_OFF 0
41 #define ARM_LED_POWER 0
42 #define ARM_LED_ACTIVITY 1
46 #endif // __KERNEL_ARM_H