bfvmm
include
intrinsics
debug_x64.h
Go to the documentation of this file.
1
//
2
// Bareflank Hypervisor
3
//
4
// Copyright (C) 2015 Assured Information Security, Inc.
5
// Author: Rian Quinn <quinnr@ainfosec.com>
6
// Author: Brendan Kerrigan <kerriganb@ainfosec.com>
7
//
8
// This library is free software; you can redistribute it and/or
9
// modify it under the terms of the GNU Lesser General Public
10
// License as published by the Free Software Foundation; either
11
// version 2.1 of the License, or (at your option) any later version.
12
//
13
// This library is distributed in the hope that it will be useful,
14
// but WITHOUT ANY WARRANTY; without even the implied warranty of
15
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16
// Lesser General Public License for more details.
17
//
18
// You should have received a copy of the GNU Lesser General Public
19
// License along with this library; if not, write to the Free Software
20
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21
22
#ifndef DEBUG_X64_H
23
#define DEBUG_X64_H
24
25
extern
"C"
uint64_t
__read_dr7
(
void
)
noexcept
;
26
extern
"C"
void
__write_dr7
(uint64_t val)
noexcept
;
27
28
// *INDENT-OFF*
29
30
namespace
x64
31
{
32
namespace
dr7
33
{
34
using
value_type
= uint64_t;
35
36
inline
auto
get
()
noexcept
37
{
return
__read_dr7
(); }
38
39
template<class T, class = typename std::enable_if<std::is_integral<T>::value>
::type
>
40
void
set
(T val)
noexcept
{
__write_dr7
(val); }
41
}
42
}
43
44
// *INDENT-ON*
45
46
#endif
__write_dr7
void __write_dr7(uint64_t val) noexcept
Definition:
test_debug_x64.cpp:34
x64::dr7::value_type
uint64_t value_type
Definition:
debug_x64.h:34
__read_dr7
uint64_t __read_dr7(void) noexcept
Definition:
test_debug_x64.cpp:30
noexcept
void uint64_t uint64_t uint64_t *rdx noexcept
Definition:
cpuid_x64_mock.cpp:58
command_line_parser_command::type
type
Definition:
command_line_parser.h:33
x64
Definition:
cache_x64.h:31
Generated on Fri Apr 28 2017 22:11:38 by
1.8.14