xref: /kvm-unit-tests/lib/arm/asm/psci.h (revision bd5bd1577dcc298cafaf0e26d318a628e650b2a7)
1f0705d4cSAndrew Jones #ifndef _ASMARM_PSCI_H_
2f0705d4cSAndrew Jones #define _ASMARM_PSCI_H_
3f0705d4cSAndrew Jones #include <libcflat.h>
4f3bd1e05SAndrew Jones #include <linux/psci.h>
5f0705d4cSAndrew Jones 
6*bd5bd157SAndrew Jones typedef int (*psci_invoke_fn)(unsigned int function_id, unsigned long arg0,
7c535b2f8SAndrew Jones 			      unsigned long arg1, unsigned long arg2);
8*bd5bd157SAndrew Jones extern psci_invoke_fn psci_invoke;
9*bd5bd157SAndrew Jones extern int psci_invoke_hvc(unsigned int function_id, unsigned long arg0,
10*bd5bd157SAndrew Jones 			   unsigned long arg1, unsigned long arg2);
11*bd5bd157SAndrew Jones extern int psci_invoke_smc(unsigned int function_id, unsigned long arg0,
12*bd5bd157SAndrew Jones 			   unsigned long arg1, unsigned long arg2);
13*bd5bd157SAndrew Jones extern void psci_set_conduit(void);
14f0705d4cSAndrew Jones extern int psci_cpu_on(unsigned long cpuid, unsigned long entry_point);
157c12e7caSAlexandru Elisei extern void psci_system_reset(void);
1668ea0e0bSAndrew Jones extern int cpu_psci_cpu_boot(unsigned int cpu);
17d556c4a8SAndrew Jones extern void cpu_psci_cpu_die(void);
187c12e7caSAlexandru Elisei extern void psci_system_off(void);
19f0705d4cSAndrew Jones 
20f0705d4cSAndrew Jones #endif /* _ASMARM_PSCI_H_ */
21