xref: /OK3568_Linux_fs/kernel/drivers/android/vendor_hooks.c (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1 // SPDX-License-Identifier: GPL-2.0-only
2 /* vendor_hook.c
3  *
4  * Android Vendor Hook Support
5  *
6  * Copyright 2020 Google LLC
7  */
8 
9 #ifndef __GENKSYMS__
10 #include <linux/dma-buf.h>
11 #include <linux/rmap.h>
12 #endif
13 
14 #define CREATE_TRACE_POINTS
15 #include <trace/hooks/vendor_hooks.h>
16 #include <linux/tracepoint.h>
17 #include <trace/hooks/sched.h>
18 #include <trace/hooks/cpu.h>
19 #include <trace/hooks/fpsimd.h>
20 #include <trace/hooks/binder.h>
21 #include <trace/hooks/rwsem.h>
22 #include <trace/hooks/futex.h>
23 #include <trace/hooks/dtask.h>
24 #include <trace/hooks/cpuidle.h>
25 #include <trace/hooks/topology.h>
26 #include <trace/hooks/gic.h>
27 #include <trace/hooks/wqlockup.h>
28 #include <trace/hooks/debug.h>
29 #include <trace/hooks/printk.h>
30 #include <trace/hooks/gic_v3.h>
31 #include <trace/hooks/epoch.h>
32 #include <trace/hooks/cpufreq.h>
33 #include <trace/hooks/fs.h>
34 #include <trace/hooks/i2c.h>
35 #include <trace/hooks/mm.h>
36 #include <trace/hooks/preemptirq.h>
37 #include <trace/hooks/ftrace_dump.h>
38 #include <trace/hooks/pm_domain.h>
39 #include <trace/hooks/bug.h>
40 #include <trace/hooks/timer.h>
41 #include <trace/hooks/softlockup.h>
42 #include <trace/hooks/power.h>
43 #include <trace/hooks/fault.h>
44 #include <trace/hooks/iommu.h>
45 #include <trace/hooks/dma_noalias.h>
46 #include <trace/hooks/thermal.h>
47 #include <trace/hooks/ufshcd.h>
48 #include <trace/hooks/block.h>
49 #include <trace/hooks/cgroup.h>
50 #include <trace/hooks/sys.h>
51 #include <trace/hooks/traps.h>
52 #include <trace/hooks/avc.h>
53 #include <trace/hooks/creds.h>
54 #include <trace/hooks/module.h>
55 #include <trace/hooks/memory.h>
56 #include <trace/hooks/typec.h>
57 #include <trace/hooks/gpiolib.h>
58 #include <trace/hooks/signal.h>
59 #include <trace/hooks/logbuf.h>
60 #include <trace/hooks/vmscan.h>
61 #include <trace/hooks/psi.h>
62 #include <trace/hooks/hung_task.h>
63 #include <trace/hooks/mmc_core.h>
64 #include <trace/hooks/v4l2core.h>
65 #include <trace/hooks/v4l2mc.h>
66 #include <trace/hooks/scmi.h>
67 #include <trace/hooks/cpuidle_psci.h>
68 #include <trace/hooks/fips140.h>
69 #include <trace/hooks/remoteproc.h>
70 #include <trace/hooks/shmem_fs.h>
71 #include <trace/hooks/net.h>
72 #include <trace/hooks/syscall_check.h>
73 #include <trace/hooks/usb.h>
74 #include <trace/hooks/ipv6.h>
75 #include <trace/hooks/sound.h>
76 #include <trace/hooks/snd_compr.h>
77 #include <trace/hooks/ipv4.h>
78 #include <trace/hooks/pci.h>
79 #include <trace/hooks/dmabuf.h>
80 
81 /*
82  * Export tracepoints that act as a bare tracehook (ie: have no trace event
83  * associated with them) to allow external modules to probe them.
84  */
85 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_select_task_rq_fair);
86 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_select_task_rq_rt);
87 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_select_fallback_rq);
88 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_refrigerator);
89 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_scheduler_tick);
90 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_enqueue_task);
91 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_dequeue_task);
92 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_can_migrate_task);
93 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_find_lowest_rq);
94 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_rtmutex_prepare_setprio);
95 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_prepare_prio_fork);
96 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_finish_prio_fork);
97 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_set_user_nice);
98 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_setscheduler);
99 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_arch_set_freq_scale);
100 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_is_fpsimd_save);
101 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_binder_transaction_init);
102 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_binder_priority_skip);
103 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_binder_set_priority);
104 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_binder_restore_priority);
105 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_binder_wakeup_ilocked);
106 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_do_send_sig_info);
107 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_process_killed);
108 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_killed_process);
109 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_rwsem_init);
110 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_rwsem_wake);
111 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_rwsem_write_finished);
112 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_alter_rwsem_list_add);
113 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_alter_futex_plist_add);
114 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_futex_sleep_start);
115 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_do_futex);
116 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_futex_wait_start);
117 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_futex_wait_end);
118 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_futex_wake_traverse_plist);
119 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_futex_wake_this);
120 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_futex_wake_up_q_finish);
121 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mutex_wait_start);
122 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mutex_wait_finish);
123 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_rtmutex_wait_start);
124 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_rtmutex_wait_finish);
125 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_rwsem_read_wait_start);
126 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_rwsem_read_wait_finish);
127 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_rwsem_write_wait_start);
128 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_rwsem_write_wait_finish);
129 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_rwsem_set_owner);
130 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_rwsem_set_reader_owned);
131 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_rwsem_mark_wake_readers);
132 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_rwsem_up_read_end);
133 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_rwsem_up_write_end);
134 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_sched_show_task);
135 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_shmem_alloc_page);
136 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_cpu_idle_enter);
137 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_cpu_idle_exit);
138 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_find_busiest_group);
139 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_gic_resume);
140 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_wq_lockup_pool);
141 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_ipi_stop);
142 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_dump_throttled_rt_tasks);
143 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_printk_hotplug);
144 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_jiffies_update);
145 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_gic_v3_set_affinity);
146 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_show_suspend_epoch_val);
147 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_show_resume_epoch_val);
148 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_show_max_freq);
149 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_freq_table_limits);
150 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_cpufreq_resolve_freq);
151 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_cpufreq_fast_switch);
152 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_cpufreq_target);
153 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_sched_newidle_balance);
154 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_sched_nohz_balancer_kick);
155 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_sched_rebalance_domains);
156 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_find_busiest_queue);
157 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_migrate_queued_task);
158 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_resume_cpus);
159 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_find_energy_efficient_cpu);
160 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_set_iowait);
161 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_cpu_overutilized);
162 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_sched_setaffinity);
163 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_update_cpus_allowed);
164 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_set_skip_swapcache_flags);
165 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_set_gfp_zone_flags);
166 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_set_readahead_gfp_mask);
167 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_preempt_disable);
168 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_preempt_enable);
169 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_irqs_disable);
170 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_irqs_enable);
171 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_set_task_cpu);
172 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_try_to_wake_up);
173 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_try_to_wake_up_success);
174 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_sched_fork);
175 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_wake_up_new_task);
176 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_new_task_stats);
177 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_flush_task);
178 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_tick_entry);
179 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_schedule);
180 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_sched_cpu_starting);
181 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_sched_cpu_dying);
182 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_account_irq);
183 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_place_entity);
184 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_build_perf_domains);
185 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_update_cpu_capacity);
186 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_update_misfit_status);
187 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_cpu_cgroup_attach);
188 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_cpu_cgroup_can_attach);
189 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_cpu_cgroup_online);
190 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_sched_fork_init);
191 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_ttwu_cond);
192 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_schedule_bug);
193 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_sched_exec);
194 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_ftrace_oops_enter);
195 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_ftrace_oops_exit);
196 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_ftrace_size_check);
197 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_ftrace_format_check);
198 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_ftrace_dump_buffer);
199 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_allow_domain_state);
200 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_map_util_freq);
201 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_report_bug);
202 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_em_cpu_energy);
203 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_cpu_up);
204 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_sched_balance_rt);
205 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_timer_calc_index);
206 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_watchdog_timer_softlockup);
207 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_try_to_freeze_todo);
208 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_try_to_freeze_todo_unfrozen);
209 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_dequeue_task_idle);
210 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_die_kernel_fault);
211 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_do_sea);
212 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_do_mem_abort);
213 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_do_sp_pc_abort);
214 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_setup_dma_ops);
215 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_iommu_setup_dma_ops);
216 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_iommu_setup_dma_ops);
217 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_iommu_alloc_iova);
218 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_iommu_iovad_alloc_iova);
219 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_iommu_free_iova);
220 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_iommu_iovad_free_iova);
221 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_pick_next_entity);
222 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_check_preempt_wakeup);
223 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_cma_alloc_start);
224 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_cma_alloc_finish);
225 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_rmqueue);
226 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_pagecache_get_page);
227 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_filemap_fault_get_page);
228 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_filemap_fault_cache_page);
229 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_enable_thermal_genl_check);
230 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_thermal_pm_notify_suspend);
231 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_ufs_fill_prdt);
232 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_ufs_complete_init);
233 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_ufs_reprogram_all_keys);
234 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_ufs_prepare_command);
235 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_ufs_update_sysfs);
236 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_ufs_send_command);
237 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_ufs_compl_command);
238 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_ufs_send_uic_command);
239 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_ufs_send_tm_command);
240 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_ufs_check_int_errors);
241 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_ufs_update_sdev);
242 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_ufs_clock_scaling);
243 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_do_wake_up_sync);
244 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_set_wake_flags);
245 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_uclamp_eff_get);
246 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_cpufreq_transition);
247 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_cgroup_set_task);
248 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_cgroup_force_kthread_migration);
249 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_syscall_prctl_finished);
250 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_check_preempt_tick);
251 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_replace_next_task_fair);
252 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_do_sched_yield);
253 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_binder_wait_for_work);
254 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_sync_txn_recvd);
255 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_build_sched_domains);
256 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_alter_mutex_list_add);
257 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mutex_unlock_slowpath);
258 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mutex_unlock_slowpath_end);
259 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_rwsem_wake_finish);
260 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_do_undefinstr);
261 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_do_ptrauth_fault);
262 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_bad_mode);
263 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_arm64_serror_panic);
264 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_selinux_avc_insert);
265 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_selinux_avc_node_delete);
266 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_selinux_avc_node_replace);
267 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_selinux_avc_lookup);
268 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_blk_alloc_rqs);
269 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_blk_rq_ctx_init);
270 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_commit_creds);
271 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_exit_creds);
272 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_override_creds);
273 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_revert_creds);
274 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_record_mutex_lock_starttime);
275 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_record_rtmutex_lock_starttime);
276 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_record_rwsem_lock_starttime);
277 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_record_pcpu_rwsem_starttime);
278 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_set_memory_x);
279 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_set_memory_nx);
280 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_set_memory_ro);
281 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_set_memory_rw);
282 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_set_module_permit_before_init);
283 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_set_module_permit_after_init);
284 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_util_est_update);
285 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_meminfo_proc_show);
286 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_exit_mm);
287 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_get_from_fragment_pool);
288 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_exclude_reserved_zone);
289 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_include_reserved_zone);
290 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_alloc_pages_slowpath_begin);
291 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_alloc_pages_slowpath_end);
292 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_show_mem);
293 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_show_mapcount_pages);
294 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_do_traversal_lruvec);
295 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_typec_tcpci_override_toggling);
296 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_typec_tcpci_chk_contaminant);
297 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_typec_tcpci_get_vbus);
298 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_typec_store_partner_src_caps);
299 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_account_task_time);
300 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_irqtime_account_process_tick);
301 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_gpio_block_read);
302 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_ep_create_wakeup_source);
303 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_timerfd_create);
304 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_binder_alloc_new_buf_locked);
305 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_binder_reply);
306 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_binder_trans);
307 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_binder_transaction);
308 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_binder_preset);
309 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_binder_proc_transaction);
310 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_binder_proc_transaction_end);
311 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_binder_new_ref);
312 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_binder_del_ref);
313 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_post_init_entity_util_avg);
314 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_typec_tcpm_get_timer);
315 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_typec_tcpm_adj_current_limit);
316 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_logbuf);
317 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_logbuf_pr_cont);
318 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_tune_scan_type);
319 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_tune_swappiness);
320 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_shrink_slab_bypass);
321 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_handle_failed_page_trylock);
322 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_page_trylock_set);
323 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_page_trylock_clear);
324 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_page_trylock_get_result);
325 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_do_page_trylock);
326 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_page_referenced_check_bypass);
327 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_drain_all_pages_bypass);
328 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_cma_drain_all_pages_bypass);
329 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_pcplist_add_cma_pages_bypass);
330 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_psi_event);
331 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_psi_group);
332 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_cpuset_fork);
333 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_set_cpus_allowed_comm);
334 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_sched_setaffinity_early);
335 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_free_task);
336 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_dup_task_struct);
337 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_after_enqueue_task);
338 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_after_dequeue_task);
339 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_enqueue_entity);
340 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_dequeue_entity);
341 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_enqueue_task_fair);
342 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_dequeue_task_fair);
343 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_sched_stat_runtime_rt);
344 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_prepare_update_load_avg_se);
345 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_finish_update_load_avg_se);
346 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_tune_inactive_ratio);
347 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_update_topology_flags_workfn);
348 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_of_i2c_get_board_info);
349 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_cgroup_attach);
350 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mm_dirty_limits);
351 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_oom_check_panic);
352 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_check_uninterruptible_tasks);
353 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_check_uninterruptible_tasks_dn);
354 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mmc_blk_reset);
355 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mmc_blk_mq_rw_recovery);
356 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_sd_update_bus_speed_mode);
357 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mmc_attach_sd);
358 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_sdhci_get_cd);
359 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mmc_gpio_cd_irqt);
360 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_save_vmalloc_stack);
361 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_remove_vmalloc_stack);
362 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_show_stack_hash);
363 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_save_track_hash);
364 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_vmpressure);
365 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_cpufreq_acct_update_power);
366 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_typec_tcpm_log);
367 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_media_device_setup_link);
368 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_media_device_setup_link);
369 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_clear_reserved_fmt_fields);
370 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_fill_ext_fmtdesc);
371 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_clear_mask_adjust);
372 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_v4l2subdev_set_selection);
373 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_v4l2subdev_set_selection);
374 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_v4l2subdev_set_fmt);
375 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_v4l2subdev_set_fmt);
376 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_v4l2subdev_set_frame_interval);
377 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_v4l2subdev_set_frame_interval);
378 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_scmi_timeout_sync);
379 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_find_new_ilb);
380 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_freq_qos_add_request);
381 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_freq_qos_update_request);
382 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_freq_qos_remove_request);
383 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_set_balance_anon_file_reclaim);
384 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_cpuidle_psci_enter);
385 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_cpuidle_psci_exit);
386 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_sha256);
387 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_aes_expandkey);
388 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_aes_encrypt);
389 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_aes_decrypt);
390 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_force_compatible_pre);
391 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_force_compatible_post);
392 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_binder_print_transaction_info);
393 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_setscheduler_uclamp);
394 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_rproc_recovery);
395 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_rproc_recovery_set);
396 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_ptype_head);
397 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_kfree_skb);
398 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_check_mmap_file);
399 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_check_file_open);
400 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_check_bpf_syscall);
401 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_usb_dev_suspend);
402 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_usb_dev_resume);
403 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_ipv6_gen_linklocal_addr);
404 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_sound_usb_support_cpu_suspend);
405 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_snd_compr_use_pause_in_drain);
406 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_snd_soc_card_get_comp_chain);
407 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_show_max_freq);
408 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_tcp_sendmsg_locked);
409 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_tcp_recvmsg);
410 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_udp_sendmsg);
411 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_udp_recvmsg);
412 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_tcp_recvmsg_stat);
413 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_pci_d3_sleep);
414 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_kmalloc_slab);
415 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_disable_thermal_cooling_stats);
416 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mmap_region);
417 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_update_page_mapcount);
418 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_add_page_to_lrulist);
419 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_del_page_from_lrulist);
420 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_page_should_be_protected);
421 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mark_page_accessed);
422 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_try_to_unmap_one);
423 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mem_cgroup_id_remove);
424 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mem_cgroup_css_offline);
425 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mem_cgroup_css_online);
426 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mem_cgroup_free);
427 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mem_cgroup_alloc);
428 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_subpage_dma_contig_alloc);
429 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_binder_looper_state_registered);
430 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_binder_thread_read);
431 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_binder_free_proc);
432 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_binder_thread_release);
433 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_binder_has_work_ilocked);
434 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_binder_read_done);
435 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_handle_tlb_conf);
436 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_shrink_node_memcgs);
437 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_ra_tuning_max_page);
438 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_handle_pte_fault_end);
439 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_handle_pte_fault_end);
440 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_cow_user_page);
441 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_swapin_add_anon_rmap);
442 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_waiting_for_page_migration);
443 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_migrate_page_states);
444 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_page_referenced_one_end);
445 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_count_pswpin);
446 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_count_pswpout);
447 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_count_swpout_vm_event);
448 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_swap_slot_cache_active);
449 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_drain_slots_cache_cpu);
450 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_drain_slots_cache_cpu);
451 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_alloc_swap_slot_cache);
452 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_alloc_swap_slot_cache);
453 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_free_swap_slot);
454 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_free_swap_slot);
455 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_get_swap_page);
456 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_get_swap_page);
457 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_madvise_cold_or_pageout);
458 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_page_isolated_for_reclaim);
459 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_inactive_is_low);
460 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_snapshot_refaults);
461 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_account_swap_pages);
462 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_unuse_swap_page);
463 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_init_swap_info_struct);
464 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_si_swapinfo);
465 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_alloc_si);
466 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_alloc_si);
467 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_free_pages);
468 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_set_shmem_page_flag);
469 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mmput);
470 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_sched_pelt_multiplier);
471 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_alloc_pages_reclaim_bypass);
472 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_alloc_pages_failure_bypass);
473 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_check_page_look_around_ref);
474 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_look_around);
475 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_look_around_migrate_page);
476 EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_test_clear_look_around_ref);
477 EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_dma_buf_stats_teardown);
478 /*
479  * For type visibility
480  */
481 #ifdef CONFIG_ARM64
482 #include <linux/irqchip/arm-gic-v3.h>
483 const struct gic_chip_data *GKI_struct_gic_chip_data;
484 EXPORT_SYMBOL_GPL(GKI_struct_gic_chip_data);
485 #endif
486 
487 #include <linux/swap_slots.h>
488 const struct swap_slots_cache *GKI_struct_swap_slots_cache;
489 EXPORT_SYMBOL_GPL(GKI_struct_swap_slots_cache);
490