1 /*
2  * Copyright (c) 2022 Intel Corp.
3  * SPDX-License-Identifier: Apache-2.0
4  */
5 
6 #ifndef ZEPHYR_INCLUDE_ARCH_X86_CPUID_H_
7 #define ZEPHYR_INCLUDE_ARCH_X86_CPUID_H_
8 
9 #ifndef _ASMLANGUAGE
10 #ifdef __cplusplus
11 extern "C" {
12 #endif
13 
14 #define CPUID_BASIC_INFO_1			0x01
15 #define CPUID_EXTENDED_FEATURES_LVL		0x07
16 #define CPUID_EXTENDED_TOPOLOGY_ENUMERATION	0x0B
17 #define CPUID_EXTENDED_TOPOLOGY_ENUMERATION_V2	0x1F
18 
19 /* Bits to check in CPUID extended features */
20 #define CPUID_SPEC_CTRL_SSBD	BIT(31)
21 #define CPUID_SPEC_CTRL_IBRS	BIT(26)
22 
23 uint32_t z_x86_cpuid_extended_features(void);
24 
25 uint8_t z_x86_cpuid_get_current_physical_apic_id(void);
26 
27 #ifdef __cplusplus
28 }
29 #endif
30 #endif /* _ASMLANGUAGE */
31 
32 #endif /* ZEPHYR_INCLUDE_ARCH_X86_CPUID_H_ */
33