X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=init%2Fmain.c;h=bb0896c24c088ce3f035d4d76e93aaa693df5e51;hb=94b68be3761e874f0e7727dd6738b2addb0a0fca;hp=052481fbe3633f64b420c5bbd6deea3be261e6a9;hpb=e37a07e0c29cd2cef4633b1e6db5579cc99ba4cd;p=mirror_ubuntu-artful-kernel.git diff --git a/init/main.c b/init/main.c index 052481fbe363..bb0896c24c08 100644 --- a/init/main.c +++ b/init/main.c @@ -75,6 +75,7 @@ #include #include #include +#include #include #include #include @@ -504,6 +505,10 @@ static void __init mm_init(void) pgtable_init(); vmalloc_init(); ioremap_huge_init(); + /* Should be run before the first non-init thread is created */ + init_espfix_bsp(); + /* Should be run after espfix64 is set up. */ + pti_init(); } asmlinkage __visible void __init start_kernel(void) @@ -664,10 +669,6 @@ asmlinkage __visible void __init start_kernel(void) #ifdef CONFIG_X86 if (efi_enabled(EFI_RUNTIME_SERVICES)) efi_enter_virtual_mode(); -#endif -#ifdef CONFIG_X86_ESPFIX64 - /* Should be run before the first non-init thread is created */ - init_espfix_bsp(); #endif thread_stack_cache_init(); cred_init(); @@ -786,16 +787,16 @@ __setup("initcall_blacklist=", initcall_blacklist); static int __init_or_module do_one_initcall_debug(initcall_t fn) { - ktime_t calltime, delta, rettime; + unsigned long long calltime, delta, rettime; unsigned long long duration; int ret; printk(KERN_DEBUG "calling %pF @ %i\n", fn, task_pid_nr(current)); - calltime = ktime_get(); + calltime = local_clock(); ret = fn(); - rettime = ktime_get(); - delta = ktime_sub(rettime, calltime); - duration = (unsigned long long) ktime_to_ns(delta) >> 10; + rettime = local_clock(); + delta = rettime - calltime; + duration = delta >> 10; printk(KERN_DEBUG "initcall %pF returned %d after %lld usecs\n", fn, ret, duration);