18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 28c2ecf20Sopenharmony_ci#ifndef _ASM_ARM_PARAVIRT_H 38c2ecf20Sopenharmony_ci#define _ASM_ARM_PARAVIRT_H 48c2ecf20Sopenharmony_ci 58c2ecf20Sopenharmony_ci#ifdef CONFIG_PARAVIRT 68c2ecf20Sopenharmony_cistruct static_key; 78c2ecf20Sopenharmony_ciextern struct static_key paravirt_steal_enabled; 88c2ecf20Sopenharmony_ciextern struct static_key paravirt_steal_rq_enabled; 98c2ecf20Sopenharmony_ci 108c2ecf20Sopenharmony_cistruct pv_time_ops { 118c2ecf20Sopenharmony_ci unsigned long long (*steal_clock)(int cpu); 128c2ecf20Sopenharmony_ci}; 138c2ecf20Sopenharmony_ci 148c2ecf20Sopenharmony_cistruct paravirt_patch_template { 158c2ecf20Sopenharmony_ci struct pv_time_ops time; 168c2ecf20Sopenharmony_ci}; 178c2ecf20Sopenharmony_ci 188c2ecf20Sopenharmony_ciextern struct paravirt_patch_template pv_ops; 198c2ecf20Sopenharmony_ci 208c2ecf20Sopenharmony_cistatic inline u64 paravirt_steal_clock(int cpu) 218c2ecf20Sopenharmony_ci{ 228c2ecf20Sopenharmony_ci return pv_ops.time.steal_clock(cpu); 238c2ecf20Sopenharmony_ci} 248c2ecf20Sopenharmony_ci#endif 258c2ecf20Sopenharmony_ci 268c2ecf20Sopenharmony_ci#endif 27