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
20namespace introvirt {
21namespace x86 {
22
27enum 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
Msr
x86_64 MSR valueus TODO: Many values are missing from this enum
Definition Msr.hh:27
Core IntroVirt classes.
Definition Cr0.hh:20