• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * Copyright (c) 2025 Qualcomm Innovation Center, Inc. All rights reserved.
4  */
5 
6 #ifndef _LINUX_GUNYAH_QTVM_H
7 #define _LINUX_GUNYAH_QTVM_H
8 
9 #include <linux/notifier.h>
10 #include <linux/gunyah.h>
11 
12 enum gunyah_qtvm_state {
13 	GUNYAH_QTVM_BEFORE_POWERUP    = 1,
14 	GUNYAH_QTVM_POWERUP_FAIL      = 2,
15 	GUNYAH_QTVM_EARLY_POWEROFF    = 3,
16 	GUNYAH_QTVM_POWEROFF          = 4,
17 	GUNYAH_QTVM_EXITED            = 5,
18 	GUNYAH_QTVM_CRASH             = 6,
19 };
20 
21 #if IS_ENABLED(CONFIG_GUNYAH_QCOM_TRUSTED_VM)
22 int gunyah_qtvm_register_notifier(struct notifier_block *nb);
23 int gunyah_qtvm_unregister_notifier(struct notifier_block *nb);
24 int gunyah_qtvm_register_resource_ticket(struct gunyah_vm_resource_ticket *t,
25 							u16 vmid);
26 void gunyah_qtvm_unregister_resource_ticket(struct gunyah_vm_resource_ticket *t,
27 							u16 vmid);
28 #else
gunyah_qtvm_register_notifier(struct notifier_block * nb)29 static inline int gunyah_qtvm_register_notifier(struct notifier_block *nb)
30 {
31 	return 0;
32 }
gunyah_qtvm_unregister_notifier(struct notifier_block * nb)33 static inline int gunyah_qtvm_unregister_notifier(struct notifier_block *nb)
34 {
35 	return 0;
36 }
gunyah_qtvm_register_resource_ticket(struct gunyah_vm_resource_ticket * t,u16 vmid)37 static inline int gunyah_qtvm_register_resource_ticket(
38 		struct gunyah_vm_resource_ticket *t, u16 vmid)
39 {
40 	return 0;
41 }
gunyah_qtvm_unregister_resource_ticket(struct gunyah_vm_resource_ticket * t,u16 vmid)42 static inline void gunyah_qtvm_unregister_resource_ticket(
43 		struct gunyah_vm_resource_ticket *t, u16 vmid)
44 {
45 }
46 #endif
47 
48 #endif
49