Line data Source code
1 0 : /*
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 0 : #define CPUID_BASIC_INFO_1 0x01
15 0 : #define CPUID_EXTENDED_FEATURES_LVL 0x07
16 0 : #define CPUID_EXTENDED_TOPOLOGY_ENUMERATION 0x0B
17 0 : #define CPUID_EXTENDED_TOPOLOGY_ENUMERATION_V2 0x1F
18 :
19 : /* Bits to check in CPUID extended features */
20 0 : #define CPUID_SPEC_CTRL_SSBD BIT(31)
21 0 : #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_ */
|