diff --git a/arch/x86/kernel/cpu/common.c b/arch/x86/kernel/cpu/common.c index 02472fc763d9b..cc408ec818870 100644 --- a/arch/x86/kernel/cpu/common.c +++ b/arch/x86/kernel/cpu/common.c @@ -501,12 +501,20 @@ EXPORT_SYMBOL_FOR_KVM(cr4_read_shadow); void cr4_init(void) { unsigned long cr4 = __read_cr4(); + unsigned long prepin_cr4; if (boot_cpu_has(X86_FEATURE_PCID)) cr4 |= X86_CR4_PCIDE; + prepin_cr4 = cr4; if (static_branch_likely(&cr_pinning)) cr4 = (cr4 & ~cr4_pinned_mask) | cr4_pinned_bits; + if (prepin_cr4 != cr4) { + trace_printk(" prepin_cr4: 0x%016lx\n", prepin_cr4); + trace_printk(" cr4: 0x%016lx\n", cr4); + trace_printk("cr4_pinned_mask: 0x%016lx\n", cr4_pinned_mask); + trace_printk("cr4_pinned_bits: 0x%016lx\n", cr4_pinned_bits); + } __write_cr4(cr4); /* Initialize cr4 shadow for this CPU. */