On 7/25/19 8:01 AM, Jan Kiszka wrote:
> "lapic_timer_frequency heißt jetzt lapic_timer_period, sonst ändert sich
> nix."

Doch.

We have a problem if KALLSYMS_ALL=y. Jailhouse will compile, but it
fails loading the driver module with EINVAL, the symbol can not be
resolved, see below.

> 
> Signed-off-by: Jan Kiszka <[email protected]>
> ---
>  driver/main.c | 9 ++++++---
>  1 file changed, 6 insertions(+), 3 deletions(-)
> 
> diff --git a/driver/main.c b/driver/main.c
> index fe752753..b3896609 100644
> --- a/driver/main.c
> +++ b/driver/main.c
> @@ -100,7 +100,10 @@ static struct resource *hypervisor_mem_res;
>  
>  static typeof(ioremap_page_range) *ioremap_page_range_sym;
>  #ifdef CONFIG_X86
> -static typeof(lapic_timer_frequency) *lapic_timer_frequency_sym;
> +#if LINUX_VERSION_CODE < KERNEL_VERSION(5,3,0)
> +#define lapic_timer_period   lapic_timer_frequency
> +#endif
> +static typeof(lapic_timer_period) *lapic_timer_period_sym;
>  #endif
>  #ifdef CONFIG_ARM
>  static typeof(__boot_cpu_mode) *__boot_cpu_mode_sym;
> @@ -550,7 +553,7 @@ static int jailhouse_cmd_enable(struct jailhouse_system 
> __user *arg)
>               config->platform_info.x86.tsc_khz = tsc_khz;
>       if (config->platform_info.x86.apic_khz == 0)
>               config->platform_info.x86.apic_khz =
> -                     *lapic_timer_frequency_sym / (1000 / HZ);
> +                     *lapic_timer_period_sym / (1000 / HZ);
>  #endif
>  
>       err = jailhouse_cell_prepare_root(&config->root_cell);
> @@ -897,7 +900,7 @@ static int __init jailhouse_init(void)
>  
>       RESOLVE_EXTERNAL_SYMBOL(ioremap_page_range);
>  #ifdef CONFIG_X86
> -     RESOLVE_EXTERNAL_SYMBOL(lapic_timer_frequency);
> +     RESOLVE_EXTERNAL_SYMBOL(lapic_timer_period);
Here, lapic_timer_period won't be replaced with lapic_timer_frequency in
the RESOLVE_EXTERNAL_SYMBOL macro:

        symbol##_sym = (void *)kallsyms_lookup_name(#symbol);   \

  Ralf

>  #endif
>  #ifdef CONFIG_ARM
>       RESOLVE_EXTERNAL_SYMBOL(__boot_cpu_mode);
> 

-- 
You received this message because you are subscribed to the Google Groups 
"Jailhouse" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jailhouse-dev/274f6f7f-401d-d275-4b53-dd957cd641ba%40oth-regensburg.de.

Reply via email to