diff options
author | Joerg Roedel <joerg.roedel@amd.com> | 2008-06-26 15:27:53 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-06-27 04:12:14 -0400 |
commit | b6c02715cff8c96174022166bfa3e1a25436fb34 (patch) | |
tree | 5e378fa61a68ec70df9b53b930bae38185e0f473 | |
parent | 918ad6c54d107ccfc4ccaa3a54b97437467fb58a (diff) |
x86, AMD IOMMU: add generic defines and structures for mapping code
This patch adds generic stuff used by the mapping and unmapping code for the
AMD IOMMU.
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Cc: iommu@lists.linux-foundation.org
Cc: bhavna.sarathy@amd.com
Cc: Sebastian.Biemueller@amd.com
Cc: robert.richter@amd.com
Cc: joro@8bytes.org
Signed-off-by: Ingo Molnar <mingo@elte.hu>
-rw-r--r-- | arch/x86/kernel/amd_iommu.c | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/arch/x86/kernel/amd_iommu.c b/arch/x86/kernel/amd_iommu.c new file mode 100644 index 000000000000..90392c7b253b --- /dev/null +++ b/arch/x86/kernel/amd_iommu.c | |||
@@ -0,0 +1,40 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2007-2008 Advanced Micro Devices, Inc. | ||
3 | * Author: Joerg Roedel <joerg.roedel@amd.com> | ||
4 | * Leo Duran <leo.duran@amd.com> | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify it | ||
7 | * under the terms of the GNU General Public License version 2 as published | ||
8 | * by the Free Software Foundation. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, | ||
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
13 | * GNU General Public License for more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public License | ||
16 | * along with this program; if not, write to the Free Software | ||
17 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
18 | */ | ||
19 | |||
20 | #include <linux/pci.h> | ||
21 | #include <linux/gfp.h> | ||
22 | #include <linux/bitops.h> | ||
23 | #include <linux/scatterlist.h> | ||
24 | #include <linux/iommu-helper.h> | ||
25 | #include <asm/proto.h> | ||
26 | #include <asm/gart.h> | ||
27 | #include <asm/amd_iommu_types.h> | ||
28 | |||
29 | #define CMD_SET_TYPE(cmd, t) ((cmd)->data[1] |= ((t) << 28)) | ||
30 | |||
31 | #define to_pages(addr, size) \ | ||
32 | (round_up(((addr) & ~PAGE_MASK) + (size), PAGE_SIZE) >> PAGE_SHIFT) | ||
33 | |||
34 | static DEFINE_RWLOCK(amd_iommu_devtable_lock); | ||
35 | |||
36 | struct command { | ||
37 | u32 data[4]; | ||
38 | }; | ||
39 | |||
40 | |||