* [PATCH 1/5] omap iommu: Reject unaligned physical address at setting page table entry
@ 2010-05-07 6:56 Hiroshi DOYU
2010-05-07 6:56 ` [PATCH 2/5] omap iommu: Fix superpage unalignment at allocation of iovm areas Hiroshi DOYU
` (4 more replies)
0 siblings, 5 replies; 7+ messages in thread
From: Hiroshi DOYU @ 2010-05-07 6:56 UTC (permalink / raw)
To: linux-omap
Cc: h-kanigeri2, vimarsh.zutshi, Sakari.Ailus, david.cohen,
Hiroshi DOYU
From: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
This rejects unaligned physical address at setting page table entry
and informs error to caller. Otherwise, a wrong address may be used by
IO device.
Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
---
arch/arm/plat-omap/iommu.c | 18 ++++++++++++++++++
1 files changed, 18 insertions(+), 0 deletions(-)
diff --git a/arch/arm/plat-omap/iommu.c b/arch/arm/plat-omap/iommu.c
index 0e13766..b3591ee 100644
--- a/arch/arm/plat-omap/iommu.c
+++ b/arch/arm/plat-omap/iommu.c
@@ -503,6 +503,12 @@ static int iopgd_alloc_section(struct iommu *obj, u32 da, u32 pa, u32 prot)
{
u32 *iopgd = iopgd_offset(obj, da);
+ if (pa & ~IOSECTION_MASK) {
+ dev_err(obj->dev, "%s: pa:%08x should aligned on %08lx\n",
+ __func__, pa, IOSECTION_SIZE);
+ return -EINVAL;
+ }
+
*iopgd = (pa & IOSECTION_MASK) | prot | IOPGD_SECTION;
flush_iopgd_range(iopgd, iopgd);
return 0;
@@ -513,6 +519,12 @@ static int iopgd_alloc_super(struct iommu *obj, u32 da, u32 pa, u32 prot)
u32 *iopgd = iopgd_offset(obj, da);
int i;
+ if (pa & ~IOSUPER_MASK) {
+ dev_err(obj->dev, "%s: pa:%08x should aligned on %08lx\n",
+ __func__, pa, IOSUPER_SIZE);
+ return -EINVAL;
+ }
+
for (i = 0; i < 16; i++)
*(iopgd + i) = (pa & IOSUPER_MASK) | prot | IOPGD_SUPER;
flush_iopgd_range(iopgd, iopgd + 15);
@@ -542,6 +554,12 @@ static int iopte_alloc_large(struct iommu *obj, u32 da, u32 pa, u32 prot)
u32 *iopte = iopte_alloc(obj, iopgd, da);
int i;
+ if (pa & ~IOLARGE_MASK) {
+ dev_err(obj->dev, "%s: pa:%08x should aligned on %08lx\n",
+ __func__, pa, IOLARGE_SIZE);
+ return -EINVAL;
+ }
+
if (IS_ERR(iopte))
return PTR_ERR(iopte);
--
1.7.1.rc1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 2/5] omap iommu: Fix superpage unalignment at allocation of iovm areas
2010-05-07 6:56 [PATCH 1/5] omap iommu: Reject unaligned physical address at setting page table entry Hiroshi DOYU
@ 2010-05-07 6:56 ` Hiroshi DOYU
2010-05-07 7:19 ` Felipe Contreras
2010-05-07 6:56 ` [PATCH 3/5] omap iommu: Make CONFIG_OMAP_IOMMU_DEBUG selectable Hiroshi DOYU
` (3 subsequent siblings)
4 siblings, 1 reply; 7+ messages in thread
From: Hiroshi DOYU @ 2010-05-07 6:56 UTC (permalink / raw)
To: linux-omap
Cc: h-kanigeri2, vimarsh.zutshi, Sakari.Ailus, david.cohen,
Hiroshi DOYU
From: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
Superpage addresses should be aligned on mapping size of 4KB, 64KB,
1MB and 16MB respectively both for physical and device virtual
addresses.
Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
---
arch/arm/plat-omap/iovmm.c | 122 +++++++++++++++++++++++++------------------
1 files changed, 71 insertions(+), 51 deletions(-)
diff --git a/arch/arm/plat-omap/iovmm.c b/arch/arm/plat-omap/iovmm.c
index 65c6d1f..111fbca 100644
--- a/arch/arm/plat-omap/iovmm.c
+++ b/arch/arm/plat-omap/iovmm.c
@@ -1,7 +1,7 @@
/*
* omap iommu: simple virtual address space management
*
- * Copyright (C) 2008-2009 Nokia Corporation
+ * Copyright (C) 2008-2010 Nokia Corporation
*
* Written by Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
*
@@ -87,33 +87,6 @@ static size_t sgtable_len(const struct sg_table *sgt)
}
#define sgtable_ok(x) (!!sgtable_len(x))
-/*
- * calculate the optimal number sg elements from total bytes based on
- * iommu superpages
- */
-static unsigned int sgtable_nents(size_t bytes)
-{
- int i;
- unsigned int nr_entries;
- const unsigned long pagesize[] = { SZ_16M, SZ_1M, SZ_64K, SZ_4K, };
-
- if (!IS_ALIGNED(bytes, PAGE_SIZE)) {
- pr_err("%s: wrong size %08x\n", __func__, bytes);
- return 0;
- }
-
- nr_entries = 0;
- for (i = 0; i < ARRAY_SIZE(pagesize); i++) {
- if (bytes >= pagesize[i]) {
- nr_entries += (bytes / pagesize[i]);
- bytes %= pagesize[i];
- }
- }
- BUG_ON(bytes);
-
- return nr_entries;
-}
-
/* allocate and initialize sg_table header(a kind of 'superblock') */
static struct sg_table *sgtable_alloc(const size_t bytes, u32 flags)
{
@@ -127,13 +100,8 @@ static struct sg_table *sgtable_alloc(const size_t bytes, u32 flags)
if (!IS_ALIGNED(bytes, PAGE_SIZE))
return ERR_PTR(-EINVAL);
- /* FIXME: IOVMF_DA_FIXED should support 'superpages' */
- if ((flags & IOVMF_LINEAR) && (flags & IOVMF_DA_ANON)) {
- nr_entries = sgtable_nents(bytes);
- if (!nr_entries)
- return ERR_PTR(-EINVAL);
- } else
- nr_entries = bytes / PAGE_SIZE;
+ /* FIXME: Maximam number of entries are always prepared. */
+ nr_entries = bytes / PAGE_SIZE;
sgt = kzalloc(sizeof(*sgt), GFP_KERNEL);
if (!sgt)
@@ -270,7 +238,7 @@ static struct iovm_struct *alloc_iovm_area(struct iommu *obj, u32 da,
start = da;
alignement = PAGE_SIZE;
- if (flags & IOVMF_DA_ANON) {
+ if ((da == 0) && (flags & IOVMF_DA_ANON)) {
/*
* Reserve the first page for NULL
*/
@@ -404,29 +372,80 @@ static inline void sgtable_drain_vmalloc(struct sg_table *sgt)
BUG_ON(!sgt);
}
-static void sgtable_fill_kmalloc(struct sg_table *sgt, u32 pa, size_t len)
+static u32 __alloc_area_by_size(u32 start, u32 end, size_t unit,
+ struct scatterlist **_sg)
{
- unsigned int i;
+ u32 e;
struct scatterlist *sg;
- void *va;
- va = phys_to_virt(pa);
+ sg = *_sg;
+ while ((e = start + unit) <= end) {
- for_each_sg(sgt->sgl, sg, sgt->nents, i) {
- size_t bytes;
+ pr_debug("%s: %08x %8d KB\n",
+ __func__, start, (e - start) / SZ_1K);
- bytes = iopgsz_max(len);
+ sg_set_buf(sg++, (const void *)start, unit);
+ start += unit;
+ }
+ *_sg = sg;
- BUG_ON(!iopgsz_ok(bytes));
+ return start;
+}
- sg_set_buf(sg, phys_to_virt(pa), bytes);
- /*
- * 'pa' is cotinuous(linear).
- */
- pa += bytes;
- len -= bytes;
+static void alloc_area_by_size(u32 start, u32 end, u32 unit,
+ struct scatterlist **_sg)
+{
+ u32 addr;
+
+ if (unit == 0)
+ return;
+
+ if (start == end)
+ return;
+
+ addr = ALIGN(start, unit);
+ if (addr > end) {
+ /* retry with smaller granularity */
+ alloc_area_by_size(start, end, iopgsz_max(unit - 1), _sg);
+ return;
+ }
+ /* lower chuck with smaller granularity */
+ alloc_area_by_size(start, addr, iopgsz_max(unit - 1), _sg);
+
+ addr = __alloc_area_by_size(addr, end, unit, _sg);
+ if (addr < end)
+ /* higher chuck with smaller granularity */
+ alloc_area_by_size(addr, end, iopgsz_max(unit - 1), _sg);
+}
+
+#ifdef DEBUG
+static void sgtable_dump_entries(struct sg_table *sgt)
+{
+ unsigned int i;
+ struct scatterlist *sg;
+
+ for_each_sg(sgt->sgl, sg, sgt->nents, i) {
+ pr_debug("%s: %3d %p %6d KB\n",
+ __func__, i, sg_virt(sg), sg_dma_len(sg) / SZ_1K);
}
- BUG_ON(len);
+}
+#else
+static inline void sgtable_dump_entries(struct sg_table *sgt) { }
+#endif
+
+static void sgtable_fill_kmalloc(struct sg_table *sgt, u32 pa, size_t len)
+{
+ struct scatterlist *sg;
+ u32 va;
+
+ sg = sgt->sgl;
+ va = (u32)phys_to_virt(pa);
+
+ alloc_area_by_size(va, va + len, SZ_16M, &sg);
+ /* update actual nents */
+ sgt->nents = sg - sgt->sgl;
+
+ sgtable_dump_entries(sgt);
}
static inline void sgtable_drain_kmalloc(struct sg_table *sgt)
@@ -571,6 +590,7 @@ static u32 map_iommu_region(struct iommu *obj, u32 da,
mutex_lock(&obj->mmap_lock);
+ da = da ? da : sg_phys(sgt->sgl) & ~(SZ_64K - 1);
new = alloc_iovm_area(obj, da, bytes, flags);
if (IS_ERR(new)) {
err = PTR_ERR(new);
--
1.7.1.rc1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 3/5] omap iommu: Make CONFIG_OMAP_IOMMU_DEBUG selectable
2010-05-07 6:56 [PATCH 1/5] omap iommu: Reject unaligned physical address at setting page table entry Hiroshi DOYU
2010-05-07 6:56 ` [PATCH 2/5] omap iommu: Fix superpage unalignment at allocation of iovm areas Hiroshi DOYU
@ 2010-05-07 6:56 ` Hiroshi DOYU
2010-05-07 6:56 ` [PATCH 4/5] omap iommu: Insert a gap page between IOVMAs against override Hiroshi DOYU
` (2 subsequent siblings)
4 siblings, 0 replies; 7+ messages in thread
From: Hiroshi DOYU @ 2010-05-07 6:56 UTC (permalink / raw)
To: linux-omap
Cc: h-kanigeri2, vimarsh.zutshi, Sakari.Ailus, david.cohen,
Hiroshi DOYU
From: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
This CONFIG_OMAP_IOMMU_DEBUG option cannot be selected because it's
not visible on menu. Put this option in "Kernel hacking" menu to make
this selectable.
Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
---
arch/arm/Kconfig.debug | 8 ++++++++
arch/arm/plat-omap/Kconfig | 4 ----
2 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug
index 91344af..43034c2 100644
--- a/arch/arm/Kconfig.debug
+++ b/arch/arm/Kconfig.debug
@@ -128,4 +128,12 @@ config DEBUG_S3C_UART
The uncompressor code port configuration is now handled
by CONFIG_S3C_LOWLEVEL_UART_PORT.
+config OMAP_IOMMU_DEBUG
+ tristate "Export OMAP IOMMU internals in DebugFS"
+ depends on OMAP_IOMMU && DEBUG_FS
+ help
+ Select this to see extensive information about
+ the internal state of OMAP IOMMU in debugfs.
+
+ Say N unless you know you need this.
endmenu
diff --git a/arch/arm/plat-omap/Kconfig b/arch/arm/plat-omap/Kconfig
index 6da796e..28069ba 100644
--- a/arch/arm/plat-omap/Kconfig
+++ b/arch/arm/plat-omap/Kconfig
@@ -109,10 +109,6 @@ config OMAP_MBOX_FWK
config OMAP_IOMMU
tristate
-config OMAP_IOMMU_DEBUG
- depends on OMAP_IOMMU
- tristate
-
choice
prompt "System timer"
default OMAP_MPU_TIMER
--
1.7.1.rc1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 4/5] omap iommu: Insert a gap page between IOVMAs against override
2010-05-07 6:56 [PATCH 1/5] omap iommu: Reject unaligned physical address at setting page table entry Hiroshi DOYU
2010-05-07 6:56 ` [PATCH 2/5] omap iommu: Fix superpage unalignment at allocation of iovm areas Hiroshi DOYU
2010-05-07 6:56 ` [PATCH 3/5] omap iommu: Make CONFIG_OMAP_IOMMU_DEBUG selectable Hiroshi DOYU
@ 2010-05-07 6:56 ` Hiroshi DOYU
2010-05-07 6:56 ` [PATCH 5/5] omap iommu: Exit iteration if no possibility of available area Hiroshi DOYU
2010-05-07 11:45 ` [PATCH 1/5] omap iommu: Reject unaligned physical address at setting page table entry Kanigeri, Hari
4 siblings, 0 replies; 7+ messages in thread
From: Hiroshi DOYU @ 2010-05-07 6:56 UTC (permalink / raw)
To: linux-omap
Cc: h-kanigeri2, vimarsh.zutshi, Sakari.Ailus, david.cohen,
Hiroshi DOYU
From: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
Inserting a gap page between IOVMAs could detect an override on other
IOVMA with iommu fault. This was originally suggested by Sakari Ailus
and based on the work and comment by David Cohen.
CC: David Cohen <david.cohen@nokia.com>
CC: Sakari Ailus <Sakari.Ailus@nokia.com>
Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
---
arch/arm/plat-omap/iovmm.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/arch/arm/plat-omap/iovmm.c b/arch/arm/plat-omap/iovmm.c
index 111fbca..b280766 100644
--- a/arch/arm/plat-omap/iovmm.c
+++ b/arch/arm/plat-omap/iovmm.c
@@ -255,16 +255,16 @@ static struct iovm_struct *alloc_iovm_area(struct iommu *obj, u32 da,
prev_end = 0;
list_for_each_entry(tmp, &obj->mmap, list) {
- if ((prev_end <= start) && (start + bytes < tmp->da_start))
+ if ((prev_end < start) && (start + bytes < tmp->da_start))
goto found;
if (flags & IOVMF_DA_ANON)
- start = roundup(tmp->da_end, alignement);
+ start = roundup(tmp->da_end + 1, alignement);
prev_end = tmp->da_end;
}
- if ((start >= prev_end) && (ULONG_MAX - start >= bytes))
+ if ((start > prev_end) && (ULONG_MAX - start >= bytes))
goto found;
dev_dbg(obj->dev, "%s: no space to fit %08x(%x) flags: %08x\n",
--
1.7.1.rc1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 5/5] omap iommu: Exit iteration if no possibility of available area
2010-05-07 6:56 [PATCH 1/5] omap iommu: Reject unaligned physical address at setting page table entry Hiroshi DOYU
` (2 preceding siblings ...)
2010-05-07 6:56 ` [PATCH 4/5] omap iommu: Insert a gap page between IOVMAs against override Hiroshi DOYU
@ 2010-05-07 6:56 ` Hiroshi DOYU
2010-05-07 11:45 ` [PATCH 1/5] omap iommu: Reject unaligned physical address at setting page table entry Kanigeri, Hari
4 siblings, 0 replies; 7+ messages in thread
From: Hiroshi DOYU @ 2010-05-07 6:56 UTC (permalink / raw)
To: linux-omap
Cc: h-kanigeri2, vimarsh.zutshi, Sakari.Ailus, david.cohen,
Hiroshi DOYU
From: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
Searching avaialable spaces should be stopped as soon as it turns out
that there's no possibility with the rest of it.
Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
---
arch/arm/plat-omap/iovmm.c | 5 ++++-
1 files changed, 4 insertions(+), 1 deletions(-)
diff --git a/arch/arm/plat-omap/iovmm.c b/arch/arm/plat-omap/iovmm.c
index b280766..feeb3f4 100644
--- a/arch/arm/plat-omap/iovmm.c
+++ b/arch/arm/plat-omap/iovmm.c
@@ -255,7 +255,10 @@ static struct iovm_struct *alloc_iovm_area(struct iommu *obj, u32 da,
prev_end = 0;
list_for_each_entry(tmp, &obj->mmap, list) {
- if ((prev_end < start) && (start + bytes < tmp->da_start))
+ if (prev_end >= start)
+ break;
+
+ if (start + bytes < tmp->da_start)
goto found;
if (flags & IOVMF_DA_ANON)
--
1.7.1.rc1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 2/5] omap iommu: Fix superpage unalignment at allocation of iovm areas
2010-05-07 6:56 ` [PATCH 2/5] omap iommu: Fix superpage unalignment at allocation of iovm areas Hiroshi DOYU
@ 2010-05-07 7:19 ` Felipe Contreras
0 siblings, 0 replies; 7+ messages in thread
From: Felipe Contreras @ 2010-05-07 7:19 UTC (permalink / raw)
To: Hiroshi DOYU
Cc: linux-omap, h-kanigeri2, vimarsh.zutshi, Sakari.Ailus,
david.cohen
On Fri, May 7, 2010 at 9:56 AM, Hiroshi DOYU <Hiroshi.DOYU@nokia.com> wrote:
> From: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
>
> Superpage addresses should be aligned on mapping size of 4KB, 64KB,
> 1MB and 16MB respectively both for physical and device virtual
> addresses.
>
> Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
> ---
> arch/arm/plat-omap/iovmm.c | 122 +++++++++++++++++++++++++------------------
> 1 files changed, 71 insertions(+), 51 deletions(-)
> @@ -127,13 +100,8 @@ static struct sg_table *sgtable_alloc(const size_t bytes, u32 flags)
> if (!IS_ALIGNED(bytes, PAGE_SIZE))
> return ERR_PTR(-EINVAL);
>
> - /* FIXME: IOVMF_DA_FIXED should support 'superpages' */
> - if ((flags & IOVMF_LINEAR) && (flags & IOVMF_DA_ANON)) {
> - nr_entries = sgtable_nents(bytes);
> - if (!nr_entries)
> - return ERR_PTR(-EINVAL);
> - } else
> - nr_entries = bytes / PAGE_SIZE;
> + /* FIXME: Maximam number of entries are always prepared. */
Typo: maximum.
> +static void alloc_area_by_size(u32 start, u32 end, u32 unit,
> + struct scatterlist **_sg)
> +{
> + u32 addr;
> +
> + if (unit == 0)
> + return;
> +
> + if (start == end)
> + return;
> +
> + addr = ALIGN(start, unit);
> + if (addr > end) {
> + /* retry with smaller granularity */
> + alloc_area_by_size(start, end, iopgsz_max(unit - 1), _sg);
> + return;
> + }
> + /* lower chuck with smaller granularity */
Typo: chunk (I guess).
> + alloc_area_by_size(start, addr, iopgsz_max(unit - 1), _sg);
> +
> + addr = __alloc_area_by_size(addr, end, unit, _sg);
> + if (addr < end)
> + /* higher chuck with smaller granularity */
Another typo?
--
Felipe Contreras
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 7+ messages in thread
* RE: [PATCH 1/5] omap iommu: Reject unaligned physical address at setting page table entry
2010-05-07 6:56 [PATCH 1/5] omap iommu: Reject unaligned physical address at setting page table entry Hiroshi DOYU
` (3 preceding siblings ...)
2010-05-07 6:56 ` [PATCH 5/5] omap iommu: Exit iteration if no possibility of available area Hiroshi DOYU
@ 2010-05-07 11:45 ` Kanigeri, Hari
4 siblings, 0 replies; 7+ messages in thread
From: Kanigeri, Hari @ 2010-05-07 11:45 UTC (permalink / raw)
To: Hiroshi DOYU, linux-omap@vger.kernel.org
Cc: vimarsh.zutshi@nokia.com, Sakari.Ailus@nokia.com,
david.cohen@nokia.com
Hiroshi,
> From: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
>
> This rejects unaligned physical address at setting page table
> entry and informs error to caller. Otherwise, a wrong address
> may be used by IO device.
>
> Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
> ---
> arch/arm/plat-omap/iommu.c | 18 ++++++++++++++++++
> 1 files changed, 18 insertions(+), 0 deletions(-)
>
> diff --git a/arch/arm/plat-omap/iommu.c
> b/arch/arm/plat-omap/iommu.c index 0e13766..b3591ee 100644
> --- a/arch/arm/plat-omap/iommu.c
> +++ b/arch/arm/plat-omap/iommu.c
> @@ -503,6 +503,12 @@ static int iopgd_alloc_section(struct
> iommu *obj, u32 da, u32 pa, u32 prot) {
> u32 *iopgd = iopgd_offset(obj, da);
>
> + if (pa & ~IOSECTION_MASK) {
> + dev_err(obj->dev, "%s: pa:%08x should aligned
> on %08lx\n",
> + __func__, pa, IOSECTION_SIZE);
> + return -EINVAL;
> + }
> +
-- I think the alignment check should be present even for da address. Same comment for below checks.
> *iopgd = (pa & IOSECTION_MASK) | prot | IOPGD_SECTION;
> flush_iopgd_range(iopgd, iopgd);
> return 0;
> @@ -513,6 +519,12 @@ static int iopgd_alloc_super(struct
> iommu *obj, u32 da, u32 pa, u32 prot)
> u32 *iopgd = iopgd_offset(obj, da);
> int i;
>
> + if (pa & ~IOSUPER_MASK) {
> + dev_err(obj->dev, "%s: pa:%08x should aligned
> on %08lx\n",
> + __func__, pa, IOSUPER_SIZE);
> + return -EINVAL;
> + }
> +
> for (i = 0; i < 16; i++)
> *(iopgd + i) = (pa & IOSUPER_MASK) | prot | IOPGD_SUPER;
> flush_iopgd_range(iopgd, iopgd + 15);
> @@ -542,6 +554,12 @@ static int iopte_alloc_large(struct
> iommu *obj, u32 da, u32 pa, u32 prot)
> u32 *iopte = iopte_alloc(obj, iopgd, da);
> int i;
>
> + if (pa & ~IOLARGE_MASK) {
> + dev_err(obj->dev, "%s: pa:%08x should aligned
> on %08lx\n",
> + __func__, pa, IOLARGE_SIZE);
> + return -EINVAL;
> + }
> +
> if (IS_ERR(iopte))
> return PTR_ERR(iopte);
>
> --
> 1.7.1.rc1
>
>
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2010-05-07 11:45 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-05-07 6:56 [PATCH 1/5] omap iommu: Reject unaligned physical address at setting page table entry Hiroshi DOYU
2010-05-07 6:56 ` [PATCH 2/5] omap iommu: Fix superpage unalignment at allocation of iovm areas Hiroshi DOYU
2010-05-07 7:19 ` Felipe Contreras
2010-05-07 6:56 ` [PATCH 3/5] omap iommu: Make CONFIG_OMAP_IOMMU_DEBUG selectable Hiroshi DOYU
2010-05-07 6:56 ` [PATCH 4/5] omap iommu: Insert a gap page between IOVMAs against override Hiroshi DOYU
2010-05-07 6:56 ` [PATCH 5/5] omap iommu: Exit iteration if no possibility of available area Hiroshi DOYU
2010-05-07 11:45 ` [PATCH 1/5] omap iommu: Reject unaligned physical address at setting page table entry Kanigeri, Hari
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).