bfvmm
src
intrinsics
test
test_debug_x64.cpp
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
#include <
test.h
>
23
#include <
intrinsics/debug_x64.h
>
24
25
using namespace
x64
;
26
27
dr7::value_type
g_dr7
= 0;
28
29
extern
"C"
uint64_t
30
__read_dr7
(
void
)
noexcept
31
{
return
g_dr7
; }
32
33
extern
"C"
void
34
__write_dr7
(uint64_t val)
noexcept
35
{
g_dr7
= val; }
36
37
void
38
intrinsics_ut::test_debug_x64_dr7()
39
{
40
dr7::set
(100U);
41
this->
expect_true
(
dr7::get
() == 100UL);
42
43
dr7::set
(1000U);
44
this->
expect_true
(
dr7::get
() == 1000UL);
45
46
dr7::set
(100UL);
47
this->
expect_true
(
dr7::get
() == 100UL);
48
49
dr7::set
(1000UL);
50
this->
expect_true
(
dr7::get
() == 1000UL);
51
}
x64::dr7::set
void set(T val) noexcept
Definition:
debug_x64.h:40
x64::dr7::value_type
uint64_t value_type
Definition:
debug_x64.h:34
test.h
__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
g_dr7
dr7::value_type g_dr7
Definition:
test_debug_x64.cpp:27
__write_dr7
void __write_dr7(uint64_t val) noexcept
Definition:
test_debug_x64.cpp:34
x64::dr7::get
auto get() noexcept
Definition:
debug_x64.h:36
debug_x64.h
x64
Definition:
cache_x64.h:31
expect_true
#define expect_true(a)
Definition:
exit_handler_intel_x64_unittests.h:38
Generated on Fri Apr 28 2017 22:11:40 by
1.8.14