Extra documentation. Some other reserved bits are repurposed. Also explicitly mention that bit 20 is zero (formerly RC4_CHAR), so it's not accidentally repurposed later. Change-Id: Idc4b32efe089ae7b7295472c4488f75258b7f962 Reviewed-on: https://boringssl-review.googlesource.com/5432 Reviewed-by: Adam Langley <agl@google.com>
diff --git a/include/openssl/cpu.h b/include/openssl/cpu.h index 83ec473..08dbae0 100644 --- a/include/openssl/cpu.h +++ b/include/openssl/cpu.h
@@ -77,14 +77,20 @@ * * Index 0: * EDX for CPUID where EAX = 1 + * Bit 20 is always zero + * Bit 28 is adjusted to reflect whether the data cache is shared between + * multiple logical cores * Bit 30 is used to indicate an Intel CPU * Index 1: * ECX for CPUID where EAX = 1 + * Bit 11 is used to indicate AMD XOP support, not SDBG * Index 2: * EBX for CPUID where EAX = 7 + * Index 3 is set to zero. * * Note: the CPUID bits are pre-adjusted for the OSXSAVE bit and the YMM and XMM - * bits in XCR0, so it is not necessary to check those. */ + * bits in XCR0, so it is not necessary to check those. However, instructions + * requiring XMM support are not preadjusted for the FXSR bit. */ extern uint32_t OPENSSL_ia32cap_P[4]; #endif