2
* Copyright (c) 2006, Intel Corporation.
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.
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
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.
17
* Copyright (C) Allen Kay <allen.m.kay@intel.com>
20
#ifndef __XEN_HVM_IOMMU_H__
21
#define __XEN_HVM_IOMMU_H__
23
#include <xen/iommu.h>
26
struct list_head list;
33
struct list_head list;
39
u64 pgd_maddr; /* io page directory machine address */
40
spinlock_t mapping_lock; /* io page table lock */
41
int agaw; /* adjusted guest address width, 0 is level 2 30-bit */
42
struct list_head g2m_ioport_list; /* guest to machine ioport mapping */
43
u64 iommu_bitmap; /* bitmap of iommu(s) that the domain uses */
44
struct list_head mapped_rmrrs;
46
/* amd iommu support */
49
struct page_info *root_table;
52
const struct iommu_ops *platform_ops;
55
#endif /* __XEN_HVM_IOMMU_H__ */