Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux

Pull arm64 fixes from Will Deacon:
"There's a small memblock accounting problem when freeing the initrd
and a Spectre-v2 mitigation for NVIDIA Denver CPUs which just requires
a match on the CPU ID register.

Summary:

- Mitigate Spectre-v2 for NVIDIA Denver CPUs

- Free memblocks corresponding to freed initrd area"

* tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
arm64: capabilities: Add NVIDIA Denver CPU to bp_harden list
arm64: Add MIDR encoding for NVIDIA CPUs
arm64: To remove initrd reserved area entry from memblock

+10 -1
+6
arch/arm64/include/asm/cputype.h
··· 75 75 #define ARM_CPU_IMP_CAVIUM 0x43 76 76 #define ARM_CPU_IMP_BRCM 0x42 77 77 #define ARM_CPU_IMP_QCOM 0x51 78 + #define ARM_CPU_IMP_NVIDIA 0x4E 78 79 79 80 #define ARM_CPU_PART_AEM_V8 0xD0F 80 81 #define ARM_CPU_PART_FOUNDATION 0xD00 ··· 100 99 #define QCOM_CPU_PART_FALKOR 0xC00 101 100 #define QCOM_CPU_PART_KRYO 0x200 102 101 102 + #define NVIDIA_CPU_PART_DENVER 0x003 103 + #define NVIDIA_CPU_PART_CARMEL 0x004 104 + 103 105 #define MIDR_CORTEX_A53 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_A53) 104 106 #define MIDR_CORTEX_A57 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_A57) 105 107 #define MIDR_CORTEX_A72 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_A72) ··· 118 114 #define MIDR_QCOM_FALKOR_V1 MIDR_CPU_MODEL(ARM_CPU_IMP_QCOM, QCOM_CPU_PART_FALKOR_V1) 119 115 #define MIDR_QCOM_FALKOR MIDR_CPU_MODEL(ARM_CPU_IMP_QCOM, QCOM_CPU_PART_FALKOR) 120 116 #define MIDR_QCOM_KRYO MIDR_CPU_MODEL(ARM_CPU_IMP_QCOM, QCOM_CPU_PART_KRYO) 117 + #define MIDR_NVIDIA_DENVER MIDR_CPU_MODEL(ARM_CPU_IMP_NVIDIA, NVIDIA_CPU_PART_DENVER) 118 + #define MIDR_NVIDIA_CARMEL MIDR_CPU_MODEL(ARM_CPU_IMP_NVIDIA, NVIDIA_CPU_PART_CARMEL) 121 119 122 120 #ifndef __ASSEMBLY__ 123 121
+1
arch/arm64/kernel/cpu_errata.c
··· 316 316 MIDR_ALL_VERSIONS(MIDR_CAVIUM_THUNDERX2), 317 317 MIDR_ALL_VERSIONS(MIDR_QCOM_FALKOR_V1), 318 318 MIDR_ALL_VERSIONS(MIDR_QCOM_FALKOR), 319 + MIDR_ALL_VERSIONS(MIDR_NVIDIA_DENVER), 319 320 {}, 320 321 }; 321 322
+3 -1
arch/arm64/mm/init.c
··· 646 646 647 647 void __init free_initrd_mem(unsigned long start, unsigned long end) 648 648 { 649 - if (!keep_initrd) 649 + if (!keep_initrd) { 650 650 free_reserved_area((void *)start, (void *)end, 0, "initrd"); 651 + memblock_free(__virt_to_phys(start), end - start); 652 + } 651 653 } 652 654 653 655 static int __init keepinitrd_setup(char *__unused)