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 branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull x86 fixes from Ingo Molnar:
"A handful of fixes: a kexec linking fix, an AMD MWAITX fix, a vmware
guest support fix when built under Clang, and new CPU model number
definitions"

* 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
x86/cpu: Add Comet Lake to the Intel CPU models header
lib/string: Make memzero_explicit() inline instead of external
x86/cpu/vmware: Use the full form of INL in VMWARE_PORT
x86/asm: Fix MWAITX C-state hint value

+27 -26
+3
arch/x86/include/asm/intel-family.h
··· 83 83 #define INTEL_FAM6_TIGERLAKE_L 0x8C 84 84 #define INTEL_FAM6_TIGERLAKE 0x8D 85 85 86 + #define INTEL_FAM6_COMETLAKE 0xA5 87 + #define INTEL_FAM6_COMETLAKE_L 0xA6 88 + 86 89 /* "Small Core" Processors (Atom) */ 87 90 88 91 #define INTEL_FAM6_ATOM_BONNELL 0x1C /* Diamondville, Pineview */
+1 -1
arch/x86/include/asm/mwait.h
··· 21 21 #define MWAIT_ECX_INTERRUPT_BREAK 0x1 22 22 #define MWAITX_ECX_TIMER_ENABLE BIT(1) 23 23 #define MWAITX_MAX_LOOPS ((u32)-1) 24 - #define MWAITX_DISABLE_CSTATES 0xf 24 + #define MWAITX_DISABLE_CSTATES 0xf0 25 25 26 26 static inline void __monitor(const void *eax, unsigned long ecx, 27 27 unsigned long edx)
+1 -1
arch/x86/kernel/cpu/vmware.c
··· 49 49 #define VMWARE_CMD_VCPU_RESERVED 31 50 50 51 51 #define VMWARE_PORT(cmd, eax, ebx, ecx, edx) \ 52 - __asm__("inl (%%dx)" : \ 52 + __asm__("inl (%%dx), %%eax" : \ 53 53 "=a"(eax), "=c"(ecx), "=d"(edx), "=b"(ebx) : \ 54 54 "a"(VMWARE_HYPERVISOR_MAGIC), \ 55 55 "c"(VMWARE_CMD_##cmd), \
+2 -2
arch/x86/lib/delay.c
··· 113 113 __monitorx(raw_cpu_ptr(&cpu_tss_rw), 0, 0); 114 114 115 115 /* 116 - * AMD, like Intel, supports the EAX hint and EAX=0xf 117 - * means, do not enter any deep C-state and we use it 116 + * AMD, like Intel's MWAIT version, supports the EAX hint and 117 + * EAX=0xf0 means, do not enter any deep C-state and we use it 118 118 * here in delay() to minimize wakeup latency. 119 119 */ 120 120 __mwaitx(MWAITX_DISABLE_CSTATES, delay, MWAITX_ECX_TIMER_ENABLE);
+20 -1
include/linux/string.h
··· 227 227 } 228 228 229 229 size_t memweight(const void *ptr, size_t bytes); 230 - void memzero_explicit(void *s, size_t count); 230 + 231 + /** 232 + * memzero_explicit - Fill a region of memory (e.g. sensitive 233 + * keying data) with 0s. 234 + * @s: Pointer to the start of the area. 235 + * @count: The size of the area. 236 + * 237 + * Note: usually using memset() is just fine (!), but in cases 238 + * where clearing out _local_ data at the end of a scope is 239 + * necessary, memzero_explicit() should be used instead in 240 + * order to prevent the compiler from optimising away zeroing. 241 + * 242 + * memzero_explicit() doesn't need an arch-specific version as 243 + * it just invokes the one of memset() implicitly. 244 + */ 245 + static inline void memzero_explicit(void *s, size_t count) 246 + { 247 + memset(s, 0, count); 248 + barrier_data(s); 249 + } 231 250 232 251 /** 233 252 * kbasename - return the last part of a pathname.
-21
lib/string.c
··· 748 748 EXPORT_SYMBOL(memset); 749 749 #endif 750 750 751 - /** 752 - * memzero_explicit - Fill a region of memory (e.g. sensitive 753 - * keying data) with 0s. 754 - * @s: Pointer to the start of the area. 755 - * @count: The size of the area. 756 - * 757 - * Note: usually using memset() is just fine (!), but in cases 758 - * where clearing out _local_ data at the end of a scope is 759 - * necessary, memzero_explicit() should be used instead in 760 - * order to prevent the compiler from optimising away zeroing. 761 - * 762 - * memzero_explicit() doesn't need an arch-specific version as 763 - * it just invokes the one of memset() implicitly. 764 - */ 765 - void memzero_explicit(void *s, size_t count) 766 - { 767 - memset(s, 0, count); 768 - barrier_data(s); 769 - } 770 - EXPORT_SYMBOL(memzero_explicit); 771 - 772 751 #ifndef __HAVE_ARCH_MEMSET16 773 752 /** 774 753 * memset16() - Fill a memory area with a uint16_t