Re: [PATCH] x86/acrn: Set up timekeeping

From: Dave Hansen
Date: Wed Aug 31 2022 - 17:28:26 EST


On 8/3/22 22:59, Fei Li wrote:
> +static inline unsigned long acrn_get_tsc_khz(void)
> +{
> + return cpuid_eax(ACRN_CPUID_TIMING_INFO);
> +}
> +
> /*
> * Hypercalls for ACRN
> *
> diff --git a/arch/x86/kernel/cpu/acrn.c b/arch/x86/kernel/cpu/acrn.c
> index 23f5f27b5a02..485441b7f030 100644
> --- a/arch/x86/kernel/cpu/acrn.c
> +++ b/arch/x86/kernel/cpu/acrn.c
> @@ -28,6 +28,9 @@ static void __init acrn_init_platform(void)
> {
> /* Setup the IDT for ACRN hypervisor callback */
> alloc_intr_gate(HYPERVISOR_CALLBACK_VECTOR, asm_sysvec_acrn_hv_callback);
> +
> + x86_platform.calibrate_tsc = acrn_get_tsc_khz;
> + x86_platform.calibrate_cpu = acrn_get_tsc_khz;
> }

Could you take a sec and consider what 'static inline' does and means
and also what setting:

x86_platform.calibrate_cpu = acrn_get_tsc_khz;

does?

Using 'static inline' might compile, but it doesn't make sense.