debuggers.hg

view xen/drivers/passthrough/vtd/vtd.h @ 0:7d21f7218375

Exact replica of unstable on 051908 + README-this
author Mukesh Rathor
date Mon May 19 15:34:57 2008 -0700 (2008-05-19)
parents
children 5c0bf00e371d
line source
1 /*
2 * Copyright (c) 2006, Intel Corporation.
3 *
4 * This program is free software; you can redistribute it and/or modify it
5 * under the terms and conditions of the GNU General Public License,
6 * version 2, as published by the Free Software Foundation.
7 *
8 * This program is distributed in the hope it will be useful, but WITHOUT
9 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
10 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
11 * more details.
12 *
13 * You should have received a copy of the GNU General Public License along with
14 * this program; if not, write to the Free Software Foundation, Inc., 59 Temple
15 * Place - Suite 330, Boston, MA 02111-1307 USA.
16 *
17 * Copyright (C) Allen Kay <allen.m.kay@intel.com>
18 * Copyright (C) Weidong Han <weidong.han@intel.com>
19 */
21 #ifndef _VTD_H_
22 #define _VTD_H_
24 #include <xen/iommu.h>
26 struct IO_APIC_route_remap_entry {
27 union {
28 u64 val;
29 struct {
30 u64 vector:8,
31 delivery_mode:3,
32 index_15:1,
33 delivery_status:1,
34 polarity:1,
35 irr:1,
36 trigger:1,
37 mask:1,
38 reserved:31,
39 format:1,
40 index_0_14:15;
41 };
42 };
43 };
45 unsigned int get_clflush_size(void);
46 u64 alloc_pgtable_maddr(void);
47 void free_pgtable_maddr(u64 maddr);
48 void *map_vtd_domain_page(u64 maddr);
49 void unmap_vtd_domain_page(void *va);
51 void iommu_flush_cache_entry(struct iommu *iommu, void *addr);
52 void iommu_flush_cache_page(struct iommu *iommu, void *addr);
54 #endif // _VTD_H_