Iros
 
Loading...
Searching...
No Matches
processor_info.h
Go to the documentation of this file.
1#pragma once
2
5#include "di/meta/constexpr.h"
6#include "di/types/prelude.h"
8
9namespace iris {
11 None = 0,
12 Smep = (1 << 0),
13 Smap = (1 << 1),
14 Sse = (1 << 2),
15 Sse2 = (1 << 3),
16 Fxsr = (1 << 4),
17 Mmx = (1 << 5),
18 Sse3 = (1 << 6),
19 Ssse3 = (1 << 7),
20 Sse4_1 = (1 << 8),
21 Sse4_2 = (1 << 9),
22 Xsave = (1 << 10),
23 Avx = (1 << 11),
24 Avx2 = (1 << 12),
25 Avx512 = (1 << 13),
26 FsGsBase = (1 << 14),
27 Apic = (1 << 15),
28 X2Apic = (1 << 16),
29 GibPages = (1 << 17),
30};
31
33
52
53auto detect_processor_info() -> ProcessorInfo;
54}
#define DI_DEFINE_ENUM_BITWISE_OPERATIONS(Type)
Definition bitwise_enum.h:5
Definition static_vector.h:17
Definition string_impl_forward_declaration.h:9
Definition transparent_encoding.h:34
__UINT64_TYPE__ u64
Definition integers.h:12
__UINT32_TYPE__ u32
Definition integers.h:11
Definition cxx_init.cpp:12
ProcessorFeatures
Definition processor_info.h:10
@ Mmx
Definition processor_info.h:17
@ Xsave
Definition processor_info.h:22
@ Sse3
Definition processor_info.h:18
@ Apic
Definition processor_info.h:27
@ Sse
Definition processor_info.h:14
@ Smep
Definition processor_info.h:12
@ Fxsr
Definition processor_info.h:16
@ Avx
Definition processor_info.h:23
@ Avx512
Definition processor_info.h:25
@ None
Definition processor_info.h:11
@ Ssse3
Definition processor_info.h:19
@ Sse4_2
Definition processor_info.h:21
@ FsGsBase
Definition processor_info.h:26
@ Sse4_1
Definition processor_info.h:20
@ Sse2
Definition processor_info.h:15
@ X2Apic
Definition processor_info.h:28
@ Avx2
Definition processor_info.h:24
@ Smap
Definition processor_info.h:13
@ GibPages
Definition processor_info.h:29
auto detect_processor_info() -> ProcessorInfo
Definition processor_info.cpp:74
Definition processor_info.h:34
void print_to_console()
Definition processor_info.cpp:203
u32 fpu_max_state_size
Definition processor_info.h:36
auto has_fs_gs_base() const -> bool
Definition processor_info.h:47
auto has_apic() const -> bool
Definition processor_info.h:49
ProcessorFeatures features
Definition processor_info.h:35
auto has_xsave() const -> bool
Definition processor_info.h:44
di::container::string::StringImpl< di::container::string::TransparentEncoding, di::StaticVector< char, di::Constexpr< 12ZU > > > vendor_string
Definition processor_info.h:40
auto has_gib_pages() const -> bool
Definition processor_info.h:50
u64 fpu_valid_xcr0
Definition processor_info.h:37