srs_x64_mock.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 <gsl/gsl>
23 #include <debug.h>
24 
25 extern "C" uint16_t
27 {
28  std::cerr << __FUNC__ << " called" << '\n';
29  abort();
30 }
31 
32 extern "C" void
33 __attribute__((weak)) __write_es(uint16_t val) noexcept
34 {
35  std::cerr << __FUNC__ << " called with: " << view_as_pointer(val) << '\n';
36  abort();
37 }
38 
39 extern "C" uint16_t
40 __attribute__((weak)) __read_cs(void) noexcept
41 {
42  std::cerr << __FUNC__ << " called" << '\n';
43  abort();
44 }
45 
46 extern "C" void
47 __attribute__((weak)) __write_cs(uint16_t val) noexcept
48 {
49  std::cerr << __FUNC__ << " called with: " << view_as_pointer(val) << '\n';
50  abort();
51 }
52 
53 extern "C" uint16_t
54 __attribute__((weak)) __read_ss(void) noexcept
55 {
56  std::cerr << __FUNC__ << " called" << '\n';
57  abort();
58 }
59 
60 extern "C" void
61 __attribute__((weak)) __write_ss(uint16_t val) noexcept
62 {
63  std::cerr << __FUNC__ << " called with: " << view_as_pointer(val) << '\n';
64  abort();
65 }
66 
67 extern "C" uint16_t
68 __attribute__((weak)) __read_ds(void) noexcept
69 {
70  std::cerr << __FUNC__ << " called" << '\n';
71  abort();
72 }
73 
74 extern "C" void
75 __attribute__((weak)) __write_ds(uint16_t val) noexcept
76 {
77  std::cerr << __FUNC__ << " called with: " << view_as_pointer(val) << '\n';
78  abort();
79 }
80 
81 extern "C" uint16_t
82 __attribute__((weak)) __read_fs(void) noexcept
83 {
84  std::cerr << __FUNC__ << " called" << '\n';
85  abort();
86 }
87 
88 extern "C" void
89 __attribute__((weak)) __write_fs(uint16_t val) noexcept
90 {
91  std::cerr << __FUNC__ << " called with: " << view_as_pointer(val) << '\n';
92  abort();
93 }
94 
95 extern "C" uint16_t
96 __attribute__((weak)) __read_gs(void) noexcept
97 {
98  std::cerr << __FUNC__ << " called" << '\n';
99  abort();
100 }
101 
102 extern "C" void
103 __attribute__((weak)) __write_gs(uint16_t val) noexcept
104 {
105  std::cerr << __FUNC__ << " called with: " << view_as_pointer(val) << '\n';
106  abort();
107 }
108 
109 extern "C" uint16_t
110 __attribute__((weak)) __read_ldtr(void) noexcept
111 {
112  std::cerr << __FUNC__ << " called" << '\n';
113  abort();
114 }
115 
116 extern "C" void
117 __attribute__((weak)) __write_ldtr(uint16_t val) noexcept
118 {
119  std::cerr << __FUNC__ << " called with: " << view_as_pointer(val) << '\n';
120  abort();
121 }
122 
123 extern "C" uint16_t
124 __attribute__((weak)) __read_tr(void) noexcept
125 {
126  std::cerr << __FUNC__ << " called" << '\n';
127  abort();
128 }
129 
130 extern "C" void
131 __attribute__((weak)) __write_tr(uint16_t val) noexcept
132 {
133  std::cerr << __FUNC__ << " called with: " << view_as_pointer(val) << '\n';
134  abort();
135 }
uint16_t __read_ds(void) noexcept
void __write_ldtr(uint16_t val) noexcept
void __write_tr(uint16_t val) noexcept
uint16_t __read_ss(void) noexcept
void __write_gs(uint16_t val) noexcept
void __write_fs(uint16_t val) noexcept
void __write_cs(uint16_t val) noexcept
void __write_ds(uint16_t val) noexcept
uint16_t __read_cs(void) noexcept
void uint64_t uint64_t uint64_t *rdx noexcept
uint16_t __read_es(void) noexcept
uint16_t __read_tr(void) noexcept
void __write_ss(uint16_t val) noexcept
uint16_t __attribute__((weak)) __read_es(void) noexcept
void __write_es(uint16_t val) noexcept
const void * view_as_pointer(const T val)
uint16_t __read_gs(void) noexcept
uint16_t __read_ldtr(void) noexcept
uint16_t __read_fs(void) noexcept