[MODERATED] Re: [PATCH v7 01/10] TAAv7 1
Josh Poimboeuf <[email protected]>
| Newsgroups | org.kernel.lore.historical-speck |
|---|---|
| Message-ID | <20191022172508.7h7d523puvepfjap@treble> |
On Mon, Oct 21, 2019 at 01:23:02PM -0700, speck for Pawan Gupta wrote: > From: Pawan Gupta <[email protected]> > Subject: [PATCH v7 01/10] x86/tsx: Add enumeration support for IA32_TSX_CTRL > MSR > > Transactional Synchronization Extensions (TSX) may be used on certain > processors as part of a speculative side channel attack. A microcode > update for existing processors that are vulnerable to this attack will > add a new MSR, IA32_TSX_CTRL to allow the system administrator the > option to disable TSX as one of the possible mitigations. [Note that > future processors that are not vulnerable will also support the > IA32_TSX_CTRL MSR]. Add defines for the new IA32_TSX_CTRL MSR and its > bits. > > TSX has two sub-features: > > 1. Restricted Transactional Memory (RTM) is an explicitly-used feature > where new instructions begin and end TSX transactions. > 2. Hardware Lock Elision (HLE) is implicitly used when certain kinds of > "old" style locks are used by software. > > Bit 7 of the IA32_ARCH_CAPABILITIES indicates the presence of the > IA32_TSX_CTRL MSR. > > There are two control bits in IA32_TSX_CTRL MSR: > > Bit 0: When set it disables the Restricted Transactional Memory (RTM) > sub-feature of TSX (will force all transactions to abort on the > XBEGIN instruction). > > Bit 1: When set it disables the enumeration of the RTM and HLE feature > (i.e. it will make CPUID(EAX=7).EBX{bit4} and > CPUID(EAX=7).EBX{bit11} read as 0). > > The other TSX sub-feature, Hardware Lock Elision (HLE), is unconditionally > disabled How is HLE unconditionally disabled? Is it done by the above mentioned microcode? Is there a way to enable it? > but still enumerated as present by CPUID(EAX=7).EBX{bit4}. ... unless disabled via bit 1 of IA32_TSX_CTRL_MSR? [ Also please add the above clarifications to the patch description. ] -- Josh