libintrovirt
v0.57.4
IntroVirt introspection library
Loading...
Searching...
No Matches
Msr.hh
Go to the documentation of this file.
1
/*
2
* Copyright 2021 Assured Information Security, Inc.
3
*
4
* Licensed under the Apache License, Version 2.0 (the "License");
5
* you may not use this file except in compliance with the License.
6
* You may obtain a copy of the License at
7
*
8
* http://www.apache.org/licenses/LICENSE-2.0
9
*
10
* Unless required by applicable law or agreed to in writing, software
11
* distributed under the License is distributed on an "AS IS" BASIS,
12
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
* See the License for the specific language governing permissions and
14
* limitations under the License.
15
*/
16
#pragma once
17
18
#include <cstdint>
19
20
namespace
introvirt
{
21
namespace
x86 {
22
27
enum class
Msr
: uint64_t {
28
MSR_EFER
= 0xc0000080,
//< extended feature register
29
MSR_STAR
= 0xc0000081,
//< legacy mode SYSCALL target
30
MSR_LSTAR
= 0xc0000082,
//< long mode SYSCALL target
31
MSR_CSTAR
= 0xc0000083,
//< compat mode SYSCALL target
32
MSR_SYSCALL_MASK
= 0xc0000084,
//< EFLAGS mask for syscall
33
MSR_FS_BASE
= 0xc0000100,
//< 64bit FS base
34
MSR_GS_BASE
= 0xc0000101,
//< 64bit GS base
35
MSR_KERNEL_GS_BASE
= 0xc0000102,
//< SwapGS GS shadow
36
MSR_TSC_AUX
= 0xc0000103,
//< Auxiliary TSC
37
MSR_IA32_SPEC_CTRL
= 0x00000048,
//< Speculation Control
38
MSR_IA32_PRED_CMD
= 0x00000049,
//< Prediction Command
39
40
MSR_IA32_SYSENTER_CS
= 0x00000174,
//< The code segment to switch to for the SYSENTER
41
MSR_IA32_SYSENTER_ESP
= 0x00000175,
//< The stack to switch to when using SYSENTER
42
MSR_IA32_SYSENTER_EIP
= 0x00000176,
//< The instruction pointer to jump to when using SYSENTER
43
};
44
45
}
// namespace x86
46
}
// namespace introvirt
introvirt::x86::Msr
Msr
x86_64 MSR valueus TODO: Many values are missing from this enum
Definition
Msr.hh:27
introvirt::x86::Msr::MSR_FS_BASE
@ MSR_FS_BASE
introvirt::x86::Msr::MSR_GS_BASE
@ MSR_GS_BASE
introvirt::x86::Msr::MSR_IA32_PRED_CMD
@ MSR_IA32_PRED_CMD
introvirt::x86::Msr::MSR_IA32_SPEC_CTRL
@ MSR_IA32_SPEC_CTRL
introvirt::x86::Msr::MSR_STAR
@ MSR_STAR
introvirt::x86::Msr::MSR_TSC_AUX
@ MSR_TSC_AUX
introvirt::x86::Msr::MSR_EFER
@ MSR_EFER
introvirt::x86::Msr::MSR_CSTAR
@ MSR_CSTAR
introvirt::x86::Msr::MSR_IA32_SYSENTER_ESP
@ MSR_IA32_SYSENTER_ESP
introvirt::x86::Msr::MSR_LSTAR
@ MSR_LSTAR
introvirt::x86::Msr::MSR_SYSCALL_MASK
@ MSR_SYSCALL_MASK
introvirt::x86::Msr::MSR_KERNEL_GS_BASE
@ MSR_KERNEL_GS_BASE
introvirt::x86::Msr::MSR_IA32_SYSENTER_EIP
@ MSR_IA32_SYSENTER_EIP
introvirt::x86::Msr::MSR_IA32_SYSENTER_CS
@ MSR_IA32_SYSENTER_CS
introvirt
Core IntroVirt classes.
Definition
Cr0.hh:20