ia64/xen-unstable

annotate 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
rev   line source
keir@16830 1 /*
keir@16830 2 * Copyright (c) 2006, Intel Corporation.
keir@16830 3 *
keir@16830 4 * This program is free software; you can redistribute it and/or modify it
keir@16830 5 * under the terms and conditions of the GNU General Public License,
keir@16830 6 * version 2, as published by the Free Software Foundation.
keir@16830 7 *
keir@16830 8 * This program is distributed in the hope it will be useful, but WITHOUT
keir@16830 9 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
keir@16830 10 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
keir@16830 11 * more details.
keir@16830 12 *
keir@16830 13 * You should have received a copy of the GNU General Public License along with
keir@16830 14 * this program; if not, write to the Free Software Foundation, Inc., 59 Temple
keir@16830 15 * Place - Suite 330, Boston, MA 02111-1307 USA.
keir@16830 16 *
keir@16830 17 * Copyright (C) Allen Kay <allen.m.kay@intel.com>
keir@16830 18 * Copyright (C) Weidong Han <weidong.han@intel.com>
keir@16830 19 */
keir@16830 20
keir@16830 21 #ifndef _VTD_H_
keir@16830 22 #define _VTD_H_
keir@16830 23
keir@16830 24 #include <xen/list.h>
keir@16830 25 #include <asm/iommu.h>
keir@16830 26
keir@16830 27 #define VTDPREFIX "[VT-D]"
keir@16830 28
keir@16830 29 #define DMAR_OPERATION_TIMEOUT (HZ*60) /* 1m */
keir@16830 30 #define time_after(a,b) \
keir@16830 31 (typecheck(unsigned long, a) && \
keir@16830 32 typecheck(unsigned long, b) && \
keir@16830 33 ((long)(b) - (long)(a) < 0))
keir@16830 34
keir@16830 35 struct IO_APIC_route_remap_entry {
keir@16830 36 union {
keir@16830 37 u64 val;
keir@16830 38 struct {
keir@16830 39 u64 vector:8,
keir@16830 40 delivery_mode:3,
keir@16830 41 index_15:1,
keir@16830 42 delivery_status:1,
keir@16830 43 polarity:1,
keir@16830 44 irr:1,
keir@16830 45 trigger:1,
keir@16830 46 mask:1,
keir@16830 47 reserved:31,
keir@16830 48 format:1,
keir@16830 49 index_0_14:15;
keir@16830 50 };
keir@16830 51 };
keir@16830 52 };
keir@16830 53
keir@16830 54 #endif // _VTD_H_