revert between 56095 -> 55830 in arch
[AROS.git] / arch / arm-native / kernel / kernel_arm.h
bloba50d2a75995d8f8cf99dd91aa3ef17edb096112a
1 #ifndef __KERNEL_ARM_H
2 #define __KERNEL_ARM_H
4 #include <asm/cpu.h>
6 /*
7 Copyright © 2015, The AROS Development Team. All rights reserved.
8 $Id$
9 */
11 struct ARM_Implementation
13 IPTR ARMI_Family;
14 IPTR ARMI_Platform;
15 APTR ARMI_PeripheralBase;
16 cpumask_t ARMI_AffinityMask;
17 void (*ARMI_Init) (APTR, APTR); // takes pointers to KernelBase & SysBase as input
18 void (*ARMI_InitCore) (APTR, APTR); // takes pointers to KernelBase & SysBase as input
19 void (*ARMI_SendIPI) (uint32_t, uint32_t, uint32_t); // Sends IPI msg to processors in mask
20 APTR (*ARMI_InitTimer) (APTR); // takes a pointer to KernelBase as input, and returns struct IntrNode
21 void (*ARMI_Delay) (int);
22 unsigned int (*ARMI_GetTime) (void);
23 void (*ARMI_PutChar) (int);
24 void (*ARMI_SerPutChar) (uint8_t);
25 int (*ARMI_SerGetChar) (void);
26 void (*ARMI_IRQInit) ();
27 void (*ARMI_IRQEnable) (int);
28 void (*ARMI_IRQDisable) (int);
29 void (*ARMI_IRQProcess) (void);
30 void (*ARMI_FIQProcess) (void);
31 void (*ARMI_LED_Toggle) (int, int);
32 void (*ARMI_Save_VFP_State) (void *); // saves state of vfp to buffer
33 void (*ARMI_Restore_VFP_State) (void *); // restores state of vfp from buffer
34 void (*ARMI_Init_VFP_State) (void *); // Init VFP state in buffer
37 extern struct ARM_Implementation __arm_arosintern;
39 // values for arm_toggle_led
41 #define ARM_LED_ON 1
42 #define ARM_LED_OFF 0
44 #define ARM_LED_POWER 0
45 #define ARM_LED_ACTIVITY 1
49 #endif // __KERNEL_ARM_H