Re: [PATCH 4/5] x86: add executable mapping support to ioremap

From: Thomas Gleixner
Date: Thu Jan 31 2008 - 08:01:24 EST


On Thu, 31 Jan 2008, Huang, Ying wrote:

> This patch makes ioremap() can be used to map pages as executable,
> this is needed by EFI support.

> +extern void __iomem *__ioremap(unsigned long phys_addr, unsigned long size,
> + enum ioremap_mode mode,
> + enum ioremap_xmode xmode);
> +

Why do you want to add a new API?

addr = ioremap(phys_addr, len);
set_memory_x(addr);

should do what you want already. I think Arjan was not very clear in
his reply yesterday.

We tried to avoid the intermingling of ioremap and the page attribute
settings. We just kept the cached/uncached part.

Now thinking about it further, we should probably fully decouple the
mapping and the attribute change and remove the enum argument from
__ioremap and change the implementations of ioremap_cached and
ioremap_uncached to do the attribute setting after the remap.

That way ioremap_chached and ioremap_uncached just would become what
they should be: conveniance functions for the developers.

Thanks,
tglx
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/