2 This file is part of Valgrind, a dynamic binary instrumentation
5 Copyright (C) 2012-2017 Citrix
7 This program is free software; you can redistribute it and/or
8 modify it under the terms of the GNU General Public License as
9 published by the Free Software Foundation; either version 2 of the
10 License, or (at your option) any later version.
12 This program is distributed in the hope that it will be useful, but
13 WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 General Public License for more details.
17 You should have received a copy of the GNU General Public License
18 along with this program; if not, see <http://www.gnu.org/licenses/>.
20 The GNU General Public License is contained in the file COPYING.
23 /* Contributed by Andrew Cooper <andrew.cooper3@citrix.com>
24 and Ian Campbell <ian.campbell@citrix.com> */
26 #ifndef __VKI_XEN_MMUEXT_H
27 #define __VKI_XEN_MMUEXT_H
29 #define VKI_XEN_MMUEXT_PIN_L1_TABLE 0
30 #define VKI_XEN_MMUEXT_PIN_L2_TABLE 1
31 #define VKI_XEN_MMUEXT_PIN_L3_TABLE 2
32 #define VKI_XEN_MMUEXT_PIN_L4_TABLE 3
33 #define VKI_XEN_MMUEXT_UNPIN_TABLE 4
34 #define VKI_XEN_MMUEXT_NEW_BASEPTR 5
35 #define VKI_XEN_MMUEXT_TLB_FLUSH_LOCAL 6
36 #define VKI_XEN_MMUEXT_INVLPG_LOCAL 7
37 #define VKI_XEN_MMUEXT_TLB_FLUSH_MULTI 8
38 #define VKI_XEN_MMUEXT_INVLPG_MULTI 9
39 #define VKI_XEN_MMUEXT_TLB_FLUSH_ALL 10
40 #define VKI_XEN_MMUEXT_INVLPG_ALL 11
41 #define VKI_XEN_MMUEXT_FLUSH_CACHE 12
42 #define VKI_XEN_MMUEXT_SET_LDT 13
43 #define VKI_XEN_MMUEXT_NEW_USER_BASEPTR 15
44 #define VKI_XEN_MMUEXT_CLEAR_PAGE 16
45 #define VKI_XEN_MMUEXT_COPY_PAGE 17
46 #define VKI_XEN_MMUEXT_FLUSH_CACHE_GLOBAL 18
47 #define VKI_XEN_MMUEXT_MARK_SUPER 19
48 #define VKI_XEN_MMUEXT_UNMARK_SUPER 20
50 struct vki_xen_mmuext_op
{
53 /* [UN]PIN_TABLE, NEW_BASEPTR, NEW_USER_BASEPTR
54 * CLEAR_PAGE, COPY_PAGE, [UN]MARK_SUPER */
56 /* INVLPG_LOCAL, INVLPG_ALL, SET_LDT */
57 unsigned long linear_addr
;
62 /* TLB_FLUSH_MULTI, INVLPG_MULTI */
63 VKI_XEN_GUEST_HANDLE(const_void
) vcpumask
;
65 vki_xen_pfn_t src_mfn
;
69 #endif // __VKI_XEN_MMUEXT_H
71 /*--------------------------------------------------------------------*/
73 /*--------------------------------------------------------------------*/