ia64/xen-unstable

view xen/arch/x86/hvm/vmx/vtd/vtd.h @ 16830:cc5bb500df5f

vtd: Enable queued invalidation method if such HW support is
detected. Otherwise, register invalidation method is used.

Signed-off-by: Allen Kay <allen.m.kay@intel.com>
author Keir Fraser <keir.fraser@citrix.com>
date Tue Jan 22 09:48:51 2008 +0000 (2008-01-22)
parents
children
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/list.h>
25 #include <asm/iommu.h>
27 #define VTDPREFIX "[VT-D]"
29 #define DMAR_OPERATION_TIMEOUT (HZ*60) /* 1m */
30 #define time_after(a,b) \
31 (typecheck(unsigned long, a) && \
32 typecheck(unsigned long, b) && \
33 ((long)(b) - (long)(a) < 0))
35 struct IO_APIC_route_remap_entry {
36 union {
37 u64 val;
38 struct {
39 u64 vector:8,
40 delivery_mode:3,
41 index_15:1,
42 delivery_status:1,
43 polarity:1,
44 irr:1,
45 trigger:1,
46 mask:1,
47 reserved:31,
48 format:1,
49 index_0_14:15;
50 };
51 };
52 };
54 #endif // _VTD_H_